<story><title>Btcd: A Full Alternative Bitcoin Implementation, Written In Go</title><url>http://bitcoinmagazine.com/btcd-a-full-bitcoin-alternative-written-in-go/</url></story><parent_chain></parent_chain><comment><author>patio11</author><text>Interestingly, the main bitcoin developers generally treat other implementations of the protocol as being suspect and more-than-possibly threatening, since if you&apos;re not bug-for-bug compatible with the satoshi client that is a security risk.  This remains true even if you improve upon the satoshi client with regards to, for example, hewing closer to the published spec.&lt;p&gt;This might come as something of a surprise to many HNers, who would think &quot;But wait.  The Internet would sort of suck if HTML5 were a purely advisory document and failing to match IE6&apos;s actual behavior 100% of the time was a fatal flaw in a browser.&quot;  But, to quote a fairly representative post from their forums:&lt;p&gt;&lt;i&gt;Any implementation needs to specifically test for uniformity with the network: Bitcoin is a distributed consensus algorithm and differences in what nodes accept or reject in the blockchain— things which would be minor harmless behavioral differences in most software—  can often result in fatal security flaws where an attacker can move the nodes in question onto a separate fork and double-spend their funds away or partition the network. This requires a unusual level of care and system level tests.&lt;p&gt;Many of the most interesting cases are the great many things which must be rejected as no amount of exposure to the live network will trigger those cases (until an attacker exploits them to partition the network).&lt;/i&gt; (cite: &lt;a href=&quot;https://bitcointalk.org/index.php?topic=192880.0&quot; rel=&quot;nofollow&quot;&gt;https://bitcointalk.org/index.php?topic=192880.0&lt;/a&gt;)</text></comment>
<story><title>Btcd: A Full Alternative Bitcoin Implementation, Written In Go</title><url>http://bitcoinmagazine.com/btcd-a-full-bitcoin-alternative-written-in-go/</url></story><parent_chain></parent_chain><comment><author>swhitt</author><text>When this was posted on reddit there was a bit of confusion as the title lead people to believe this was about an alternate cryptocurrency (like litecoin, feathercoin, etc).&lt;p&gt;It&apos;s actually a complete reimplementation of the Bitcoin &lt;i&gt;protocol&lt;/i&gt;, which can be used as an alternative to the bitcoind/bitcoin-qt (the official Bitcoin p2p clients) JSON-RPC interface.</text></comment>