Home / Knowledge / btcd: Go로 작성된 완전한 대체 비트코인 구현

btcd: Go로 작성된 완전한 대체 비트코인 구현

btcd: Go로 작성된 완전한 대체 비트코인 구현 1

btcd: Go로 작성된 완전한 대체 비트코인 구현 1

Conformal은 프라이버시와 보안을 위한 오픈 소스 소프트웨어를 구축하는 데 집중하는 회사로, 그들의 최신 프로젝트인 btcd를 공개했습니다. btcd는 구글의 프로그래밍 언어인 Go로 작성된 완전한 비트코인 재구현입니다. 구현은 아직 완전히 완료되지 않았지만, 트랜잭션 검증, 데이터베이스 상호작용 및 네트워크 연결과 같은 대부분의 핵심 기능이 작동하는 것으로 테스트되었으며, 회사는 시스템의 한 구성 요소인 btcwire를 공개 검토를 위해 출시했습니다. btcwire는 btcd의 내부 표현과 직접 네트워크 전송에 적합한 직렬화된 형식 간의 비트코인 프로토콜 메시지를 변환하는 데 중점을 둔 패키지로, 실제로 이러한 메시지를 네트워크 연결을 통해 전송하고 수신하는 기능을 포함합니다. Conformal은 그들의 웹사이트에서 btcwire에 대한 더 자세한 설명을 제공합니다.

회사는 또한 이 대체 구현을 만들기로 한 결정에 대해 설명하는 블로그 게시물을 작성했습니다; 그들은 다음과 같이 씁니다:

Conformal Systems의 여러 명은 비트코인이 우리에게 이미 관심 있는 기술인 암호학의 실용적 사용, 분산 시스템 및 전자 결제를 결합하고 있기 때문에 지난 몇 년 동안 수동 관찰자로서 비트코인을 주의 깊게 지켜보아 왔습니다. 2013년 1월, 저는 우리 개발자 중 한 명인 David Hill에게 bitcoind와 그 GUI를 OpenBSD에서 포크한 OS인 Bitrig으로 포팅해 보도록 했습니다. David는 Bitrig으로 포팅하는 과정에서 여러 문제에 직면했고, 이 과정에서 단위 테스트, 비이식 함수 및 PRNG의 시드 문제를 발견했습니다. 포팅을 완료하기 위해 노력하는 동안, 이 포팅을 완료하는 데 평소보다 훨씬 더 많은 노력이 필요할 것이라는 것이 분명해졌습니다. 포팅 과정에서 이러한 문제를 본 후, 저는 비트코인 생태계가 bitcoind의 대안을 필요로 한다고 느꼈습니다.

그들이 프로그래밍 언어 Go를 선택한 이유에 대해, 그들은 Go가 현재 주요 사용 중인 유일한 완전 비트코인 구현인 bitcoind에서 사용되는 C++에 비해 여러 가지 장점을 가지고 있다고 씁니다. 특히 금융 소프트웨어에 중요하게 작용하는 Go는 “통합 테스트 인프라, 능동 메모리 관리 없음, 표준 포맷팅, 플랫폼 독립 코드, 더 간단한 병렬 처리, 내장 프로파일링 및 문서화 기능 [그리고 사실상] 충돌 방지”를 제공합니다. 통합 테스트 인프라는 특히 중요합니다; 테스트를 작성하는 것이 더 쉽고 자연스러울수록 더 많은 테스트를 작성할 수 있으며, 예기치 않은 엣지 케이스로 인해 또 다른 심각한 블록체인 포크를 볼 가능성이 줄어듭니다. 병렬 처리, 프로파일링 및 충돌 방지 기능은 비트코인 거래소에 특히 유용하므로, 4월 비트코인 시장 폭락에서 모든 거래소가 드러낸 성능 병목 현상을 고려할 때, 새로운 거래소 개발자들은 Go를 그들의 선택 언어로 고려할 수 있습니다.

