Security of Bitcoin

粗略说一下bitcoin的安全机制。

先理解所谓的比特币挖矿是指什么。
比特币是一个块链(block chain),每一次交易都会往块链后加上新的交易记录,这个交易记录是以加密的hash形式发布到网络。为了让这次的交易记录被网络中的其他人所认可,需要有网络中的节点(挖矿者,miner))计算出这次交易的nonce数值。计算nonce是一个十分耗时间的过程,最终计算出来的节点将获得奖励,即比特币。

而比特币挖矿算法的巧妙之处在于,由于人的逐利性,大量资源被投入进挖矿这一行为,因此当有新的交易完成被发布到网络上时,有许多节点在竞争计算出nonce数值,因而最终计算出这个交易的节点是不确定的,(除非某个节点拥有了世界上51%的挖矿资源)。而计算出nonce的难度是根据全世界的挖矿速度而进行调整的,保证比特币的安全性。

上面说的算法特点是针对double-spending攻击,即一枚比特币被花出去超过一次。

各个节点都默认最长的block chain为有效的链条,并在后面续上新的交易。假设现有a节点想要对交易记录进行更改,a节点将不得不对已进行的交易进行耗时的计算过程,但在这一过程中,这笔交易记录后又被接上多笔记录,则a节点成功伪造交易记录的nonce值的概率将不断缩小,直至接近不可能。因此一般商家确认某笔交易是有效的判断便是这笔交易后又被接上7个交易记录。

文章参考了coursera上的bitcoin课程与维基,解释可能存在问题,如果有发现,谢谢指出。

你可能感兴趣的:(Security of Bitcoin)