Bit Gold는 비용이 많이 드는 계산으로 디지털 대상을 만들고, 타임스탬프와 공동 소유권 장부를 결합한 Nick Szabo의 제안입니다. Szabo의 훗날 회고에 따르면 아이디어는 1998년에 나왔고, 잘 알려진 공개 설명은 2005년에 발표됐습니다. 실제로 출시된 통화도, 실물 금을 담보로 한 비트코인도 아닙니다.
일반 파일은 다른 사람에게 보내면서 자신도 사본을 보관할 수 있습니다. 사진이라면 문제가 없습니다. 하지만 돈이라면 같은 가치를 계속해서 쓸 수 있다는 뜻이 됩니다. 그래서 Nick Szabo가 찾던 것은 마법처럼 복사할 수 없는 파일이 아니었습니다. 비용이 드는 디지털 대상의 생성과, 누구 소유인지 공개적으로 확인할 수 있는 기록을 연결하려고 했습니다. Bit Gold라는 이름은 구하기 어렵다는 점에서 금을 떠올리게 합니다. 금고에 금을 보관하고 그에 대한 디지털 교환증을 발행한다는 뜻은 아닙니다. [1] [2] [7]
출발점은 공개된 과제입니다. 비트, 즉 0과 1의 나열을 바탕으로 컴퓨터가 정해진 조건에 맞는 결과를 찾습니다. 찾는 데는 많은 계산이 필요하지만, 이미 나온 답을 다른 사람이 확인하기는 더 쉽습니다. 이 원리를 Proof of Work, 즉 계산 작업을 수행했다는 증명이라고 합니다. Szabo는 새로운 Bit Gold 한 조각을 만드는 계산의 난도를 검증할 수 있기를 바랐습니다. 그러나 이것만으로 돈이 만들어지는 것은 아닙니다. 결과가 언제 나왔는지, 누구 소유인지, 소유권을 어떻게 넘길지 정해야 합니다. [1] [2]
마지막으로 만든 조각이 다음 계산의 과제를 제공하도록 구상했습니다. 그러면 결과들은 서로 무관한 문제의 집합이 아니라 연결된 이력을 이룹니다. 앞 단계를 끝낸 결과에 따라 다음 단계의 과제가 정해지는 작업을 생각해 보세요. 이 연결은 제안을 이해하는 데 중요하지만, 완성된 Bitcoin의 블록체인과 같지는 않습니다. 블록은 거래 묶음이며, 이 묶음들을 연결해 거래 이력을 기록합니다. 결과를 이어 붙이는 것만으로는 기록이 충돌하거나 부정직한 참여자가 있을 때 전체 네트워크가 어떻게 합의할지까지 해결되지 않습니다. [1] [2] [6]
또 다른 요소는 타임스탬프입니다. 특정 데이터가 늦어도 어느 시점에는 이미 존재했다는 것을 입증합니다. 제안은 여러 독립적인 시간 서비스를 이용해, 사용자가 시계와 기록을 관리하는 한 곳에만 의존하지 않도록 했습니다. 작업 증명을 공개할 때 시간 기록도 함께 붙이는 방식입니다. 시간이 왜 중요할까요? 미래의 장비에서는 같은 계산을 훨씬 싸게 할 수 있기 때문입니다. 희소성을 평가하려면 계산이 이루어진 시기도 알아야 합니다. 타임스탬프 자체가 시장 가격을 정하거나 결과에 관한 모든 주장을 보증하는 것은 아닙니다. [1] [4]
과제와 시간이 표시된 결과는 소유권 장부에 들어갑니다. 각 조각에 공개 키를 연결하는 공개 목록이라고 생각하면 됩니다. 다른 사람은 이 데이터를 이용해 지시의 서명을 검증합니다. 서명을 만드는 데 쓰는 대응하는 개인 키는 소유자가 비밀로 보관합니다. 목록은 서버 한 대가 아니라 여러 서버가 협력해서 관리하도록 했습니다. Szabo는 비잔틴 장애에 견디는 방법을 언급했습니다. 이는 컴퓨터가 단순히 고장 나는 것뿐 아니라 일부러 거짓 정보를 보내는 상황까지 다루는 개념입니다. 다만 이런 내성에는 조건이 있습니다. 공격자가 충분히 많은 관리자를 장악하면 데이터베이스를 여러 기계에 나누는 것만으로 안전해지지는 않습니다. [1] [8]
Alice가 자신의 조각을 Peter에게 넘긴다면, 핵심은 장부에 남는 서명된 이전 기록입니다. 소프트웨어는 지시와 개인 키를 바탕으로 디지털 서명을 계산합니다. 다른 사람은 이 서명으로 해당 키를 가진 사람이 소유권 이전에 서명했는지 확인할 수 있습니다. Peter는 이전까지의 양도 이력을 살펴보고 마지막 권리가 정말 자신에게 이어지는지 검증합니다. 결제할 때마다 처음의 비싼 계산을 다시 할 필요는 없습니다. 공개 데이터는 여전히 누구나 복사할 수 있습니다. 그러나 사본을 만들었다고 소유자가 되지는 않습니다. 권리 문서를 사진으로 찍는다고 장부의 명의가 바뀌지 않는 것과 같습니다. 어떤 이전이 유효한지에 대한 합의가 핵심입니다. [1] [8]
일반 통화에서는 같은 단위가 서로 바꿔 쓸 수 있기를 기대합니다. 체코 코루나 한 단위를 다른 한 단위와 똑같이 받아들이는 식입니다. 하지만 Bit Gold에는 문제가 있었습니다. 다른 시기나 장비에서 수행한 계산은 비용이 같지 않을 수 있습니다. 누군가 훨씬 좋은 장비를 개발해 새 조각을 빠르게 대량 생산할 수도 있습니다. 그래서 Szabo는 시장에서 각각의 가치를 평가하고, 가치가 다른 조각들을 합쳐 총가치가 비슷한 묶음을 만들자고 제안했습니다. 이 묶음은 다시 일반적인 결제 단위로 나눌 예정이었습니다. 단순히 결과의 개수나 데이터 길이를 세는 것보다 복잡한 방식입니다. [3] [9]
여기서는 잠시 기술을 내려놓고 생각해 볼 필요가 있습니다. 많은 작업이 들었다고 해서 누군가 꼭 사고 싶어 하거나 가격이 안정되는 것은 아닙니다. Bit Gold는 공급과 생성 이력을 공개적으로 검증할 수 있게 하려 했지만, 그것이 수요를 자동으로 만들어 주지는 않습니다. Szabo는 Bit gold markets라는 글에서 시장이 각 조각의 가치를 평가하고 쓸 수 있는 통화를 만들 수 있다고 보는 이유를 설명했습니다. 이는 제안에 담긴 기대이지, 실제 통화가 오랫동안 운영되며 입증된 결과가 아닙니다. 희소성, 결제 수단으로서의 수용, 가격 안정성은 서로 다른 문제입니다. [3] [9]
2010년 7월 20일 Satoshi Nakamoto는 포럼에서 Bitcoin이 Wei Dai의 b-money와 Szabo의 Bitgold 아이디어를 실현한다고 썼습니다. 앞선 발상을 인정한 기록이지, 두 제안에 완성된 Bitcoin이 이미 들어 있었다는 말은 아닙니다. Szabo도 2011년에 자신의 제안에 있던 약점과 Bitcoin과의 차이를 명시했습니다. 투표 참여자 장악에 대한 저항성과 계산 난도 조정을 언급했습니다. Bitcoin은 컴퓨터 수에 따른 단순 투표에 의존하지 않습니다. 유효한 체인들 사이에서 선택할 때 누적된 작업량을 사용합니다. 비슷한 구성 요소가 서로 다른 시스템을 만들 수 있는 것입니다. [5] [6] [7]
Bit Gold는 Bitcoin 이전에 나온, 깊이 고민한 제안으로 읽어야 합니다. 실제로 운영된 초기 Bitcoin도, 오늘날 같은 이름을 쓰는 토큰도 아닙니다. Bitcoin의 2,100만 개 한도나 완성된 블록 생성·검증 방식도 갖고 있지 않았습니다. 그렇다고 관련된 모든 생각이 문서에만 머물렀다는 것도 틀립니다. Hal Finney는 계산 작업의 증명을 이전하기 위한 별도의 RPOW(Reusable Proofs of Work) 시스템을 실제로 구현했습니다. 초보자에게 Bit Gold의 가장 큰 도움은 세 가지 질문을 구분하게 한다는 점입니다. 디지털 대상을 어떻게 만드는가, 소유권을 어떻게 입증하는가, 여러 사람이 소유자 변경에 어떻게 합의하는가. Bitcoin은 이 부분들을 작동하는 네트워크로 연결해야 했습니다. [1] [6] [7]
더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Nick Szabo, Proof of Work, b-money, Hashcash, Reusable Proofs of Work, Bitcoin. 다음 항목에서도 이 글을 참조합니다 b-money, Reusable Proofs of Work, Nick Szabo.