비트코인 프로토콜을 재구현하려는 시도는 이번이 처음이 아닙니다; Amir Taaki의 libbitcoin(작성 언어: C++)와 Mike Hearn의 BitcoinJ(작성 언어: Java)도 이 업적을 달성했지만, 전자는 Electrum 서버 소프트웨어의 일부 실험적 버전에서만 사용되고 후자는 일부 안드로이드 라이트 클라이언트에서만 사용되고 있습니다. 중요하게도, 현재 채굴자들이 상당한 정도로 사용하고 있는 비트코인의 대체 구현은 없습니다.

이것이 비트코인 생태계에 건강하지 않다는 이유가 있습니다. 이론적으로 비트코인은 누구나 참여할 수 있는 오픈 소스 프로토콜이며, 대부분의 수준에서 이는 사실입니다. 트랜잭션을 생성하고 검증할 수 있는 비트코인의 부분 구현이 이미 존재하며, 이는 Blockchain 및 Electrum과 같은 대체 비트코인 클라이언트의 중추입니다. 실제로 프로토콜의 깊이로 들어갈수록 단일 문화가 되어가지만, 단일 문화는 위험합니다. 널리 사용되는 구현이 하나만 있다면, 예기치 않은 버그가 업그레이드에서 나타나거나 사라질 경우, 두 프로토콜 버전이 어떤 트랜잭션과 블록이 유효한지에 대해 의견이 일치하지 않아 비트코인 블록체인이 본질적으로 두 개로 포크될 수 있습니다. 블록체인은 스스로를 기반으로 구축되기 때문에, 하나의 실수라도 미래로 계속 이어지는 결과를 초래할 것입니다.

이것이 3월에 발생한 블록체인 포크의 원인이었습니다 – bitcoind 0.7에서 사용된 데이터베이스 소프트웨어의 이전에 알려지지 않은 제한이 비트코인 0.8이 출시된 후에만 포크를 발생시켰습니다. 두 버전은 단일 블록의 유효성에 대해 의견이 일치하지 않았고, 그로 인해 포크가 발생하여 가격이 23% 하락했습니다. 충분한 주요 채굴 풀들이 IRC 채팅에서 모여 문제를 수정하기 전까지 말입니다. 반면에 세 개 또는 다섯 개의 재구현이 있다면, 어떤 단일 버전이 다른 버전과 의견이 일치하지 않는 것은 그 버전의 사용자에게 매우 불편할 것이지만, 전체 네트워크에 심각한 영향을 미치지는 않을 것입니다.

여러 구현은 표준화에도 좋습니다; 단일 문화에서는 지배적인 소프트웨어가 표준이 되어, 지배적인 소프트웨어의 개발자들에게 프로토콜의 미래 개발에 대한 더 높은 정도의 통제를 부여합니다. 이는 개발자들이 개인적인 이익을 위해 설계 프로세스를 전복하기 위한 의식적인 결정을 내릴 필요 없이도 해롭습니다. 오늘날 거의 확실히 그렇듯이, 개발자들이 최선의 의도로 행동하고 있더라도, 소프트웨어 개발에는 복잡성과 혼란을 증가시키려는 편향이 있으며, 여러 구현이 모든 변경 사항에 대해 함께 작업해야 할 경우 이를 완화할 수 있습니다. 구현이 하나만 있다면, 오류는 더 빨리 발견되기보다는 나중에 발견되며, 그 결과는 일종의 탈레비안 “안정성이 스스로 불안정을 낳는” 상황을 초래하여, 궁극적으로 3월 블록체인 포크의 경우처럼 재앙을 일으킵니다. 또한, 개발자들은 내부적으로 작동하는 한 프로토콜을 문서화할 인센티브가 없습니다. 현재 비트코인 위키에는 문서가 존재하지만, 여러 구현이 있다면 페이지가 업데이트될 가능성이 훨씬 더 높고, 미래에 품질이 개선될 가능성도 높습니다.

