主页 > imtoken钱包官方苹果 > 比特币系统的核心思想

比特币系统的核心思想

imtoken钱包官方苹果 2023-01-17 04:35:51

比特币系统的核心思想

我们之前说过,比特币中的每个节点都没有一个稳定的、长期的身份,这也不同于传统的分布式共识算法。 之所以没有身份,是因为在比特币这种点对点的网络中,不需要中央权威机构来颁发身份,也不需要保证它们没有制造节点。 事实上,制造随机节点就是所谓的“女巫攻击”现象。 另一个原因是假名,这也是比特币想要达到的目标,所以即使可以为所有节点建立唯一的真实身份,比特币也不想那么做。 虽然比特币仍然不能保证真正的匿名性,但不同身份的用户进行的不同交易最终还是可以被追踪到的比特币共识算法,但比特币的特性毕竟不强制每个人都以真实身份加入。

比特币自动交易算法_比特币挖矿的算法_比特币共识算法

如果是真实身份

如果所有节点都有真实身份,设计起来会更容易。 有了真实身份,我们就可以通过这种方式发出协议指令,比如“编号最小的节点开始做一些动作”。 在没有真实身份的情况下,系统可以设计指令,受到很多限制比特币共识算法,但设计真实身份主要考虑的是安全性和便利性。 如果可以识别节点的身份,就不能随便创建新的节点身份。 这样,我们就可以假设有恶意节点并部署安全措施来防范它们。 基于以上原因,真实身份的缺失给比特币的共识协议带来了诸多困难。

比特币共识算法_比特币挖矿的算法_比特币自动交易算法

隐性共识

任意节点选择的假设启用“隐式共识”(inplicit consensus)。 我们的共识协议有多个轮次,每个轮次对应区块链中的一个块。 在每一轮中,随机选择一个节点,然后该节点可以提议链的下一个块。 此时,没有共识算法,也没有投票过程来决定选择哪个区块。 随机选择的节点将直接决定区块链的下一个区块,但如果这个节点是恶意的呢? 这个问题还是有解决办法的,解决办法就是隐式共识。 其他节点可以隐含地接受或拒绝先前随机选择的节点。 如果他们接受,他们将在这个区块之后继续接龙; 如果他们拒绝,他们将忽略这个新方块,而是选择先前接受的方块继续纸牌游戏。 因为每个区块都记录了前一个区块的哈希值。 这就是节点选择哪个区块继续接龙的技术方式:比特币共识算法

比特币自动交易算法_比特币挖矿的算法_比特币共识算法

该算法的简化假设是可以随机选择一个节点,这些节点都不会受到 Sybil 攻击的影响。

新交易广播到所有节点; 每个节点将新交易放入一个块中; 在每一轮中,一个随机节点可以广播它的区块; 其他节点可以选择接受这个区块,前提是区块中的交易都是合法的(有真实签名); 节点可以将上述区块的哈希值放入自己的区块中,以表示对新区块的认可。验证共识算法的有效性

比特币共识算法_比特币挖矿的算法_比特币自动交易算法

假设有一个叫凡凡的黑客想要破坏这个共识过程。

窃取比特币

比特币自动交易算法_比特币挖矿的算法_比特币共识算法

凡凡可以从属于另一个用户且不受他控制的地址窃取比特币吗? 答案是否定的。 即使凡凡在这一轮提出区块链上的下一个区块,他也不可能盗取别人的比特币。 为此,凡凡需要发起一笔有效的交易来花费比特币。 这需要凡凡伪造比特币所有者的签名,但如果数字签名机制是安全的,他就做不到。 只要底层密码学是可靠的,他就不能轻易窃取比特币。

拒绝服务攻击

让我们考虑另一种攻击。 假设凡凡不喜欢远外用户,凡凡可以决定不将任何由远外发起的交易放入他提议的区块中。 也就是说,他拒绝为工作人员提供服务。 这虽然是凡凡能够施展的有效攻击,但好在只是小问题而已。 如果缘外的交易没有被放入凡凡提议的下一个区块,缘外只需要等到下一个诚实节点发起一个区块,他的交易记录就会被放入这个区块。 所以这实际上不是有效的攻击。