이메일 #001 - #005
원본 출처: Satoshi - Sirius emails 2009-2011
이메일 #001
Date: Sat, 02 May 2009 18:06:58 +0100
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin
To: Martti Malmi <[email protected]>
한글 번역
ASC에 그 주제를 올려 주셔서 감사합니다. 비트코인에 대한 이해가 정확합니다. 상대방의 반응 중 일부는 꽤 원시적이었는데, 아무래도 그쪽은 법정화폐 반대에 너무 익숙해져서 금이 아니면 전부 부족하다고 느끼는 것 같습니다. 그들은 뭔가가 불에 탈 수 있다는 점은 인정하면서도, 불씨가 생길 일은 절대 없으니 타오르지도 않을 거라고 주장합니다. 현금으로 뒷받침되게 되면 생각이 달라질 수도 있겠지만, 시작할 준비가 더 갖춰질 때까지는 공개적으로 그 이야기를 더 꺼내지 않는 편이 좋겠습니다. 초보자들이 몰려들 것 같으니, 먼저 준비를 갖춰야 합니다.
지금 우리에게 가장 필요한 것은 웹사이트용 글입니다. 저는 글을 그다지 잘 쓰지 못합니다, 코딩이 훨씬 낫습니다. 지금 비어 있는 sourceforge에 웹사이트를 만들어 주실 수 있을까요. FAQ를 써 주신다면, 사실과 세부 내용, 아이디어 자료로 이메일과 포럼에서 질문에 답한 제 답변들을 모아서 드리겠습니다.
코드 쪽으로는 지금 당장 쉬운 일은 별로 없습니다. 필요한 것 중 하나는 Java, Python, PHP, ASP 같은 서버 측 스크립트 언어용 인터페이스입니다. 비트코인이 웹 서버에서 실행되고, 서버 측 스크립트가 그것을 호출해서 거래를 수행하는 방식입니다. Windows용이니 인터페이스는 아마 OLE/COM이 될 겁니다.
정말 도움이 되는 쉬운 일 하나는, 들어오는 연결을 받을 수 있는 노드를 실행하는 것입니다(방화벽에서 8333번 포트를 포워딩하세요). 새로 써 보려는 사용자가 연결할 상대가 있도록 하기 위해서입니다. 실행해 보고 연결이 하나도 없으면, 아마 그냥 포기해 버릴 겁니다.
Satoshi
Martti Malmi wrote:
Message body follows:
안녕하세요,
저는 anti-state.com 포럼의 Trickstern이며, 제가 할 수 있는 일이 있다면 비트코인을 돕고 싶습니다.
학교 수업으로 배운 Java와 C 언어에는 익숙합니다(CS를 전공하고 있습니다). 다만 개발 경험은 아직 그리 많지 않습니다. 그 바탕이면 C++ 요령도 꽤 쉽게 익힐 수 있을 것 같습니다. 테스트나 문서 작업도 할 수 있습니다.
감사합니다, Martti Malmi
-- This message has been sent to you, a registered SourceForge.net user, by another site user, through the SourceForge.net site. This message has been delivered to your SourceForge.net mail alias. You may reply to this message using the "Reply" feature of your email client, or using the messaging facility of SourceForge.net at: https://sourceforge.net/sendmessage.php?touser=2495503
영어 원문
Thanks for starting that topic on ASC, your understanding of bitcoin is
spot on. Some of their responses were rather Neanderthal, although I
guess they're so used to being anti-fiat-money that anything short of
gold isn't good enough. They concede that something is flammable, but
argue that it'll never burn because there'll never be a spark. Once
it's backed with cash, that might change, but I'd probably better
refrain from mentioning that in public anymore until we're closer to
ready to start. I think we'll get flooded with newbies and we need to
get ready first.
What we need most right now is website writing. My writing is not that
great, I'm a much better coder. Maybe you could create the website on
sourceforge, which is currently blank. If you can write a FAQ, I can
give you a compilation of my replies to questions in e-mail and forums
for facts and details and ideas.
Codewise, there's not much that's easy right now. One thing that's
needed is an interface for server side scripting languages such as Java,
Python, PHP, ASP, etc. Bitcoin would be running on the web server, and
server side script could call it to do transactions. It's Windows, so I
guess OLE/COM is the interface.
One easy thing that really helps is to run a node that can accept
incoming connections (forward port 8333 on your firewall) to make sure
that new users who try it out have someone to connect to. If they run
it and get no connections, they'll probably just give up.
Satoshi
Martti Malmi wrote:
> Message body follows:
>
> Hello,
>
> I'm Trickstern from the anti-state.com forum, and I would
> like to help with Bitcoin, if there's something I can do.
>
> I have a good touch on Java and C languages from school
> courses (I'm studying CS), but not so very much development
> experience yet. I think I could learn the C++ tricks quite
> easily on that basis. I could also do testing or
> documentation.
>
> Best regards,
> Martti Malmi
>
> --
> This message has been sent to you, a registered SourceForge.net user,
> by another site user, through the SourceForge.net site. This message
> has been delivered to your SourceForge.net mail alias. You may reply
> to this message using the "Reply" feature of your email client, or
> using the messaging facility of SourceForge.net at:
> https://sourceforge.net/sendmessage.php?touser=2495503
>
이메일 #002
Date: Sun, 03 May 2009 08:08:36 +0300
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin
한글 번역
알겠습니다, 웹사이트와 FAQ를 맡겠습니다. 지금 제가 생각나는 질문들부터 FAQ를 쓰기 시작하겠습니다.
프로그램에 대한 기능 제안을 하나 드립니다. 비밀번호로 보호되는 개인키를 만들어서 원하는 위치에 저장하는 UI 도구입니다. 코인에 대한 통제권을 잃지 않으려면 키의 백업이 필요하고, 두 대 이상의 컴퓨터에서 코인을 쓰기 위해서도 필요합니다. 키 파일을 우연히 주운 사람이 돈을 쓰기 어렵게 하려면 비밀번호 보호가 필요합니다.
Sourceforge 프로젝트 페이지에 버그/기능 추적기를 만들어 보면 어떨까요?
저는 PC가 켜져 있을 때는 항상 비트코인 노드를 실행하고 있는데, 사실상 24시간/7일에 가깝습니다. 비트코인은 훌륭한 프로젝트이고, 참여하게 되어 정말 즐겁습니다!
-Martti Malmi
Quoting Satoshi Nakamoto <[email protected]>:
ASC에 그 주제를 올려 주셔서 감사합니다. 비트코인에 대한 이해가 정확합니다. 상대방의 반응 중 일부는 꽤 원시적이었는데, 아무래도 그쪽은 법정화폐 반대에 너무 익숙해져서 금이 아니면 전부 부족하다고 느끼는 것 같습니다. 그들은 뭔가가 불에 탈 수 있다는 점은 인정하면서도, 불씨가 생길 일은 절대 없으니 타오르지도 않을 거라고 주장합니다. 현금으로 뒷받침되게 되면 생각이 달라질 수도 있겠지만, 시작할 준비가 더 갖춰질 때까지는 공개적으로 그 이야기를 더 꺼내지 않는 편이 좋겠습니다. 초보자들이 몰려들 것 같으니, 먼저 준비를 갖춰야 합니다.
지금 우리에게 가장 필요한 것은 웹사이트용 글입니다. 저는 글을 그다지 잘 쓰지 못합니다, 코딩이 훨씬 낫습니다. 지금 비어 있는 sourceforge에 웹사이트를 만들어 주실 수 있을까요. FAQ를 써 주신다면, 사실과 세부 내용, 아이디어 자료로 이메일과 포럼에서 질문에 답한 제 답변들을 모아서 드리겠습니다.
코드 쪽으로는 지금 당장 쉬운 일은 별로 없습니다. 필요한 것 중 하나는 Java, Python, PHP, ASP 같은 서버 측 스크립트 언어용 인터페이스입니다. 비트코인이 웹 서버에서 실행되고, 서버 측 스크립트가 그것을 호출해서 거래를 수행하는 방식입니다. Windows용이니 인터페이스는 아마 OLE/COM이 될 겁니다.
정말 도움이 되는 쉬운 일 하나는, 들어오는 연결을 받을 수 있는 노드를 실행하는 것입니다(방화벽에서 8333번 포트를 포워딩하세요). 새로 써 보려는 사용자가 연결할 상대가 있도록 하기 위해서입니다. 실행해 보고 연결이 하나도 없으면, 아마 그냥 포기해 버릴 겁니다.
Satoshi
Martti Malmi wrote:
Message body follows:
안녕하세요,
저는 anti-state.com 포럼의 Trickstern이며, 제가 할 수 있는 일이 있다면 비트코인을 돕고 싶습니다.
학교 수업으로 배운 Java와 C 언어에는 익숙합니다(CS를 전공하고 있습니다). 다만 개발 경험은 아직 그리 많지 않습니다. 그 바탕이면 C++ 요령도 꽤 쉽게 익힐 수 있을 것 같습니다. 테스트나 문서 작업도 할 수 있습니다.
감사합니다, Martti Malmi
-- This message has been sent to you, a registered SourceForge.net user, by another site user, through the SourceForge.net site. This message has been delivered to your SourceForge.net mail alias. You may reply to this message using the "Reply" feature of your email client, or using the messaging facility of SourceForge.net at: https://sourceforge.net/sendmessage.php?touser=2495503
영어 원문
All right, I can do the website and the FAQ. I'll start writing the
FAQ now with the questions that I can think of.
I have a feature suggestion for the program: a UI tool for creating
password protected private keys and saving them into a custom
location. Backups of the key will be needed to be safe from losing the
control of your coins, and for using the coins on more than one
computers. Password protection would be needed to make using your
money more difficult for someone who happens to find your key file.
Maybe a bug/feature tracker could be set up at the Sourceforge project page?
I'm running a bitcoin node always when my PC is powered on, which
means about 24/7. Bitcoin is a great project, and it's really cool to
participate!
-Martti Malmi
Quoting Satoshi Nakamoto <[email protected]>:
> Thanks for starting that topic on ASC, your understanding of bitcoin is
> spot on. Some of their responses were rather Neanderthal, although I
> guess they're so used to being anti-fiat-money that anything short of
> gold isn't good enough. They concede that something is flammable, but
> argue that it'll never burn because there'll never be a spark. Once
> it's backed with cash, that might change, but I'd probably better
> refrain from mentioning that in public anymore until we're closer to
> ready to start. I think we'll get flooded with newbies and we need to
> get ready first.
>
> What we need most right now is website writing. My writing is not that
> great, I'm a much better coder. Maybe you could create the website on
> sourceforge, which is currently blank. If you can write a FAQ, I can
> give you a compilation of my replies to questions in e-mail and forums
> for facts and details and ideas.
>
> Codewise, there's not much that's easy right now. One thing that's
> needed is an interface for server side scripting languages such as
> Java, Python, PHP, ASP, etc. Bitcoin would be running on the web
> server, and server side script could call it to do transactions. It's
> Windows, so I guess OLE/COM is the interface.
>
> One easy thing that really helps is to run a node that can accept
> incoming connections (forward port 8333 on your firewall) to make sure
> that new users who try it out have someone to connect to. If they run
> it and get no connections, they'll probably just give up.
>
> Satoshi
>
>
> Martti Malmi wrote:
>> Message body follows:
>>
>> Hello,
>>
>> I'm Trickstern from the anti-state.com forum, and I would like to
>> help with Bitcoin, if there's something I can do.
>>
>> I have a good touch on Java and C languages from school courses
>> (I'm studying CS), but not so very much development experience yet.
>> I think I could learn the C++ tricks quite easily on that basis. I
>> could also do testing or documentation.
>>
>> Best regards,
>> Martti Malmi
>>
>> --
>> This message has been sent to you, a registered SourceForge.net user,
>> by another site user, through the SourceForge.net site. This message
>> has been delivered to your SourceForge.net mail alias. You may reply
>> to this message using the "Reply" feature of your email client, or
>> using the messaging facility of SourceForge.net at:
>> https://sourceforge.net/sendmessage.php?touser=2495503
>>
이메일 #003
Date: Sun, 03 May 2009 23:32:26 +0100
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin
To: [email protected]
한글 번역
[email protected]가 썼습니다:
알겠습니다. 웹사이트와 FAQ를 맡겠습니다. 지금 제가 생각나는 질문들로 FAQ를 쓰기 시작하겠습니다.
정말 고맙습니다! sourceforge 프로젝트에 개발자로 당신(dmp1ce)을 추가했고, 웹 공간 등 모든 것을 편집할 권한을 드렸습니다.
프로그램에 대한 기능 제안을 하나 드립니다. 비밀번호로 보호되는 개인키를 만들고 원하는 위치에 저장하는 UI 도구입니다. 그 키 백업은 코인에 대한 통제권을 잃지 않기 위해 필요하고, 한 대가 넘는 컴퓨터에서 코인을 쓰기 위해서도 필요합니다. 키 파일을 우연히 주운 사람이 당신의 돈을 쓰기 어렵게 하려면 비밀번호 보호가 필요할 겁니다.
물론입니다. 일이 본격화되면 절대적으로 필수적인 기능이 될 겁니다. 강력한 암호화로 재산을 잠가 두고, 어떤 물리적 금고보다 안전하게 백업할 수 있게 됩니다. 지금까지는 비트코인에 가치가 생기기 전까지는 중요하지 않다고 보고 다른 기능을 우선하느라 미뤄 왔습니다.
다음에는 에스크로 기능을 작업할 계획입니다. 실제 물건을 거래할 때 더 안전하게 만드는 데 필요하고, 통화를 법정화폐로 뒷받침하기 시작하기 전에도 필요합니다.
저는 PC 전원이 켜져 있을 때는 항상 비트코인 노드를 실행하는데, 대략 24시간 내내라는 뜻입니다. 비트코인은 훌륭한 프로젝트이고, 참여하게 되어 정말 신납니다!
감사합니다! 지금 네트워크에는 들어오는 연결을 받을 수 없는 사람이 많아서, 받을 수 있는 노드 하나하나가 정말 도움이 됩니다. 노드가 많아지면 v0.1.6에서 그 발생 가능성을 낮추기 전까지는 "(not accepted)" 문제를 줄이는 데 도움이 됩니다.
FAQ 답변 중 하나는 방화벽에서 포트 8333을 포워딩해서 들어오는 연결을 받을 수 있게 설정하는 방법이어야 할 것 같습니다. 질문은 "연결이 0개면 어떻게 하나요" 같은 식으로 하고, 그 설정을 하지 않으면 연결할 수 있는 노드가 제한되기 때문일 수 있다는 답을 다는 것입니다.
포럼과 이메일에서 답변한 질문들을 모았습니다. 자주 묻는 질문이 무엇인지, 제가 써 온 답변이 어떤 것인지 파악하는 데 도움이 될 겁니다. 여기 있는 자료를 전부 또는 대부분 쓰려는 것이 아니라, 골라서 쓰시면 됩니다. 지금까지 답변한 것을 전부 털어놓은 것입니다.
쉽게 답할 수 없는 문제들은 꺼내지 않는 편이 좋습니다. 일반 사용자는 시스템이 설명대로 동작한다고 생각하고 만족하는 것 같습니다(실제로 그렇습니다). 설계 세부 사항에 들어가면 시스템을 깊이 이해하지 않고는 답할 수 없는 논쟁거리만 열리게 됩니다. 받았던 심화 질문들은 대부분 사람마다 달라서 개별적으로 답하는 편이 좋았습니다.
**** 질문과 답변 모음 ****
FAQ에 쓰는 질문은 아마 다시 표현해야 할 겁니다.
질문:
UI 하단에는 이렇게 나옵니다:
Generating 4 connections 4024 blocks 164 transactions
"generating"은 알겠고, 다른 4개 노드에 연결된 것으로 짐작합니다. 그리고 164개 거래를 기록했다(실패한 생성 시도 포함)는 것도 압니다. "blocks" 수치가 무엇을 뜻하는지 모르겠습니다. 제 거래 내역들에 표시된 모든 블록 수의 합보다 훨씬 작습니다.
그것은 블록 체인에 있는 블록의 총수, 즉 네트워크의 블록 체인을 뜻하며, 모두가 같은 사본을 가지고 있습니다. 모든 비트코인 노드가 같은 숫자를 표시하고, 누군가 블록을 생성할 때마다 약 10분마다 올라갑니다. 한동안 실행하지 않다가 연결되면, 그동안 생성된 것을 따라잡기 위해 다운로드하면서 빠르게 올라갑니다. 상태 표시줄에 들어갈 말로(1단어, 길어야 2단어) 어떻게 표현해야 할지 잘 모르겠는데, 아이디어가 있으신가요?
거래 내역 옆 상태란의 블록 수는 그 거래 뒤에 이어진 블록의 수입니다. 당신의 거래는 사실상 그만큼의 블록 안에 "들어 있는" 것입니다.
Satoshi
제 추측으로는, 그것은 전체 체인의 길이이고, 처음에 빠르게 올라가는 것은 소프트웨어가 체인 앞부분의 블록들을 다운로드하면서 유효한지 검증하기 때문인 것 같습니다.
맞습니다. 더 분명한 표현을 생각 중인데, 아마 "%d network blocks"나 "%d block chain" 같은 식이 될 것 같습니다.
평소와 달리 (block not-accepted) 실패가 이어지고 있어서 혹시 의미 있는 일인가 싶어 알려 드립니다.
not-accepted가 어느 정도 비율이었나요? 제 쪽에서는 특이한 것이 없었습니다. 이를테면 4번 연속을 넘었다면 비정상이고 아마 네트워크 통신이 끊긴 것일 겁니다. 흩어져 있고 25% 미만이면 그냥 무작위의 불운입니다. 어느 정도의 not-accepted가 무작위로 생기는 것은 정상이고 무해하며, 무작위성은 가끔 몰려서 패턴처럼 보이기도 합니다.
View/Hide 수락 안 된 블록 옵션과, 들어오는 거래를 더 쉽게 보려고 생성된 블록 전체를 View/Hide하는 옵션은 좋은 생각입니다. 수락 안 된 블록을 보는 것은 짜증스럽고 답답할 뿐입니다. 모두가 같은 비율로 수락 안 됨을 겪으며, 이는 과정의 일부일 뿐입니다. 아마 수락 안 된 블록은 기본적으로 숨기는 편이 좋겠습니다. 있지도 않았던 것을 줬다 뺏는 모습을 보여주지 않고, 최소 1번 확인을 받기 전까지는 새로 생성된 블록을 아예 보여주지 않는 것입니다. 그러면 생성된 블록이 있다는 것을 알게 되는 시점이 평소보다 15분 늦어질 뿐이고, 어차피 성숙까지는 아직 119블록이 남습니다. v0.1.6의 할 일 목록에 있습니다.
Satoshi
[참고: 0.1.6에서 이 문제를 어느 정도 줄이는 개선을 했고, 네트워크가 커지면 역시 나아질 겁니다]
이상하게도 당신에게서 받은 송금이, 당신을 주소록에 추가했는데도 "From: unknown"으로 표시됩니다.
거래 목록에 "Generated (not accepted)" 줄이 있는데, 코인 생성을 시도하다가 뭔가 잘못된 것 같습니다. 무슨 일이 있었는지 잘 모르겠습니다. 제 노드가 블록을 풀었는데 네트워크로 보내기 전에 오프라인이 된 것이겠지요?
비트코인 주소로 보낸 거래는 항상 "from: unknown"이라고 표시됩니다. 거래는 받는 사람이 누구인지만 알려줍니다. 비트코인 주소로 보내는 방식에는 여러 문제가 있지만, 상대가 온라인인지와 관계없이 누구에게든 보낼 수 있는 대체 수단이 있다는 점이 아주 좋습니다. 나중에 개선할 아이디어가 여러 가지 있습니다. 지금으로서는 현실 세계처럼 대다수 거래가 상점과 이뤄진다면, 상점들은 거의 항상 IP로 받도록 설정할 겁니다. P2P 파일 공유 네트워크도 상당수 사용자에게 방화벽에서 포트를 포워딩하도록 하는 데 꽤 성공한 것 같습니다.
간접 송금에 설명을 덧붙일 방법을 필사적으로 찾았지만, 방법이 없었습니다. 비트코인은 EC-DSA를 쓰는데, 서명이 RSA보다 한 자릿수 정도 작아서 오늘날 기술로 블록 체인을 충분히 작게 유지하는 데 필수적이었습니다. 하지만 EC-DSA는 RSA처럼 메시지를 암호화할 수 없고 서명 검증에만 쓸 수 있습니다.
"Generated (not accepted)"는 보통 두 노드가 거의 동시에 블록을 찾으면 그중 하나가 받아들여지지 않아서 생깁니다. 정상적이고 피할 수 없는 일입니다. v0.1.6에서는 숨길 계획입니다. 사용자에게 혼란스럽고 짜증스러울 뿐이고 굳이 볼 이유가 없습니다. 지금처럼 네트워크가 작을 때는 들어오는 연결을 받을 수 없으면 불리한데, 블록 소식을 직접 받기 어렵기 때문입니다.
...지금까지 "Generated" 메시지가 두 개 떴는데, 그 "Credit"란이 0.00이고 잔액도 변하지 않았습니다. 코인이 유효해지려면 일정 기간/성숙이 필요해서 그런가요?
맞습니다. 성숙하기 전까지 Credit란은 0.00으로 있다가, 그 뒤에 50.00이 됩니다. 참고로 한 줄을 더블클릭하면 세부 내용이 나옵니다.
...제가 제대로 이해했다면, 모든 거래가 해시되어 들어가는 단 하나(혹은 몇 개)의 전역 체인이 있습니다. 말하자면 경제의 이야기를 기록하는 체인이 하나뿐이라면 어떻게 확장합니까? 상상으로 전 지구에 보급되면 시간당 수백만, 수십억 건의 거래가 체인에 해시되어야 할 텐데요...
...유인책 부분을 이해하기 어려웠습니다. 특히 노드를 돌리는 이유가 새 코인 발행에서 거래 수수료 부과로 넘어가는 계기가 무엇인지 모르겠습니다(어차피 비트코인의 취지는 거래 비용을 없애는 것 아닌가요?). 아마 시스템을 맡은 사람이 있을 텐데요...
...v1의 발행 일정을 어떻게 정했나요? 2100만 코인은 어디서 나왔나요? 이 코인의 단위는 어떻게 되나요? 가치를 합치고 나누는 방법이 있다고 하셨는데 어떻게 동작하는지 모르겠습니다. 이를테면 비트코인은 항상 정수로 표시되나요, 아니면 소수 비트코인도 있나요?...
...정말 혁명적인 아이디어를 만나는 일은 드뭅니다. 새로운 화폐 구상에 이렇게 설렌 것은 Ripple을 발견했을 때가 마지막이었습니다. Ripple에 대한 생각이 있으시면 듣고 싶습니다.
전역 체인은 하나뿐입니다.
기존 Visa 신용카드 네트워크는 전 세계에서 하루에 약 1500만 건의 인터넷 구매를 처리합니다. 비트코인은 기존 하드웨어로도 그보다 훨씬 크게, 비용은 훨씬 적게 들여 확장할 수 있습니다. 규모의 한계에 실제로 부딪히지 않습니다. 관심이 있으시면 극단적인 규모에 어떻게 대응할지 설명해 드리겠습니다.
무어의 법칙으로 보면 5년 뒤 하드웨어 속도는 10배, 10년 뒤에는 100배가 됩니다. 비트코인이 미친 듯한 속도로 보급되더라도 컴퓨터 속도가 거래 수보다 앞서 있을 것 같습니다.
수수료가 당장 필요해질 것 같지는 않지만, 노드 운영 부담이 너무 커지면 거래 수수료가 포함된 거래만 처리하는 노드를 돌릴 수 있습니다. 노드 주인이 받아들일 최소 수수료를 정합니다. 지금은 아무도 수수료를 포함하지 않으니 그런 노드는 아무것도 못 벌겠지만, 그런 노드가 충분히 많아지면 수수료를 포함하면 더 빨리 승인되고, 안 포함하면 느려집니다. 시장이 정착시킬 수수료는 최소 수준이어야 합니다. 노드가 더 높은 수수료를 요구하면 더 낮은 수수료의 거래를 전부 놓치게 됩니다. 돈을 벌 수 있는 거래를 최대한 많이 처리하면 거래량이 늘고 아마 더 벌 수 있습니다. 전환을 시스템을 맡은 어떤 사람이 통제하는 것이 아니라, 개인들이 각자 시장 힘에 반응할 뿐입니다.
비트코인의 핵심 측면은 보호해야 할 가치와 네트워크 규모가 커질수록 네트워크 보안이 커진다는 점입니다. 단점은 처음에 작을 때는 취약하다는 점이지만, 훔칠 수 있는 가치는 훔치는 데 드는 노력보다 항상 작아야 합니다. 누군가 주장을 증명하려는 다른 동기로 공격한다면, 제가 이미 인정한 주장을 증명할 뿐입니다.
코인 수와 분배 일정 선택은 정보를 바탕으로 한 추측이었습니다. 어려운 선택이었습니다. 네트워크가 가동되면 고정되어 바꿀 수 없기 때문입니다. 기존 통화와 비슷한 가격대가 되도록 고르고 싶었지만, 미래를 모르고서는 매우 어렵습니다. 결국 중간쯤을 골랐습니다. 비트코인이 작은 틈새로 남으면 단위당 가치는 기존 통화보다 낮을 겁니다. 세계 상거래의 일부에 쓰인다고 상상하면 전 세계에 2100만 코인뿐이니 단위당 가치는 훨씬 높아질 겁니다. 값은 소수점 8자리의 64비트 정수이며, 내부적으로 1코인은 100000000으로 표시됩니다. 일반적인 가격이 작아져도 쓸 만큼 자릿수가 충분합니다. 이를테면 0.001이 1유로라면 소수점 표시 위치를 바꾸는 편이 쉬울 수 있습니다. 1비트코인을 가지고 있으면 이제 1000으로 표시되고, 0.001은 1로 표시되는 식입니다.
Ripple은 신뢰를 중앙 서버에 모으지 않고 다른 일을 한다는 점에서 유일해서 흥미롭습니다.
Satoshi
0.1%가 적당한 위험률이라고 가정하면 z=5이므로 어떤 거래든 체인에 굳어지기까지 1시간보다 조금 짧게 기다려야 합니다. 웹 콘텐츠나 가상 재화 같은 소액결제는 정의상 낮은 부담이 필요하니, 1시간 대기는 꽤 큰 걸림돌로 보입니다.
실제 위험은 0.1%에 구매자가 거대한 컴퓨터망을 가진 공격자일 확률을 곱한 것입니다.
소액결제는 즉시 받아도 안전합니다. 결제 규모가 훔치려는 노력에 비해 너무 작습니다. 소액결제는 거의 항상 지적 재산에 대한 것이어서 상점에 물리적 손실이 없습니다. 소액결제를 훔치려는 사람은 어차피 돈을 낼 손님이 아닐 가능성이 크고, 지적 재산을 훔치려 한다면 파일 공유망을 쓸 수 있습니다.
현재 기업들은 일정한 대손율을 감수합니다. 1번, 심지어 0번 확인된 블록의 위험도 검증된 신용카드 거래의 차지백 비율보다 훨씬 낮을 것 같습니다.
확인 블록을 기다리지 않는 상점을 노리는 통상적인 수법은 상점에게 결제한 뒤, 상점의 사본보다 먼저 이중지불 사본을 네트워크에 퍼뜨리려 재빨리 시도하는 것입니다. 상점이 할 수 있는 것은 자신의 거래를 방송한 뒤 네트워크에서 이중지불 사본이 있는지 감시하는 것입니다. 도둑은 감시 기간에 방송할 수 없습니다. 방송하면 상점 노드가 사본을 받기 때문입니다. 상점은 네트워크 노드 대다수가 자신의 버전을 가질 때까지 12분만 감시하면 됩니다. 그 뒤에는 도둑의 버전이 따라잡아 많은 노드에 닿기에는 너무 늦습니다. 12분 지연만으로 돈을 안 내고 빠져나갈 확률을 사기에 부적합할 만큼 낮출 수 있습니다. 도둑은 대개 공짜로 물건을 얻을 확률이 높아야 수지가 맞습니다. 논문에서 다룬 무차별 대입 공격에 많은 CPU 파워를 쓰는 것은 위 수법에 더해도 도둑의 성공 가능성을 별로 높이지 못합니다.
접근을 허가하는 것, 이를테면 다운로드에 시간이 걸리는 것, 웹사이트 접근, 웹 호스팅, 구독이나 서비스 같은 것은 거래가 거부되면 몇 분 뒤에 취소할 수 있습니다.
각 블록에 요구되는 난이도는 네트워크를 통해 어떻게 전달되고 합의됩니까?
전달되지 않습니다. 공식이 프로그램에 고정되어 있고 모든 노드가 같은 계산을 해서 다음 블록에 필요한 난이도를 압니다. 누군가 공식에서 벗어나면 그 블록은 다수가 받아들이지 않습니다.
코드는 free/open source인가요, 아니면 그냥 open source인가요?
자유 오픈소스입니다. MIT 라이선스이며, 소스 코드에 면책 문구를 유지해야 한다는 것 외에는 거의 원하는 대로 할 수 있습니다. 소스는 기본 다운로드에 포함되어 있습니다.
Satoshi
새 버전을 알 수 있는 방법이 있나요? 앱이 스스로 자동 업데이트하나요? 메일링 리스트 같은 것이 있으면 좋겠습니다.
리스트는 이렇습니다: [email protected] 가입/탈퇴 페이지: http://lists.sourceforge.net/mailman/listinfo/bitcoin-list 자료실: http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-list
새 버전은 항상 거기에 알리겠습니다. 자동 업데이트, 적어도 새 버전 알림은 확실히 목록에 있습니다.
[이 인플레이션 논의는 거래 수수료 방식과 2100만 코인 고정 계획이 올라오기 전의 것이라 지금은 그대로 적용되지 않을 수 있습니다]
(어차피 다른 용도로 쓰는 컴퓨터 파워 비용으로) 무료로 만들 수 있으니, 화폐로 만드는 것은 그냥 돈을 나눠주는 것입니다.
아직 난이도가 너무 쉬워서 사람들이 원하는 만큼 비트코인을 다 만들어낼 수 있다고 생각하고 계십니다.
컴퓨터를 24시간 내내 한 달 돌려서 1센트를 만든다고 상상해 보세요. 1년이면 12센트를 만들 수 있습니다. 이렇게 해서는 사람들이 쓰고 싶은 만큼 비트코인을 그냥 만들어낼 수 없습니다.
비트코인의 가치는 생산에 든 전기와 상대적일 겁니다. 모든 최신 CPU는 유휴 상태일 때 전기를 아낍니다. 계산 작업을 24시간 내내 쉬지 않고 돌리면 전기를 훨씬 더 쓰고, 열도 더 난다는 것을 알게 됩니다. 추가로 드는 전력량은 전기 요금으로 바로 나가고, 당신이 생산하는 비트코인의 가치는 그보다 작을 겁니다.
새 코인을 만들어 돈을 버는데 왜 그러겠습니까
아닙니다. 그렇게는 돈을 벌 수 없습니다. 비트코인을 팔아서 받는 돈보다 전기가 더 들 겁니다.
역사적으로 사람들은 희소한 상품을 화폐로 삼아 왔고, 필요하면 손에 있는 조개나 돌 같은 것을 가져다 썼습니다. 각각은 그 과정을 시작하게 한 작은 쓸모가 있지만, 화폐 가치는 기능적 가치 그 자체를 훨씬 넘게 됩니다. 가치의 대부분은 다른 사람들이 거기에 두는 가치에서 나옵니다. 이를테면 금은 예쁘고 부식되지 않으며 가공하기 쉽지만, 가치의 대부분은 분명 거기서 나오지 않습니다. 놋쇠도 반짝이고 색도 비슷합니다. 금의 대다수는 금고에 쓰이지 않은 채 쌓여 있고, 그 예쁨에는 관심도 없는 정부가 소유하고 있습니다.
지금까지 신뢰받는 제3자 없이 통신 채널로 거래할 수 있는 희소 상품은 없었습니다. 신뢰받는 제3자 없이 인터넷으로 거래할 수 있는 형태의 화폐를 받아들이고 싶은 바람이 있다면, 이제 가능합니다.
Satoshi
더 좋은 컴퓨터 하드웨어가 나올수록 무어의 법칙 주기마다 사용자당 자연 공급량이 두 배가 됩니다.
사실 그 점은 처리됩니다. 투입되는 총 노력을 보상하는 이동평균이 있어서 총 생산량이 일정합니다. 컴퓨터가 강력해지면 난이도가 올라가 보상합니다.
자연 인플레이션을 겪는 상품이 화폐로 쓰인 경제사는 기억나지 않습니다
하나로 금이 있습니다. 금 공급량은 한 해 약 2%-3% 늘어납니다. 어떤 법정화폐든 보통 평균 인플레이션이 그보다 높습니다.
컴퓨터가 빨라져서 작업증명 문제를 더 빨리 풀면 대규모 인플레이션이 생기지 않나요?
난이도는 투입되는 총 노력을 보상해서 총 생산량을 일정하게 유지하는 이동평균으로 조절됩니다. 컴퓨터가 강력해지면 난이도가 올라가 보상합니다.
누군가 이중지불을 하면 거래 기록을 벗겨서 사기꾼의 신원을 드러낼 수 있나요?
신원은 쓰지 않고, 구제에 의존하지 않습니다. 전부 예방입니다.
...말씀은 협조하지 않는 노드를 찾아내 제외하려는 노력이 없다는 건가요? 문제가 생기고 DOS 공격도 가능할 것 같습니다.
누구를 식별하는 데 의존하지 않습니다. 말씀하신 대로 헛되고, 가짜 계정으로 쉽게 무력화됩니다.
누군가를 진짜로 인정하는 자격은 CPU 파워를 댈 수 있는 능력입니다.
하지만 신원이 없으면, 지출이 무효가 되어도 이미 이중지불로 산 물건(웹사이트 접근, 다운로드, 기타)을 받았다면 손해가 없습니다. 상점만 무효가 된 코인을 쥔 채 남습니다. 상점은 그 마법의 "몇 블록"을 기다리지 않으면(몇 개인지 어떻게 알죠?) 지불한 것으로 취급하기 전에요.
소비자는 코인을 쓰고 1시간 동안 정산되기를 기다려야 원하는 것을 할 수 있다면 안 할 겁니다. 상점은 고객이 이중지불을 해서 코인이 무효라는 것을 알았을 때 고객에게 되청구할 방법이 없으면 안 할 겁니다.
이것은 대부분의 용도에는 꽤 만족스럽게 풀 수 있다고 보는 버전 2 문제입니다.
경쟁은 자신의 거래를 네트워크에 먼저 퍼뜨리는 것입니다. 6단계 확산을 생각해 보세요. 기하급수적으로 퍼집니다. 거래가 널리 퍼져서 늦게 시작한 경쟁자가 먼저 시작한 것을 따라잡아 많은 노드를 차지할 가능성이 거의 없어지기까지 2분 정도면 됩니다. 그 2분 동안 상점 노드들은 이중지불 거래가 있는지 지켜볼 수 있습니다. 이중지불자는 상점이 받지 않고는 자신의 대체 거래를 세상에 뿌릴 수 없으니, 시작하기 전에 기다려야 합니다.
진짜 거래가 90%에 닿고 이중지불 거래가 10%에 닿으면, 이중지불자는 돈을 안 낼 확률 10%, 자신의 돈이 쓰일 확률 90%를 얻습니다. 거의 모든 종류의 상품에서 사기꾼에게 수지가 맞지 않습니다.
웹사이트 접근이나 다운로드 같은 정보 기반 재화는 울타리를 칠 수 없습니다. 웹사이트 접근이나 다운로드를 훔쳐서 생계를 이어갈 사람은 없습니다. 훔치려면 파일 공유망에 가면 됩니다. 즉시 접근 상품 대부분은 훔칠 유인이 크지 않을 겁니다.
상점에 실제로 도난 문제가 있다면 고객을 2분 기다리게 하거나, 이메일로 오는 무언가를 기다리게 하면 됩니다. 이미 많은 곳이 그렇게 합니다. 정말 최적화하고 싶고 큰 다운로드라면, 거래가 이중지불로 돌아오면 중간에 다운로드를 끊을 수 있습니다. 웹사이트 접근이라면 보통 고객에게 5분 접근을 주고 거부되면 끊어도 큰 문제가 아닙니다. 그런 사이트 다수는 어차피 무료 체험이 있습니다.
Satoshi
[규모에 대한 질문에 대한 답변]
블록을 생성하는 노드 10만 개는 대규모 규모를 생각할 때 좋은 어림수입니다. 전체 네트워크에 거래를 두 번 전파하는 데 오늘날 가격으로 모두 US$ 0.02의 대역폭이 듭니다. 실제로는 다수가 할당된 대역폭 남는 분이나 저렴한 백본의 무제한 요금제를 쓰고 있을 겁니다. SPV 클라이언트는 수백만 개가 있을 수 있습니다. 중요한 것은 그들이 만드는 거래 수뿐입니다. 1~2센트 거래 수수료를 내면 제 몫을 냅니다. 원하는 만큼 얼마든지 선택해서 거래 수수료를 내도록 코드를 짰습니다. 유인 보조금이 결국 줄어들면, 노드가 신속히 처리하도록 시장이 정하는 거래 수수료를 거래에 붙여야 할 수 있습니다.
정말 큰 거래 부하가 어떤 모습일지 생각하려고 기존 신용카드망을 봅니다. 온라인 구매가 몇 건인지 추정치를 더 찾아봤습니다. 전 세계 인터넷 전자상거래 부하 전체가 하루 약 1500만 건입니다. 거래당 1KB라면 블록 생성 노드마다 하루 15GB 대역폭, DVD 영화 두 편 분량입니다. 오늘날 기술로도 해 볼 만해 보입니다.
중요한 점은, 비트코인이 닷컴 성장 속도로 퍼져도 전체 거래의 상당한 일부가 되기까지는 여러 해가 걸린다는 것입니다. 대규모를 감당할 만큼 하드웨어가 이미 최근에 충분히 강해졌다고 보지만, 의심이 있다면 필요해질 때쯤 대역폭 속도, 가격, 디스크 공간, 연산력이 훨씬 커져 있을 겁니다.
Satoshi
또 하나 질문이 있습니다... CPU 파워가 가장 센 단일 노드가 대다수 비트코인을 생성하고 보유하는 것을 막는 것은 무엇입니까? 모든 노드가 다른 노드와 독립적으로 일한다면, 하나가 다른 것들보다 훨씬 강력하면 그 노드가 먼저 정답에 닿을 가능성이 크지 않나요? 성능이 낮은 노드는 가끔 운이 좋을 수 있지만, 마력에서 큰 우위가 있다면 대다수 비트코인은 가장 강력한 노드가 생성할 것 같습니다.
두 배 빠른 차가 항상 이기는 경주 같은 것이 아닙니다. 1마이크로초도 안 걸리는 SHA-256이며, 각 추측은 독립적인 성공 확률을 가집니다. 각 컴퓨터가 해시 충돌을 찾을 확률은 CPU 파워에 선형으로 비례합니다. 절반 속도의 컴퓨터는 절반의 코인을 얻습니다.
[백업할 것에 대한 질문]
파일은 "%appdata%\Bitcoin"에 있습니다. 백업할 디렉터리입니다.
%appdata%는 사용자별 접근 권한입니다. Firefox 같은 새 프로그램 다수가 설정 파일을 거기에 저장합니다. Microsoft가 Windows 출시 때마다 디렉터리 이름을 바꾸고, 공백이 가득하고 너무 길어서 화면을 넘어간다는 역풍에도 불구하고요.
[백업할 것에 대한 질문]
디렉터리는 "%appdata%\Bitcoin"입니다 공백이 있으니 따옴표가 필요합니다 cd "%appdata%\bitcoin"
XP라면 보통 이렇습니다: C:\Documents and Settings[username]\Application Data\Bitcoin
그 디렉터리 전체를 백업하세요. 모든 데이터 파일이 그 디렉터리에 있습니다. 임시 파일은 없습니다.
[백업할 것에 대한 질문]
백업에 중요한 파일은 wallet.dat입니다. bitcoin이 실행 중이면 database 하위 디렉터리를 포함해 %appdata%\bitcoin 디렉터리 전체를 백업해야 합니다. 실행 중이 아니어도 디렉터리 전체를 항상 백업하는 편이 확실히 안전하게 느껴집니다.
안타깝게도 데이터베이스는 파일을 "log.0000000001"이라고 이름 붙입니다. 세상 사람들에게 "log"는 마음대로 지워도 된다는 뜻이지만, 데이터베이스 사람들에게는 다른 파일의 모든 것을 잃는다는 뜻입니다. database 하위 디렉터리에 넣어서 위험에서 벗어나게 했습니다. 나중에 지갑이 바뀔 때마다 로그를 비우는 코드를 써서 wallet.dat가 거의 항상 단독으로 안전하도록 하겠습니다.
> 90년대에는 관심이 훨씬 많았던 것 같은데요, > 하지만 신뢰받는 제3자 기반 시스템(Digicash 등)이 10년 넘게 실패한 뒤에는 > 잃어버린 대의로 봅니다. 이번이 제가 아는 한 신뢰 기반이 아닌 시스템을 > 시도하는 처음이라는 점을 구분해 주면 좋겠습니다.
그렇습니다. 그 점이 제 눈을 사로잡은 주된 특징이었습니다. 진짜 요령은 사람들이 실제로 비트코인에 가치를 두게 해서 통화가 되게 하는 것일 겁니다.
Hal은 먼 확률의 투자로 볼 가능성을 살짝 언급했습니다. 신뢰받는 제3자가 겁을 먹고 망치지 않을 방식으로 할 수 있다는 것을 알게 된 지금, 10년 뒤에 어떤 식으로든 전자통화를 쓰지 않는다면 놀랄 겁니다.
일단 시작되면, 자판기에 동전을 넣듯 쉽게 웹사이트에 몇 센트를 낼 수 있다면 응용이 아주 많습니다.
[다음 부분은 매우 논란이 되었습니다. 스팸 해결책, 특히 작업증명에 대한 극심한 편견이 있습니다.]
이미 pay-to-send 이메일로 쓸 수 있습니다. 보내기 대화상자는 크기 조절이 되고 원하는 만큼 긴 메시지를 입력할 수 있습니다. 연결되면 직접 보내집니다. 받는 사람은 거래를 더블클릭해서 전체 메시지를 봅니다. 유명한 사람이 읽을 수 없을 만큼 많은 이메일을 받지만 팬들과 연락할 길을 남기고 싶다면, 비트코인을 설정하고 웹사이트에 IP 주소를 공개하면 됩니다. "이 IP의 우선 핫라인으로 X 비트코인을 보내면 메시지를 직접 읽겠습니다."
무료 체험이 구독을 잠식하지 않도록 추가 작업증명이 필요한 구독 사이트는 체험에 비트코인을 받을 수 있습니다.
[다시 말하지만, 왜 이 부분을 포함하는지 모르겠습니다. 스팸 주장에서는 멀어지는 편이 좋습니다. 사람들은 스팸 해결책 제안에 자동적으로 격렬히 반응합니다.]
스패머 봇넷은 pay-per-send 이메일 필터를 (늘 그렇듯 비용은 봇넷 주인이나 스패머가 아닌 다른 사람에게 떨어지는데도) 쉽게 뚫을 겁니다.
그렇다면 pay-per-send 이메일 주소를 만들어 스팸 돈을 전부 거두면 짭짤한 수익을 낼 수 있습니다. 직접 만들 만큼 큰 봇넷이 없는 스패머에게 되팔 수 있어서 통화 가치의 시작에 도움이 됩니다. 더 많은 사람이 알아차릴수록 가짜 주소를 점점 더 많이 만들어 거둬들일 겁니다. "스패머를 이용해 부자가 된 법과 당신도 할 수 있다"는 책이 나올 때쯤이면 가짜 주소가 너무 많아 스패머는 포기해야 합니다.
> * 스패머 봇넷은 pay-per-send 이메일 필터를 > 쉽게 뚫을 겁니다 POW 토큰이 유용해지고, 특히 돈이 되면, 기계는 더 이상 놀지 않습니다. 사용자는 컴퓨터가 돈을 벌어주길 기대할 겁니다(보상이 운영 비용보다 크다고 가정하면). 봇넷에 수익을 도둑맞는 컴퓨터는 오늘날보다 주인 눈에 더 잘 띌 겁니다. 그러니 그런 세상에서는 사용자가 컴퓨터를 유지하고 봇넷 감염을 청소하려고 더 애쓸 것으로 기대할 수 있습니다.
POW 토큰에 가치가 생기면 스팸을 완화하는 요인이 하나 더 있습니다. 스팸에서 POW 토큰을 거두려고 대량의 가짜 이메일 계정을 만들려는 수익 동기가 생깁니다. 그들은 사실상 메시지는 읽지 않고 POW를 거두는 자동 사서함으로 스패머에게 역스팸을 보낼 겁니다. 진짜 사람 대비 가짜 사서함 비율이 너무 높아져 스팸이 수지에 맞지 않게 될 수 있습니다.
그 과정은 POW 토큰의 가치를 처음 세울 잠재력이 있습니다. 봇넷이 없는 스패머는 수확자에게 토큰을 살 수 있기 때문입니다. 되사기가 일시적으로 더 많은 스팸을 통과시키겠지만, 스패머를 이용하는 수확자가 너무 많아지는 자멸적 순환을 앞당길 뿐입니다.
흥미롭게도 e-gold 시스템 중 하나에는 이미 "dusting"이라는 형태의 스팸이 있습니다. 스패머는 거래 설명란에 스팸 메시지를 넣으려고 아주 적은 금가루를 보냅니다. 시스템이 사용자가 받으려는 최소 금액, 적어도 메시지가 붙을 수 있는 최소 금액을 설정하게 한다면, 사용자는 스팸을 받는 대가로 얼마를 받을지를 정할 수 있습니다.
인터넷 곳곳에서 쓸 수 있는 사이클을 다 태우고 전기와 이산화탄소를 만들면서 이메일이나 스팸을 통과시키려고 소량의 bitbux를 만드는 시스템은 필요 없습니다.
은행 계좌의 실제 돈을 bitbux로 바꾸면 안 되나요. 싸게, 탄소세 없이요. 제발요?
경제적 자유와 환경 보전 중에 골라야 한다면 아이러니입니다.
안타깝게도 작업증명은 신뢰받는 제3자 없이 p2p 전자현금을 동작시키는 유일한 해결책입니다. 초기 통화 분배 수단으로 부차적으로 쓰지 않더라도, PoW는 네트워크를 조율하고 이중지불을 막는 근본입니다.
크게 자라서 상당한 에너지를 쓰게 되더라도, 대체할 노동·자원 집약적인 기존 은행 활동보다는 덜 낭비적일 것 같습니다. 비용은 벽돌 건물, 고층 빌딩, 정크 메일 신용카드 광고에 들어가는 수십억 은행 수수료보다 한 자릿수 이상 적을 겁니다.
Satoshi
그건 그렇고, 우리가 이야기했는지 기억나지 않는데, 얼마 전 어떤 사람들이 안전한 타임스탬프를 언급했습니다. 과거 특정 시점에 특정 문서가 존재했음을 증명할 수 있어야 합니다. 비트코인의 블록 쌓기가 여기에 딱 맞는 것 같습니다.
맞습니다. 비트코인은 거래를 위한 분산된 안전한 타임스탬프 서버입니다. 몇 줄 코드로 타임스탬프가 필요한 무엇이든 해시를 추가로 넣은 거래를 만들 수 있습니다. 그런 식으로 파일에 타임스탬프를 찍는 명령을 추가해야겠습니다.
p2presearch의 스레드에서 가져왔으며, 모든 기존 금융 시스템의 근본 약점이 신뢰라는 제 주장으로 시작합니다. http://listcultures.org/pipermail/p2presearch_listcultures.org/2009-February/thread.html
비트코인이라는 새로운 오픈소스 P2P 전자현금 시스템을 개발했습니다. 중앙 서버나 신뢰받는 당사자 없이 완전히 분산되어 있습니다. 모든 것이 신뢰 대신 암호학적 증명에 기반하기 때문입니다. 써 보시거나 스크린샷과 설계 논문을 보세요:
비트코인 v0.1 다운로드: http://www.bitcoin.org
기존 통화의 근본 문제는 동작에 필요한 온갖 신뢰입니다. 중앙은행은 통화를 평가절하하지 않으리라 믿어야 하지만, 법정화폐의 역사는 그 신뢰의 위반으로 가득합니다. 은행은 우리 돈을 맡아 전자적으로 옮기리라 믿어야 하지만, 준비금은 조금만 남기고 신용 거품의 물결 속에 빌려줍니다. 프라이버시를 맡겨야 하고, 신원 도둑이 계좌를 털지 않으리라 믿어야 합니다. 막대한 간접비는 소액결제를 불가능하게 합니다.
한 세대 전 다중 사용자 시분할 컴퓨터 시스템도 비슷한 문제가 있었습니다. 강력한 암호화 이전에는 사용자가 파일을 지키려고 비밀번호 보호에 의존해야 했고, 시스템 관리자가 정보를 비밀로 지켜주리라 믿어야 했습니다. 프라이버시는 관리자 판단으로 언제든 깨질 수 있었습니다. 프라이버시 원칙과 다른 우려를 저울질하거나 상관의 요구에 따라서요. 그러다 강력한 암호화가 대중에게 보급되었고, 더 이상 신뢰가 필요 없어졌습니다. 데이터는 다른 사람이 접근하는 것이 물리적으로 불가능한 방식으로 지킬 수 있게 되었습니다. 이유가 무엇이든, 변명이 아무리 좋아도, 무엇이든 상관없이요.
돈에도 같은 것이 필요한 때입니다. 신뢰받는 제3자 중개자 없이 암호학적 증명에 기반한 전자통화라면, 돈은 안전하고 거래는 수월할 수 있습니다.
그런 시스템의 기본 요소 중 하나는 전자서명입니다. 전자 코인은 소유자의 공개키를 담고 있습니다. 옮기려면 소유자가 다음 소유자의 공개키와 함께 코인에 서명합니다. 누구나 서명을 확인해 소유 사슬을 검증할 수 있습니다. 소유를 지키는 데는 잘 동작하지만, 큰 문제 하나가 남습니다. 이중지불입니다. 소유자는 이미 쓴 코인을 또 다른 소유자에게 다시 서명해서 다시 쓰려 할 수 있습니다. 통상적인 해결책은 중앙 데이터베이스를 가진 신뢰받는 회사가 이중지불을 검사하는 것이지만, 이는 신뢰 모형으로 돌아갈 뿐입니다. 중앙 위치에서 회사는 사용자를 무시할 수 있고, 회사를 유지하는 수수료 때문에 소액결제는 비실용적이 됩니다.
비트코인의 해결책은 이중지불 검사를 피어투피어 네트워크로 하는 것입니다. 한마디로 네트워크는 코인을 쓴 첫 거래에 도장을 찍는 분산 타임스탬프 서버처럼 동작합니다. 정보는 퍼뜨리기 쉽지만 막기는 어렵다는 성질을 이용합니다. 동작 세부 내용은 설계 논문을 보세요: http://www.bitcoin.org/bitcoin.pdf
결과는 단일 실패점이 없는 분산 시스템입니다. 사용자는 자신의 돈에 대한 암호 키를 직접 쥐고 P2P 네트워크의 도움을 받아 이중지불을 검사하면서 서로 직접 거래합니다.
Satoshi Nakamoto http://www.bitcoin.org
Martien van Steenbergen Martien at AardRock.COM Thu Feb 12 08:40:53 CET 2009
아주 흥미롭습니다. David Chaum의 익명 디지털 머니와 비슷한가요? 그의 개념은 돈이 손상되지 않으면, 즉 같은 돈을 두 번 쓰지 않으면 익명을 보장합니다. 손상되는 순간 위조범은 즉시 공개적으로 드러납니다.
또 비트코인에는 (관리해야 하는) 한정된 통화 공급이 있나요? 아니면 정확히 거래 순간에 통화가 만들어지나요?
Succes en plezier,
Martien.
Martien van Steenbergen이 썼습니다:
아주 흥미롭습니다. David Chaum의 익명 디지털 머니와 비슷한가요? 그의 개념은 돈이 손상되지 않으면, 즉 같은 돈을 두 번 쓰지 않으면 익명을 보장합니다. 손상되는 순간 위조범은 즉시 공개적으로 드러납니다.
동전에 전자서명을 쓴다는 점은 비슷하지만, 프라이버시와 이중지불 방지의 접근은 다릅니다. 비트코인 결제의 받는 사람은 그것이 첫 지출인지 확인할 수 있고, 두 번째 지출은 받아들여지지 않습니다. 참가자에게 신원이 있어야 하는 사후 적발·망신식 오프라인 방식은 없습니다.
프라이버시를 지키려고 키 쌍은 한 번만 쓰고, 거래마다 새 것을 씁니다. 코인 소유자는 그 개인키를 가진 사람일 뿐입니다.
물론 가장 큰 차이는 중앙 서버가 없다는 점입니다. 그것이 Chaum식 시스템의 아킬레스건이었습니다. 중앙 회사가 문을 닫으면 통화도 끝났습니다.
또 비트코인에는 (관리해야 하는) 한정된 통화 공급이 있나요? 아니면 정확히 거래 순간에 통화가 만들어지나요?
한정된 통화 공급이 있습니다. 유통량은 21,000,000코인입니다. 거래는 소유권만 옮깁니다.
질문 감사합니다,
Satoshi
Martien van Steenbergen이 썼습니다:
생각나는 것이 있습니다:
- AardRock » Wizard Rabbit Treasurer <http://wiki.aardrock.com/Wizard_Rabbit_Treasurer>; 그리고
- AardRock » Pekunio <http://wiki.aardrock.com/Pekunio>
실제로 모든 거래의 중복 사본을 네트워크의 여러 피어에게 뿌린다는 개념은 Pekunio와 많이 닮았습니다. 다만 구현은 Wizard Rabbit Treasurer 같은 평판망이 아닙니다. 사실 비트코인은 평판을 전혀 쓰지 않습니다. 네트워크를 큰 군중으로 보고, 누구와 말하는지, 누가 무엇을 알려주는지 크게 신경 쓰지 않습니다. 네트워크에 방송되는 정보를 그중 하나라도 중계하면 되기 때문입니다. 거짓말할 방법이 없으니 신경 쓸 필요가 없습니다. 무엇인가에 대한 암호 증명을 말하거나, 아니면 무시될 뿐입니다.
Ripple을 아시나요?
신뢰 시스템으로서는 Ripple이 신뢰를 모으지 않고 펼친다는 점에서 독특합니다.
["Ripple을 들어봤나요?"라는 질문을 적어도 4번 더 받았습니다]
Michel Bauwens가 썼습니다:
프로젝트는 얼마나 동작하고 있나요? 사람들이 실생활에서 언제쯤 쓸 수 있을 것 같나요?
완전히 동작하고 있고 네트워크도 자라고 있습니다. 소프트웨어를 써 보고, 당신의 비트코인 주소를 이메일로 보내면 코인 몇 개를 보내 드리겠습니다.
소문을 퍼뜨리고 관심을 갖는 사람을 계속 늘리면 됩니다.
암호학 메일링 리스트에 논문을 처음 소개한 링크입니다. (인플레이션 문제는 나중에 거래 수수료와 한정 유통 계획을 뒷받침하도록 바꾸면서 대체되었으니, 지금은 그대로 적용되지 않을 수 있습니다. 이 링크는 움직이는 대상입니다. 이 자료실 페이지는 일정 일수 전 내용일 뿐이고 논의는 계속 다음 페이지로 넘어갑니다.) http://www.mail-archive.com/[email protected]/mail3.html
소프트웨어가 나온 뒤의 간단한 후속 글입니다. http://www.mail-archive.com/[email protected]/mail2.html
비트코인이 비잔틴 장군 문제를 어떻게 푸는지에 대한 제 설명입니다: http://www.bitcoin.org/byzantine.html
영어 원문
[email protected] wrote:
> All right, I can do the website and the FAQ. I'll start writing the FAQ
> now with the questions that I can think of.
That would be great! I added you (dmp1ce) as a dev to the sourceforge
project and gave you access to edit the web space and everything.
> I have a feature suggestion for the program: a UI tool for creating
> password protected private keys and saving them into a custom location.
> Backups of the key will be needed to be safe from losing the control of
> your coins, and for using the coins on more than one computers. Password
> protection would be needed to make using your money more difficult for
> someone who happens to find your key file.
Definitely. This will be an absolutely essential feature once things
get going, making it so you can lock your wealth up with strong
encryption and back it up more securely than any physical safe. So far
I've been putting it off in favour of other features because it's not
crucial yet until bitcoins start to have value.
I plan to work on the escrow feature next, which is needed to make
actual trades for physical stuff safer and before backing the currency
with fiat money can begin.
> I'm running a bitcoin node always when my PC is powered on, which means
> about 24/7. Bitcoin is a great project, and it's really cool to
> participate!
Thanks! Right now there are a lot of people on the network who can't
receive incoming connections, so every node that can really helps.
Having more helps keep down the "(not accepted)" issue for now until I
reduce the chances of that happening in v0.1.6.
I guess one answer for the FAQ should be how to set up your firewall to
forward port 8333 so you can receive incoming connections. The question
could be something like "what if I have 0 connections" and that could be
the answer that it might be because the nodes you can connect with is
limited if you don't set that up.
Here's a compilation of questions I've answered in forums and e-mail
that should help you see what questions are frequently asked and some
answers I've used. It's not intended to use all or most of the material
here, just pick and choose. This is just a dump of everything I've
answered.
Some issues that we don't have easy answers for are best not to bring
up. Casual users seems content to assume that the system works as
stated (which it does), and getting into the design details just opens a
can of worms that can't be answered without a deep understanding of the
system. The advanced questions I've received have mostly been unique
per person and best answered individually.
**** QUESTION AND ANSWER DUMP ****
Any questions used for the FAQ should probably be rephrased.
questions:
> The bottom of the UI shows:
>
> Generating 4 connections 4024 blocks 164 transactions
>
> I understand "generating"; I assume I am connected to 4 other nodes; and
> I know I have recorded 164 transactions (including failed generation
> attempts). I'm not clear what the "blocks" figure describes. It's much
> smaller than the total of all the blocks shown against all my
transactions.
>
It's the total number of blocks in the block chain, meaning the
network's block chain, which everyone has a copy of. Every Bitcoin node
displays the same number and it goes up about every 10 minutes whenever
someone generates a block. When you haven't had it running for a while,
once you're connected it spins up rapidly as it downloads what was
generated while you were gone to catch up. I'm not sure exactly how to
describe it (that would fit on the status bar in 1 word, maybe 2 words
max), any ideas?
The blocks number in the status column next to your transactions is the
number of blocks that have come after that transaction. Your
transaction is essentially "in" that many blocks.
Satoshi
> My best guess - it
> is the length of the global chain, and the rapid advance at the start
> is as the software downloads and verifies the preceding blocks in the
> chain as being valid.
Right. I'm trying to think of more clear wording for that, maybe "%d
network blocks" or "%d block chain".
> I'm having an unusual run of (block not-accepted) failures, and
thought I'd let you know in
> case this was of any significance.
What rate of not-accepted did you see? I didn't see anything unusual on
my end. If you had more than, say, 4 in a row, that would be abnormal
and probably a loss of network communication. If it's scattered and
less than 25%, just random bad luck. It's normal and harmless to
randomly get some per cent of not-accepted, and of course randomness can
sometimes bunch up and look like a pattern.
The idea of an option to View/Hide unaccepted blocks is a good one, as
well as View/Hide all generated blocks so you can more easily see
incoming transactions. Seeing the unaccepted blocks is just annoying
and frustrating. Everyone faces the same rate of unaccepted, it's just
a part of the process. It would probably be best to default to hide
unaccepted blocks, so as not to show giving and taking away something
that never was, and not show new generated blocks at all until they have
at least one confirmation. It would only mean finding out you have a
generated block 15 minutes later than normal, and then you still have
119 blocks to go before it matures anyway. This is on the to-do list
for v0.1.6.
Satoshi
[note: I have some improvements in 0.1.6 to reduce this problem somewhat,
and it'll also improve when the network is larger]
> For some reason your transfer to me shows up as "From: unknown" even
> though I added you to my address book.
>
> I have a "Generated (not accepted)" line in my transaction list, it
> seems like an attempt to generate a coin went wrong somehow. Not sure
> what happened here - presumably my node successfully solved a block
> but then I went offline before it was sent to the network?
Transactions sent to a bitcoin address will always say "from: unknown".
The transaction only tells who it's to. Sending by bitcoin address
has a number of problems, but it's so nice having the fallback option to
be able to send to anyone whether they're online or not. There are a
number of ideas to try to improve things later. For now, if things work
out like the real world where the vast majority of transactions are with
merchants, they'll pretty much always make sure to set up to receive by
IP. The P2P file sharing networks seem fairly successful at getting a
large percentage of their users to set up their firewalls to forward a port.
I badly wanted to find some way to include a comment with indirect
transfers, but there just wasn't a way to do it. Bitcoin uses EC-DSA, which
was essential for making the block chain compact enough to be practical with
today's technology because its signatures are an order of magnitude smaller
than RSA. But EC-DSA can't encrypt messages like RSA, it can only be used
to verify signatures.
The "Generated (not accepted)" normally happens if two nodes find a
block at close to the same time, one of them will not be accepted. It's
normal and unavoidable. I plan in v0.1.6 to hide those, since they're
just confusing and annoying and there's no reason for users to have to
see them. While the network is still small like it is now, if you can't
receive incoming connections you're at more of a disadvantage because
you can't receive block announcements as directly.
> ...So far it has two "Generated" messages, however the
> "Credit" field for those is 0.00 and the balance hasn't changed. Is
> this due to the age/maturity requirement for a coin to be valid?
Right, the credit field stays 0.00 until it matures, then it'll be
50.00. BTW, you can doubleclick on a line for details.
> ...understand correctly, there is only one (or maybe a few) global
> chain[s] into which all transactions are hashed. If there is only one
> chain recording "the story of the economy" so to speak, how does this
> scale? In an imaginary planet-wide deployment there would be millions
> of even billions of transactions per hour being hashed into the chain...
> ...I found the section on incentives hard to follow. In particular, I'm
> not clear on what triggers the transition from minting new coins as a
> reason to run a node, to charging transaction fees (isn't the point of
> BitCoin largely to zero transaction costs anyway?). Presumably there's
> some human in charge of the system...
> ...How did you decide on the inflation schedule for v1? Where did 21
> million coins come from? What denominations are these coins? You
> mention a way to combine and split value but I'm not clear on how this
> works. For instance are bitcoins always denominated by an integer or
> can you have fractional bitcoins?...
> ...it's rare that I encounter truly
> revolutionary ideas. The last time I was this excited about a new
> monetary scheme was when I discovered Ripple. If you have any thoughts
> on Ripple, I'd also love to hear them.
There is only one global chain.
The existing Visa credit card network processes about 15 million
Internet purchases per day worldwide. Bitcoin can already scale much
larger than that with existing hardware for a fraction of the cost. It
never really hits a scale ceiling. If you're interested, I can go over
the ways it would cope with extreme size.
By Moore's Law, we can expect hardware speed to be 10 times faster in 5
years and 100 times faster in 10. Even if Bitcoin grows at crazy
adoption rates, I think computer speeds will stay ahead of the number of
transactions.
I don't anticipate that fees will be needed anytime soon, but if it
becomes too burdensome to run a node, it is possible to run a node that
only processes transactions that include a transaction fee. The owner
of the node would decide the minimum fee they'll accept. Right now,
such a node would get nothing, because nobody includes a fee, but if
enough nodes did that, then users would get faster acceptance if they
include a fee, or slower if they don't. The fee the market would settle
on should be minimal. If a node requires a higher fee, that node would
be passing up all transactions with lower fees. It could do more volume
and probably make more money by processing as many paying transactions
as it can. The transition is not controlled by some human in charge of
the system though, just individuals reacting on their own to market forces.
A key aspect of Bitcoin is that the security of the network grows as the
size of the network and the amount of value that needs to be protected
grows. The down side is that it's vulnerable at the beginning when it's
small, although the value that could be stolen should always be smaller
than the amount of effort required to steal it. If someone has other
motives to prove a point, they'll just be proving a point I already concede.
My choice for the number of coins and distribution schedule was an
educated guess. It was a difficult choice, because once the network is
going it's locked in and we're stuck with it. I wanted to pick
something that would make prices similar to existing currencies, but
without knowing the future, that's very hard. I ended up picking
something in the middle. If Bitcoin remains a small niche, it'll be
worth less per unit than existing currencies. If you imagine it being
used for some fraction of world commerce, then there's only going to be
21 million coins for the whole world, so it would be worth much more per
unit. Values are 64-bit integers with 8 decimal places, so 1 coin is
represented internally as 100000000. There's plenty of granularity if
typical prices become small. For example, if 0.001 is worth 1 Euro,
then it might be easier to change where the decimal point is displayed,
so if you had 1 Bitcoin it's now displayed as 1000, and 0.001 is
displayed as 1.
Ripple is interesting in that it's the only other system that does
something with trust besides concentrate it into a central server.
Satoshi
> If we assume that 0.1% is a good risk rate, then z=5 thus
> any transaction must wait a bit less than an hour before being
> solidified in the chain. As micropayments for things like web content
> or virtual goods are by definition something that requires low
> overhead, waiting an hour seems like quite a significant hurdle.
For the actual risk, multiply the 0.1% by the probability that the buyer
is an attacker with a huge network of computers.
For micropayments, you can safely accept the payment immediately. The
size of the payment is too small for the effort to steal it.
Micropayments are almost always for intellectual property, where there's
no physical loss to the merchant. Anyone trying to steal a micropayment
would probably not be a paying customer anyway, and if they want to
steal intellectual property they can use the file sharing networks.
Currently, businesses accept a certain chargeoff rate. I believe the
risk with 1 or even 0 confirming blocks will be much less than the rate
of chargebacks on verified credit card transactions.
The usual scam against a merchant that doesn't wait for confirming
blocks would be to send a payment to a merchant, then quickly try to
propagate a double-spend to the network before the merchant's copy. What
the merchant can do is broadcast his transaction and then monitor the
network for any double-spend copies. The thief would not be able to
broadcast during the monitoring period or else the merchant's node would
receive a copy. The merchant would only have to monitor for a minute or
two until most of the network nodes have his version and it's too late
for the thief's version to catch up and reach many nodes. With just a
minute or two delay, the chance of getting away without paying could be
made much too low to scam. A thief usually needs a high probability of
getting an item for free to make it worthwhile. Using a lot of CPU
power to do the brute force attack discussed in the paper in addition to
the above scam would not increase the thief's chances very much.
Anything that grants access to something, like something that takes a
while to download, access to a website, web hosting, a subscription or
service, can be cancelled a few minutes later if the transaction is
rejected.
> How is the required difficulty of each block communicated through the
> network and agreed upon?
It's not communicated. The formula is hardcoded in the program and
every node does the same calculation to know what difficulty is required
for the next block. If someone diverged from the formula, their block
would not be accepted by the majority.
> Is the code free/open source or just open source?
It's free open source. It's the MIT license, which just requires some
disclaimer text be kept with the source code, other than that you can do
just about anything you want with it. The source is included in the
main download.
Satoshi
> Is there a way to be told of new versions? Does the app auto update
> itself? Some kind of mailing list would be excellent.
The list is:
[email protected]
Subscribe/unsubscribe page:
http://lists.sourceforge.net/mailman/listinfo/bitcoin-list
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-list
I'll always announce new versions there. Automatic update, or at least
notification of new versions, is definitely on the list.
[this inflation discussion was before the transaction fee mechanism and
fixed plan of 21 million coins was posted, so it may not be as
applicable anymore]
> Since they can be created for free (or at the cost
> of computer power people have anyway for other reasons),
> monetizing them means simply giving away money.
You're still thinking as if the difficulty level will be so easy that
people will be able to generate all the bitcoins they want.
Imagine you have to run your computer 24/7 for a month to generate 1
cent. After a year, you could generate 12 cents. That's not going to
make it so people can just generate all the bitcoin they want for spending.
The value of bitcoins would be relative to the electricity consumed to
produce them. All modern CPUs save power when they're idle. If you run
a computational task 24/7, not letting it idle, it uses significantly
more power, and you'll notice it generates more heat. The extra wattage
consumed goes straight to your power bill, and the value of the bitcoins
you produce would be something less than that.
> Why would they, when they make money by generating
> new ones
No, they can't make money that way. It would cost them more in
electricity than they'd be selling the bitcoins for.
Historically, people have taken up scarce commodities as money, if
necessary taking up whatever is at hand, such as shells or stones. Each
has a kernel of usefulness that helped bootstrap the process, but the
monetary value ends up being much more than the functional value alone.
Most of the value comes from the value that others place in it. Gold,
for instance, is pretty, non-corrosive and easily malleable, but most of
its value is clearly not from that. Brass is shiny and similar in
colour. The vast majority of gold sits unused in vaults, owned by
governments that could care less about its prettiness.
Until now, no scarce commodity that can be traded over a communications
channel without a trusted third party has been available. If there is a
desire to take up a form of money that can be traded over the Internet
without a TTP, then now that is possible.
Satoshi
> As more capable
> computer hardware comes out, the natural supply per user
> doubles at every cycle of Moore's law.
Actually, that is handled. There's a moving average that compensates
for the total effort being expended so that the total production is a
constant. As computers get more powerful, the difficulty increases to
compensate.
> I do not recall any economic history of a commodity subject
> to natural inflation ever being used as money
There's gold for one. The supply of gold increases by about 2%-3% per
year. Any fiat currency typically averages more inflation than that.
> Won't there be massive inflation as computers get faster and are able
to solve the proof-of-work problem faster?
The difficulty is controlled by a moving average that compensates for
the total effort being expended to keep the total production constant.
As computers get more powerful, the difficulty increases to compensate.
> If someone double spends, then the transaction record
> can be unblinded revealing the identity of the cheater?
Identities are not used, and there's no reliance on recourse. It's all
prevention.
> ...You're saying
> there's no effort to identify and exclude nodes that don't
> cooperate? I suspect this will lead to trouble and possible DOS
> attacks.
There is no reliance on identifying anyone. As you've said, it's
futile and can be trivially defeated with sock puppets.
The credential that establishes someone as real is the ability to
supply CPU power.
> But in the absence of identity, there's no downside to them
> if spends become invalid, if they've already received the
> goods they double-spent for (access to website, download,
> whatever). The merchants are left holding the bag with
> "invalid" coins, unless they wait that magical "few blocks"
> (and how can they know how many?) before treating the spender
> as having paid.
>
> The consumers won't do this if they spend their coin and it takes
> an hour to clear before they can do what they spent their coin on.
> The merchants won't do it if there's no way to charge back a
> customer when they find the that their coin is invalid because
> the customer has doublespent.
This is a version 2 problem that I believe can be solved fairly
satisfactorily for most applications.
The race is to spread your transaction on the network first. Think 6
degrees of freedom -- it spreads exponentially. It would only take
something like 2 minutes for a transaction to spread widely enough
that a competitor starting late would have little chance of grabbing
very many nodes before the first one is overtaking the whole network.
During those 2 minutes, the merchant's nodes can be watching for a
double-spent transaction. The double-spender would not be able to
blast his alternate transaction out to the world without the merchant
getting it, so he has to wait before starting.
If the real transaction reaches 90% and the double-spent tx reaches
10%, the double-spender only gets a 10% chance of not paying, and 90%
chance his money gets spent. For almost any type of goods, that's
not going to be worth it for the scammer.
Information based goods like access to website or downloads are
non-fencible. Nobody is going to be able to make a living off
stealing access to websites or downloads. They can go to the file
sharing networks to steal that. Most instant-access products aren't
going to have a huge incentive to steal.
If a merchant actually has a problem with theft, they can make the
customer wait 2 minutes, or wait for something in e-mail, which many
already do. If they really want to optimize, and it's a large
download, they could cancel the download in the middle if the
transaction comes back double-spent. If it's website access,
typically it wouldn't be a big deal to let the customer have access
for 5 minutes and then cut off access if it's rejected. Many such
sites have a free trial anyway.
Satoshi
[in response to a question about scale]
100,000 block generating nodes is a good ballpark large-scale size
to think about. Propagating a transaction across the whole network
twice would consume a total of US$ 0.02 of bandwidth at today's
prices. In practice, many would be burning off excess allocated
bandwidth or unlimited plans with one of the cheaper backbones.
There could be millions of SPV clients. They only matter in how
many transactions they generate. If they pay 1 or 2 cents
transaction fees, they pay for themselves. I've coded it so you
can pay any optional amount of transaction fees you want. When the
incentive subsidy eventually tapers off, it may be necessary to put
a market-determined transaction fee on your transactions to make
sure nodes process them promptly.
To think about what a really huge transaction load would look like,
I look at the existing credit card network. I found some more
estimates about how many transactions are online purchases. It's
about 15 million tx per day for the entire e-commerce load of the
Internet worldwide. At 1KB per transaction, that would be 15GB of
bandwidth for each block generating node per day, or about two DVD
movies worth. Seems do-able even with today's technology.
Important to remember, even if Bitcoin caught on at dot-com rates
of growth, it would still take years to become any substantial
fraction of all transactions. I believe hardware has already
recently become strong enough to handle large scale, but if there's
any doubt about that, bandwidth speeds, prices, disk space and
computing power will be much greater by the time it's needed.
Satoshi
> One other question I had... What prevents the single node with the most
> CPU power from generating and retaining the majority of the BitCoins?
> If every node is working independently of all others, if one is
> significantly more powerful than the others, isn't it probable that this
> node will reach the proper conclusion before other nodes? An
> underpowered node may get lucky once in a while, but if they are at a
> significant horsepower advantage I would expect the majority of BitCoins
> to be generated by the most powerful node.
It's not like a race where if one car is twice as fast, it'll always
win. It's an SHA-256 that takes less than a microsecond, and each guess
has an independent chance of success. Each computer's chance of finding
a hash collision is linearly proportional to it's CPU power. A computer
that's half as fast would get half as many coins.
[question about what to backup]
The files are in "%appdata%\Bitcoin", that's the directory to
backup.
%appdata% is per-user access privilege. Most new programs like
Firefox store their settings files there, despite the headwind of
Microsoft changing the directory name with every Windows release
and being full of spaces and so long it runs off the screen.
[question about what to backup]
The directory is "%appdata%\Bitcoin"
It has spaces in it so you need the quotes
cd "%appdata%\bitcoin"
On XP it would typically be:
C:\Documents and Settings\[username]\Application Data\Bitcoin
Backup that whole directory. All data files are in that
directory. There are no temporary files.
[question about what to backup]
The crucial file to backup is wallet.dat. If bitcoin is running
then you have to backup the whole %appdata%\bitcoin directory
including the database subdirectory, but even if it's not running
it certainly feels safer to always backup the whole directory.
The database unfortunately names its files "log.0000000001". To
the rest of the world, "log" means delete-at-will, but to database
people it means delete-and-lose-everything-in-your-other-files. I
tried to put them out of harm's way by putting them in the
database subdirectory. Later I'll write code to flush the logs
after every wallet change so wallet.dat will be standalone safe
almost all the time.
> > You know, I think there were a lot more people interested in the 90's,
> > but after more than a decade of failed Trusted Third Party based
systems
> > (Digicash, etc), they see it as a lost cause. I hope they can make the
> > distinction that this is the first time I know of that we're trying a
> > non-trust-based system.
>
> Yea, that was the primary feature that caught my eye. The real trick
> will be to get people to actually value the Bitcoins so that they become
> currency.
Hal sort of alluded to the possibility that it could be seen as a
long-odds investment. I would be surprised if 10 years from now
we're not using electronic currency in some way, now that we know
a way to do it that won't inevitably get dumbed down when the
trusted third party gets cold feet.
Once it gets bootstrapped, there are so many applications if you
could effortlessly pay a few cents to a website as easily as dropping
coins in a vending machine.
[this next bit turned out to be very controversial. there is extreme
prejudice against spam solutions, especially proof-of-work.]
It can already be used for pay-to-send e-mail. The send dialog is
resizeable and you can enter as long of a message as you like.
It's sent directly when it connects. The recipient doubleclicks
on the transaction to see the full message. If someone famous is
getting more e-mail than they can read, but would still like to
have a way for fans to contact them, they could set up Bitcoin and
give out the IP address on their website. "Send X bitcoins to my
priority hotline at this IP and I'll read the message personally."
Subscription sites that need some extra proof-of-work for their
free trial so it doesn't cannibalize subscriptions could charge
bitcoins for the trial.
[again, I don't know why I'm including this, as it's best to stay
away from claims about spam. people automatically react violently
against any suggestion of a spam solution.]
> Spammer botnets could burn through pay-per-send email filters
> trivially (as usual, the costs would fall on people other than the
> botnet herders & spammers).
Then you could earn a nice profit by setting up pay-per-send
e-mail addresses and collecting all the spam money. You could
sell it back to spammers who don't have big enough botnets to
generate their own, helping bootstrap the currency's value. As
more people catch on, they'll set up more and more phony addresses
to harvest it. By the time the book "How I got rich exploiting
spammers and you can too" is coming out, there'll be too many fake
addresses and the spammers will have to give up.
> > * Spammer botnets could burn through pay-per-send email filters
> > trivially
> If POW tokens do become useful, and especially if they become money,
> machines will no longer sit idle. Users will expect their computers to
> be earning them money (assuming the reward is greater than the cost to
> operate). A computer whose earnings are being stolen by a botnet will
> be more noticeable to its owner than is the case today, hence we might
> expect that in that world, users will work harder to maintain their
> computers and clean them of botnet infestations.
One more factor that would mitigate spam if POW tokens have value:
there would be a profit motive for people to set up massive
quantities of fake e-mail accounts to harvest POW tokens from
spam. They'd essentially be reverse-spamming the spammers with
automated mailboxes that collect their POW and don't read the
message. The ratio of fake mailboxes to real people could become
too high for spam to be cost effective.
The process has the potential to establish the POW token's value
in the first place, since spammers that don't have a botnet could
buy tokens from harvesters. While the buying back would
temporarily let more spam through, it would only hasten the
self-defeating cycle leading to too many harvesters exploiting the
spammers.
Interestingly, one of the e-gold systems already has a form of
spam called "dusting". Spammers send a tiny amount of gold dust
in order to put a spam message in the transaction's comment field.
If the system let users configure the minimum payment they're
willing to receive, or at least the minimum that can have a
message with it, users could set how much they're willing to get
paid to receive spam.
> The last thing we need is to deploy a system designed to burn all
> available cycles, consuming electricity and generating carbon dioxide,
> all over the Internet, in order to produce small amounts of bitbux to
> get emails or spams through.
>
> Can't we just convert actual money in a bank account into bitbux --
> cheaply and without a carbon tax? Please?
Ironic if we end up having to choose between economic liberty and
conservation.
Unfortunately, proof of work is the only solution I've found to
make p2p e-cash work without a trusted third party. Even if I
wasn't using it secondarily as a way to allocate the initial
distribution of currency, PoW is fundamental to coordinating the
network and preventing double-spending.
If it did grow to consume significant energy, I think it would
still be less wasteful than the labour and resource intensive
conventional banking activity it would replace. The cost would be
an order of magnitude less than the billions in banking fees that
pay for all those brick and mortar buildings, skyscrapers and junk
mail credit card offers.
Satoshi
> BTW I don't remember if we talked about this, but the other day some
> people were mentioning secure timestamping. You want to be able to
> prove that a certain document existed at a certain time in the past.
> Seems to me that bitcoin's stack of blocks would be perfect for this.
Indeed, Bitcoin is a distributed secure timestamp server for
transactions. A few lines of code could create a transaction with
an extra hash in it of anything that needs to be timestamped.
I should add a command to timestamp a file that way.
From a thread on p2presearch which starts with my rant about trust
being the root weakness of all conventional financial systems.
http://listcultures.org/pipermail/p2presearch_listcultures.org/2009-February/thread.html
I've developed a new open source P2P e-cash system called Bitcoin. It's
completely decentralized, with no central server or trusted parties,
because everything is based on crypto proof instead of trust. Give it a
try, or take a look at the screenshots and design paper:
Download Bitcoin v0.1 at http://www.bitcoin.org
The root problem with conventional currency is all the trust that's
required to make it work. The central bank must be trusted not to
debase the currency, but the history of fiat currencies is full of
breaches of that trust. Banks must be trusted to hold our money and
transfer it electronically, but they lend it out in waves of credit
bubbles with barely a fraction in reserve. We have to trust them with
our privacy, trust them not to let identity thieves drain our accounts.
Their massive overhead costs make micropayments impossible.
A generation ago, multi-user time-sharing computer systems had a similar
problem. Before strong encryption, users had to rely on password
protection to secure their files, placing trust in the system
administrator to keep their information private. Privacy could always
be overridden by the admin based on his judgment call weighing the
principle of privacy against other concerns, or at the behest of his
superiors. Then strong encryption became available to the masses, and
trust was no longer required. Data could be secured in a way that was
physically impossible for others to access, no matter for what reason,
no matter how good the excuse, no matter what.
It's time we had the same thing for money. With e-currency based on
cryptographic proof, without the need to trust a third party middleman,
money can be secure and transactions effortless.
One of the fundamental building blocks for such a system is digital
signatures. A digital coin contains the public key of its owner. To
transfer it, the owner signs the coin together with the public key of
the next owner. Anyone can check the signatures to verify the chain of
ownership. It works well to secure ownership, but leaves one big
problem unsolved: double-spending. Any owner could try to re-spend an
already spent coin by signing it again to another owner. The usual
solution is for a trusted company with a central database to check for
double-spending, but that just gets back to the trust model. In its
central position, the company can override the users, and the fees
needed to support the company make micropayments impractical.
Bitcoin's solution is to use a peer-to-peer network to check for
double-spending. In a nutshell, the network works like a distributed
timestamp server, stamping the first transaction to spend a coin. It
takes advantage of the nature of information being easy to spread but
hard to stifle. For details on how it works, see the design paper at
http://www.bitcoin.org/bitcoin.pdf
The result is a distributed system with no single point of failure.
Users hold the crypto keys to their own money and transact directly with
each other, with the help of the P2P network to check for double-spending.
Satoshi Nakamoto
http://www.bitcoin.org
Martien van Steenbergen Martien at AardRock.COM
Thu Feb 12 08:40:53 CET 2009
Very interesting. Is this akin to David Chaum's anonymous digital
money? His concept makes sure money is anonymous unless it is
compromised, i.e. the same money spent more than once. As soon as it's
compromised, the ‘counterfeiter’ is immediately publicly exposed.
Also, in bitcoin, is there a limited supply of money (that must be
managed)? Or is money created exaclty at the moment of transaction?
Succes en plezier,
Martien.
Martien van Steenbergen wrote:
> Very interesting. Is this akin to David Chaum's anonymous digital money?
> His concept makes sure money is anonymous unless it is compromised, i.e.
> the same money spent more than once. As soon as it's compromised, the
> ‘counterfeiter’ is immediately publicly exposed.
It's similar in that it uses digital signatures for coins, but different
in the approach to privacy and preventing double-spending. The
recipient of a Bitcoin payment is able to check whether it is the first
spend or not, and second-spends are not accepted. There isn't an
off-line mode where double-spenders are caught and shamed after the
fact, because that would require participants to have identities.
To protect privacy, key pairs are used only once, with a new one for
every transaction. The owner of a coin is just whoever has its private key.
Of course, the biggest difference is the lack of a central server. That
was the Achilles heel of Chaumian systems; when the central company shut
down, so did the currency.
> Also, in bitcoin, is there a limited supply of money (that must be
> managed)? Or is money created exaclty at the moment of transaction?
There is a limited supply of money. Circulation will be 21,000,000
coins. Transactions only transfer ownership.
Thank you for your questions,
Satoshi
Martien van Steenbergen wrote:
> Reminds me of:
>
> * AardRock » Wizard Rabbit Treasurer
> <http://wiki.aardrock.com/Wizard_Rabbit_Treasurer>; and
> * AardRock » Pekunio <http://wiki.aardrock.com/Pekunio>
Indeed, it is much like Pekunio in the concept of spraying redundant
copies of every transaction to a number of peers on the network, but the
implementation is not a reputation network like Wizard Rabbit Treasurer.
In fact, Bitcoin does not use reputation at all. It sees the network
as just a big crowd and doesn't much care who it talks to or who tells
it something, as long as at least one of them relays the information
being broadcast around the network. It doesn't care because there's no
way to lie to it. Either you tell it crypto proof of something, or it
ignores you.
> Are you familiar with Ripple?
As trust systems go, Ripple is unique in spreading trust around rather
than concentrating it.
[I've been asked at least 4 other times "have you heard of Ripple?"]
Michel Bauwens wrote:
> how operational is your project? how soon do you think people will be
> able to use it in real life?
It's fully operational and the network is growing. If you try the
software, e-mail me your Bitcoin address and I'll send you a few coins.
We just need to spread the word and keep getting more people interested.
Here's a link to the original introduction of the paper on the
Cryptography mailing list. (Inflation issues were superseded by changes
I made later to support transaction fees and the limited circulation
plan. This link is a moving target, this archive page is just a certain
number of days back and the discussion will keep scrolling off to the
next page.)
http://www.mail-archive.com/[email protected]/mail3.html
A little follow up when the software was released.
http://www.mail-archive.com/[email protected]/mail2.html
My description of how Bitcoin solves the Byzantine Generals' problem:
http://www.bitcoin.org/byzantine.html
이메일 #004
Date: Mon, 04 May 2009 03:17:22 +0300
From: [email protected]
To: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin
한글 번역
Quoting Satoshi Nakamoto <[email protected]>:
좋겠습니다! sourceforge 프로젝트에 개발자로 당신(dmp1ce)을 추가했고, 웹 공간을 비롯한 모든 것을 편집할 권한을 드렸습니다.
아, 그건 제가 아니라 돕고 싶어 한 다른 분입니다. Freedomain Radio 포럼에서 본 적이 있습니다. 제 이름은 Martti Malmi이고 제 Sourceforge 계정은 sirius-m입니다. 괜찮습니다!
답변해 주신 질문들 감사합니다, faq에 넣겠습니다. 지금까지 한 것은 이렇습니다:
**** Bitcoin FAQ ****
일반 질문
1 비트코인이란 무엇인가요?
비트코인은 피어투피어 네트워크 기반의 익명 디지털 통화입니다. 피어투피어(P2P)란 새 화폐를 발행하거나 트랜잭션을 기록하는 중앙 기관이 없다는 뜻입니다. 대신 그런 일은 네트워크 노드들이 함께 관리합니다. 익명이란 거래 당사자의 현실 세계 신원을 대중에게, 심지어 당사자끼리도 숨긴 채 둘 수 있다는 뜻입니다.
2 비트코인은 어떻게 돌아가나요?
비트코인은 공개/개인키 암호를 이용합니다. 사용자 A에서 사용자 B로 코인이 이전될 때, A는 B의 공개키를 코인에 더하고 자신의 개인키로 서명합니다. 이제 B가 코인을 소유하고 더 이전할 수 있습니다. A가 이미 쓴 코인을 또 다른 사용자 C에게 이전하지 못하게 하려고, 이전 트랜잭션 전체의 공개 목록을 비트코인 노드 네트워크가 함께 유지하고, 매 거래 전에 코인이 쓰이지 않았는지 확인합니다.
자세한 내용은 심화 질문 장을 보세요.
3 비트코인의 가치는 무엇으로 뒷받침되나요?
비트코인은 교환할 수 있는 것으로 가치가 매겨지며, 모든 전통 지폐 통화와 같습니다.
첫 사용자가 백 비트코인을 주는 누구에게든 피자를 만들어 주겠다고 공개적으로 알리면, 그는 비트코인을 어느 정도 지불 수단으로 쓸 수 있습니다. 사람들이 피자를 원하고 그의 알림을 신뢰하는 만큼입니다. 그를 친구로 신뢰하는 피자 좋아하는 미용사가 멋진 헤어컷 대가로 비트코인을 받기 시작한다고 알리면, 비트코인의 가치는 더 높아집니다. 이제 그것들로 피자와 헤어컷을 살 수 있으니까요. 비트코인이 충분히 널리 받아들여지게 되면, 그는 피자 장사를 그만두고도 비트코인 저축으로 살아갈 수 있습니다.
4 새 비트코인은 어떻게 만들어지나요?
새 코인은 네트워크 노드가 일정한 계산 문제의 답을 찾을 때마다 생성됩니다. 비트코인 네트워크 첫 4년 동안은 X만큼의 코인이 만들어집니다. 양은 4년마다 절반이 되니, 4년 뒤에는 X/2, 8년 뒤에는 X/4가 되고 이런 식입니다. 따라서 코인 총수는 2X에 다가갑니다.
5 비트코인은 안전한가요?
네, 코인 키를 백업하고, 강력한 비밀번호로 보호하고, 컴퓨터에 키로거가 없게 하면 안전합니다. 키를 잃거나 알 수 없는 공격자가 잠금을 풀면 코인을 되찾을 방법이 없습니다. 코인이 많다면 여러 키에 나눠 두는 것이 좋습니다. 달러나 유로를 전부 종이 하나로 한 지갑에 넣어 무방비로 두지 않는 것과 마찬가지일 겁니다.
6 왜 비트코인을 써야 하나요?
• 제3자를 신뢰하지 않고 인터넷으로 쉽게 송금하세요.
• 제3자는 당신의 거래를 막거나 통제할 수 없습니다.
• 독점적 중앙은행의 불공정한 통화 정책과, 화폐 공급에 대한 집중된 힘의 다른 위험에서 안전하세요. 비트코인 시스템의 화폐 공급에서 제한된 인플레이션은 은행 엘리트에게 독점되지 않고 (CPU 파워로) 네트워크 전체에 고르게 분배됩니다.
• 비트코인 경제의 성장이 인플레이션율을 웃돌면서 비트코인의 가치는 오를 가능성이 큽니다. 비트코인을 투자로 보고 오늘 노드를 돌리세요!
7 비트코인을 어디서 구하나요?
비트코인 소유자를 찾아서 뭔가를 파세요. MMORPG 장비, IT 지원, 잔디 깎기, 달러, 그와 거래할 수 있는 무엇이든 됩니다. 비트코인 네트워크 노드를 돌려서 새 비트코인을 직접 만들 수도 있습니다.
영어 원문
Quoting Satoshi Nakamoto <[email protected]>:
> That would be great! I added you (dmp1ce) as a dev to the sourceforge
> project and gave you access to edit the web space and everything.
Oh, that's not me but another guy who wanted to help. I've seen him on
the Freedomain Radio forum. My name is Martti Malmi and my Sourceforge
account is sirius-m. No problem!
Thanks for your answered questions, I'll add them to the faq. Here's
what I've done so far:
**** Bitcoin FAQ ****
General Questions
1 What is bitcoin?
Bitcoin is a peer-to-peer network based anonymous digital
currency. Peer-to-peer (P2P) means that there is no central
authority to issue new money or to keep track of the
transactions. Instead, those tasks are managed collectively by
the nodes of the network. Anonymity means that the real world
identity of the parties of a transaction can be kept hidden from
the public or even from the parties themselves.
2 How does bitcoin work?
Bitcoin utilizes public/private key cryptography. When a coin is
transfered from user A to user B, A adds B's public key to the
coin and signs it with his own private key. Now B owns the coin
and can transfer it further. To prevent A from transfering the
already used coin to another user C, a public list of all the
previous transactions is collectively maintained by the network
of bitcoin nodes, and before each transaction the coin's
unusedness will be checked.
For details, see chapter Advanced Questions.
3 What is bitcoin's value backed by?
Bitcoin is valued for the things it can be exchanged to, just
like all the traditional paper currencies are.
When the first user publicly announces that he will make a pizza
for anyone who gives him a hundred bitcoins, then he can use
bitcoins as payment to some extent - as much as people want pizza
and trust his announcement. A pizza-eating hairdresser who trusts
him as a friend might then announce that she starts accepting
bitcoins as payment for fancy haircuts, and the value of the
bitcoin would be higher - now you could buy pizzas and haircuts
with them. When bitcoins have become accepted widely enough, he
could retire from his pizza business and still be able to use his
bitcoin-savings.
4 How are new bitcoins created?
New coins are generated by a network node each time it finds the
solution to a certain calculational problem. In the first 4 years
of the bitcoin network, amount X of coins will be created. The
amount is halved each 4 years, so it will be X/2 after 4 years,
X/4 after 8 years and so on. Thus the total number of coins will
approach 2X.
5 Is bitcoin safe?
Yes, as long as you make backups of your coin keys, protect them
with strong passwords and keep keyloggers away from your
computer. If you lose your key or if some unknown attacker
manages to unlock it, there's no way to get your coins back. If
you have a large amount of coins, it is recommended to distribute
them under several keys. You propably wouldn't either keep all
your dollars or euros as paper in a single wallet and leave it
unguarded.
6 Why should I use bitcoin?
• Transfer money easily through the internet, without having to
trust third parties.
• Third parties can't prevent or control your transactions.
• Be safe from the unfair monetary policies of the monopolistic
central banks and the other risks of centralized power over a
money supply. The limited inflation of the bitcoin system's
money supply is distributed evenly (by CPU power) throughout
the network, not monopolized to a banking elite.
• Bitcoin's value is likely to increase as the growth of the
bitcoin economy exceeds the inflation rate - consider bitcoin
an investment and start running a node today!
7 Where can I get bitcoins?
Find a bitcoin owner and sell her something - MMORPG equipement,
IT support, lawn mowing, dollars or whatever you can trade with
her. You can also generate new bitcoins for yourself by running a
bitcoin network node.
이메일 #005
Date: Mon, 04 May 2009 16:51:00 +0100
From: Satoshi Nakamoto <[email protected]>
Subject: Re: Bitcoin
To: [email protected]
한글 번역
이런, sourceforge 사용자 이름을 헷갈렸네요, 죄송합니다. 사용자 이름을 찾으려고 이메일을 보다가 잘못된 이메일을 클릭했습니다. 이제 접근 권한이 있습니다.
FAQ 지금까지 잘 되어 가네요!
bitcoin.sourceforge.net에는 원하는 것을 무엇이든 만들 수 있습니다. 비트코인이 무엇이고 어떻게 쓰고 왜 쓰는지 새로 온 사용자가 빨리 익숙해질 만한 것, 그리고 깔끔하고 전문적으로 보여서 잘 자리 잡은 것처럼 보이게 하는 것이 도움이 됩니다. bitcoin.org의 사이트는 암호학 리스트에 설계 논문을 발표할 때 교수다운 스타일로 디자인했는데, 이제 그 단계에서는 벗어나고 있습니다.
아마 "여러 키에 나눠 두세요" 부분은 바꿔야 할 겁니다. 논문에서 그 말이 소프트웨어가 하라는 뜻일 때는 실제로 그렇게 합니다. 프라이버시상 소프트웨어는 이미 매 거래마다 다른 키를 쓰니, 지갑 속 돈 조각마다 이미 다른 키에 있습니다. 예외는 비트코인 주소를 쓸 때로, 같은 비트코인 주소로 보낸 것은 전부 같은 키에 있어서 익명을 노리면 프라이버시 위험이 있습니다. EC-DSA 키 크기는 매우 강하고(미래를 보고 크기를 정했습니다), 키가 깨질 걱정은 실제로 하지 않아도 되지만, 혹시 깨지더라도 막대한 연산 자원을 쓴 누군가는 누군가의 계좌 전체가 아니라 한 거래분 돈만 깰 수 있다는 이점이 있습니다. 지갑 파일을 백업하는 법의 세부 내용은 Q&A 모음에 있고 readme.txt에도 설명되어 있으며 확실히 FAQ에 들어가야 합니다.
아, freedomainradio에서 byronm의 우려를 다루려는 거군요. 비밀번호 기능이 그 주장에 답하는 데 유용하다는 말이 무슨 뜻인지 알겠습니다. 은행은 당신의 이름과 계좌번호를 가진 누구든 계좌를 털게 해 주고, 나이지리아에서 되찾지도 못합니다. 누군가 당신의 컴퓨터에 키로거를 설치하면 은행 비밀번호를 알아내 계좌에서 돈을 빼내는 것도 마찬가지입니다. 지갑을 비밀번호로 암호화하고 나면, 우리가 은행보다 훨씬 안전하다고 더 분명히 주장할 수 있습니다. 우리는 강력한 암호화를 쓰지만, 은행은 계좌 정보를 가진 누구든 계좌에서 돈을 빼 가게 합니다.
[email protected] wrote:
Quoting Satoshi Nakamoto <[email protected]>:
좋겠습니다! sourceforge 프로젝트에 개발자로 당신(dmp1ce)을 추가했고, 웹 공간을 비롯한 모든 것을 편집할 권한을 드렸습니다.
아, 그건 제가 아니라 돕고 싶어 한 다른 분입니다. Freedomain Radio 포럼에서 본 적이 있습니다. 제 이름은 Martti Malmi이고 제 Sourceforge 계정은 sirius-m입니다. 괜찮습니다!
답변해 주신 질문들 감사합니다, faq에 넣겠습니다. 지금까지 한 것은 이렇습니다:
**** Bitcoin FAQ ****
일반 질문
1 비트코인이란 무엇인가요?
비트코인은 피어투피어 네트워크 기반의 익명 디지털 통화입니다. 피어투피어(P2P)란 새 화폐를 발행하거나 트랜잭션을 기록하는 중앙 기관이 없다는 뜻입니다. 대신 그런 일은 네트워크 노드들이 함께 관리합니다. 익명이란 거래 당사자의 현실 세계 신원을 대중에게, 심지어 당사자끼리도 숨긴 채 둘 수 있다는 뜻입니다.
2 비트코인은 어떻게 돌아가나요?
비트코인은 공개/개인키 암호를 이용합니다. 사용자 A에서 사용자 B로 코인이 이전될 때, A는 B의 공개키를 코인에 더하고 자신의 개인키로 서명합니다. 이제 B가 코인을 소유하고 더 이전할 수 있습니다. A가 이미 쓴 코인을 또 다른 사용자 C에게 이전하지 못하게 하려고, 이전 트랜잭션 전체의 공개 목록을 비트코인 노드 네트워크가 함께 유지하고, 매 거래 전에 코인이 쓰이지 않았는지 확인합니다.
자세한 내용은 심화 질문 장을 보세요.
3 비트코인의 가치는 무엇으로 뒷받침되나요?
비트코인은 교환할 수 있는 것으로 가치가 매겨지며, 모든 전통 지폐 통화와 같습니다.
첫 사용자가 백 비트코인을 주는 누구에게든 피자를 만들어 주겠다고 공개적으로 알리면, 그는 비트코인을 어느 정도 지불 수단으로 쓸 수 있습니다. 사람들이 피자를 원하고 그의 알림을 신뢰하는 만큼입니다. 그를 친구로 신뢰하는 피자 좋아하는 미용사가 멋진 헤어컷 대가로 비트코인을 받기 시작한다고 알리면, 비트코인의 가치는 더 높아집니다. 이제 그것들로 피자와 헤어컷을 살 수 있으니까요. 비트코인이 충분히 널리 받아들여지게 되면, 그는 피자 장사를 그만두고도 비트코인 저축으로 살아갈 수 있습니다.
4 새 비트코인은 어떻게 만들어지나요?
새 코인은 네트워크 노드가 일정한 계산 문제의 답을 찾을 때마다 생성됩니다. 비트코인 네트워크 첫 4년 동안은 X만큼의 코인이 만들어집니다. 양은 4년마다 절반이 되니, 4년 뒤에는 X/2, 8년 뒤에는 X/4가 되고 이런 식입니다. 따라서 코인 총수는 2X에 다가갑니다.
5 비트코인은 안전한가요?
네, 코인 키를 백업하고, 강력한 비밀번호로 보호하고, 컴퓨터에 키로거가 없게 하면 안전합니다. 키를 잃거나 알 수 없는 공격자가 잠금을 풀면 코인을 되찾을 방법이 없습니다. 코인이 많다면 여러 키에 나눠 두는 것이 좋습니다. 달러나 유로를 전부 종이 하나로 한 지갑에 넣어 무방비로 두지 않는 것과 마찬가지일 겁니다.
6 왜 비트코인을 써야 하나요?
• 제3자를 신뢰하지 않고 인터넷으로 쉽게 송금하세요.
• 제3자는 당신의 거래를 막거나 통제할 수 없습니다.
• 독점적 중앙은행의 불공정한 통화 정책과, 화폐 공급에 대한 집중된 힘의 다른 위험에서 안전하세요. 비트코인 시스템의 화폐 공급에서 제한된 인플레이션은 은행 엘리트에게 독점되지 않고 (CPU 파워로) 네트워크 전체에 고르게 분배됩니다.
• 비트코인의 가치는 비트코인 경제의 성장이 인플레이션율을 웃돌면서 오를 가능성이 큽니다. 비트코인을 투자로 보고 오늘 노드를 돌리세요!
7 비트코인을 어디서 구하나요?
비트코인 소유자를 찾아서 뭔가를 파세요. MMORPG 장비, IT 지원, 잔디 깎기, 달러, 그와 거래할 수 있는 무엇이든 됩니다. 비트코인 네트워크 노드를 돌려서 새 비트코인을 직접 만들 수도 있습니다.
영어 원문
Oh crap, I got your sourceforge usernames mixed up, sorry about that. I
clicked on the wrong e-mail when I was looking for your username. You
now have access.
Your FAQ looks good so far!
You can create whatever you want on bitcoin.sourceforge.net. Something
to get new users up to speed on what Bitcoin is and how to use it and
why, and clean and professional looking would help make it look well
established. The site at bitcoin.org was designed in a more
professorial style when I was presenting the design paper on the
Cryptography list, but we're moving on from that phase.
You should probably change the part about "distribute them under several
keys". When the paper says that it means for the software to do it, and
it does. For privacy reasons, the software already uses a different key
for every transaction, so every piece of money in your wallet is already
on a different key. The exception is when using a bitcoin address,
everything sent to the same bitcoin address is on the same key, which is
a privacy risk if you're trying to be anonymous. The EC-DSA key size is
very strong (sized for the future), we don't practically have to worry
about a key getting broken, but if we did there's the advantage that
someone expending the massive computing resources would only break one
single transaction's worth of money, not someone's whole account. The
details about how to backup your wallet files is in the Q&A dump and
also it's explained in readme.txt and definitely belongs in the FAQ.
Oh I see, you're trying to address byronm's concern on freedomainradio.
I see what you mean about the password feature being useful to address
that argument. Banks let anyone who has your name and account number
drain your account, and you're not going to get it back from Nigeria.
If someone installs a keylogger on your computer, they could just as
easily get your bank password and transfer money out of your account.
Once we password encrypt the wallet, we'll be able to make a clearer
case that we're much more secure than banks. We use strong encryption,
while banks still let anyone who has your account info draw money from
your account.
[email protected] wrote:
> Quoting Satoshi Nakamoto <[email protected]>:
>
>> That would be great! I added you (dmp1ce) as a dev to the sourceforge
>> project and gave you access to edit the web space and everything.
>
> Oh, that's not me but another guy who wanted to help. I've seen him on
> the Freedomain Radio forum. My name is Martti Malmi and my Sourceforge
> account is sirius-m. No problem!
>
> Thanks for your answered questions, I'll add them to the faq. Here's
> what I've done so far:
>
> **** Bitcoin FAQ ****
>
> General Questions
>
> 1 What is bitcoin?
>
> Bitcoin is a peer-to-peer network based anonymous digital
> currency. Peer-to-peer (P2P) means that there is no central
> authority to issue new money or to keep track of the
> transactions. Instead, those tasks are managed collectively by
> the nodes of the network. Anonymity means that the real world
> identity of the parties of a transaction can be kept hidden from
> the public or even from the parties themselves.
>
> 2 How does bitcoin work?
>
> Bitcoin utilizes public/private key cryptography. When a coin is
> transfered from user A to user B, A adds B's public key to the
> coin and signs it with his own private key. Now B owns the coin
> and can transfer it further. To prevent A from transfering the
> already used coin to another user C, a public list of all the
> previous transactions is collectively maintained by the network
> of bitcoin nodes, and before each transaction the coin's
> unusedness will be checked.
>
> For details, see chapter Advanced Questions.
>
> 3 What is bitcoin's value backed by?
>
> Bitcoin is valued for the things it can be exchanged to, just
> like all the traditional paper currencies are.
>
> When the first user publicly announces that he will make a pizza
> for anyone who gives him a hundred bitcoins, then he can use
> bitcoins as payment to some extent - as much as people want pizza
> and trust his announcement. A pizza-eating hairdresser who trusts
> him as a friend might then announce that she starts accepting
> bitcoins as payment for fancy haircuts, and the value of the
> bitcoin would be higher - now you could buy pizzas and haircuts
> with them. When bitcoins have become accepted widely enough, he
> could retire from his pizza business and still be able to use his
> bitcoin-savings.
>
> 4 How are new bitcoins created?
>
> New coins are generated by a network node each time it finds the
> solution to a certain calculational problem. In the first 4 years
> of the bitcoin network, amount X of coins will be created. The
> amount is halved each 4 years, so it will be X/2 after 4 years,
> X/4 after 8 years and so on. Thus the total number of coins will
> approach 2X.
>
> 5 Is bitcoin safe?
>
> Yes, as long as you make backups of your coin keys, protect them
> with strong passwords and keep keyloggers away from your
> computer. If you lose your key or if some unknown attacker
> manages to unlock it, there's no way to get your coins back. If
> you have a large amount of coins, it is recommended to distribute
> them under several keys. You propably wouldn't either keep all
> your dollars or euros as paper in a single wallet and leave it
> unguarded.
>
> 6 Why should I use bitcoin?
>
> • Transfer money easily through the internet, without having to
> trust third parties.
>
> • Third parties can't prevent or control your transactions.
>
> • Be safe from the unfair monetary policies of the monopolistic
> central banks and the other risks of centralized power over a
> money supply. The limited inflation of the bitcoin system's
> money supply is distributed evenly (by CPU power) throughout
> the network, not monopolized to a banking elite.
>
> • Bitcoin's value is likely to increase as the growth of the
> bitcoin economy exceeds the inflation rate - consider bitcoin
> an investment and start running a node today!
>
> 7 Where can I get bitcoins?
>
> Find a bitcoin owner and sell her something - MMORPG equipement,
> IT support, lawn mowing, dollars or whatever you can trade with
> her. You can also generate new bitcoins for yourself by running a
> bitcoin network node.
>