btcd가 실제로 채굴자들에 의해 사용될지는 말하기 어렵습니다; 채굴자들이 기존의 bitcoind에 편안함을 느낄 가능성이 전혀 없지는 않으며, 대체 구현의 건강한 생태계가 가져올 수 있는 분산화를 통한 안정성이 결코 실현되지 않을 수도 있습니다. 그러나 그런 상태에서도, 이는 Go 사용자가 프로토콜과 상호작용하는 것을 더 쉽게 만들어 비트코인에 한 걸음 나아가는 것이 될 것입니다. Go로 작성된 비트코인 구현이 이미 작성되었지만 거의 1년 동안 업데이트되지 않았고, 단 한 명의 개발자만이 그 뒤에 있었던 것으로 보입니다. btcd는 보안과 프라이버시에 능숙한 회사에 의해 지원되어 그 신뢰성에 대한 훨씬 더 많은 신뢰를 불어넣습니다.

가까운 미래를 위해 Conformal은 “우리의 목표는 테스트 범위를 늘리고 전문적인 수준으로 끌어올리면서 btcd의 패키지를 계속 출시하는 것입니다. 각 구성 요소는 공개적으로 검토될 수 있도록 하여, 남은 패키지 작업을 계속하는 동안 사용 가능해지는 대로 정확성을 검토할 수 있도록 하는 것이 의도입니다.” 회사는 향후 몇 주 동안 패키지를 계속 출시할 계획이며, 커뮤니티가 패키지를 더 잘 검토할 수 있도록 하나씩 출시할 것입니다. 그들의 다음 릴리스는 JSON-RPC 메시지를 다루는 패키지인 btcjson이 될 것입니다. Conformal 블로그에서 더 많은 릴리스를 주목할 수 있습니다.

관련 기사

카사, 비트코인 보유자를 겨냥한 증가하는 사회 공학 공격에 대응하기 위해 네 가지 보안 기능 출시 1

사회 공학 공격에 대응하는 카사 기능

비트코인 보안 회사 카사는 2025년 암호화폐 도난의 대부분을 차지하는 공격 벡터인 사회 공학을 겨냥한 네 가지 기능을 출시했습니다. 이 기능은

마스터카드, 디지털 자산 전략을 강화하기 위해 뉴욕 비트라이센스 확보 1

마스터카드, 비트라이센스 획득

마스터카드는 뉴욕주 금융 서비스국(NYDFS)으로부터 비트라이센스를 받았으며, 이는 이 결제 거대 기업이 미국에서 가장 엄격한 암호화 규제 프레임워크 중 하나 아래에서

크라켄, 비트코인 보관소 출시 - BTC 보유에 대한 수익 제공 1

비트코인 보관소 | 크라켄의 새로운 금융 솔루션

크라켄은 고객이 자산을 판매하지 않고도 비트코인 보유량에 대해 BTC 기준 보상을 받을 수 있는 새로운 제품인 비트코인 볼트를 크라켄 어

폴드, 비트코인 신용 카드 성장을 위한 1억 5천만 달러 유치 1

비트코인 신용 카드, Fold의 성장 동력

Fold Holdings, Inc., 최초의 상장된 비트코인 금융 서비스 회사가 Encina Lender Finance, LLC와 4년간의 고정 담보 회전 신용 시설에 진입했습니다.

DDC, 한 주에 비트코인을 두 번 구매하며 자산을 14% 증가시켜 희석 없이 재무를 성장시킵니다. 1

비트코인으로 DDC 자산 14% 증가

DDC Enterprise Limited (NYSE American: DDC)는 수요일에 131 비트코인을 구매하여 기업 비트코인 금고를 2,714 BTC로 확장했다고 발표했습니다. 뉴욕에 본사를 둔

반카 셀라, MiCA에 따라 비트코인 및 암호화 서비스에 대한 라이센스를 받은 첫 번째 이탈리아 은행이 되다. 1

Banca Sella, 첫 이탈리아 비트코인 은행 승인

Banca Sella는 유럽 연합의 암호 자산 규제(MiCA) 하에서 암호화폐 서비스를 제공할 수 있는 최초의 이탈리아 은행으로 승인받았으며, 2026년 5월 27일