区块链如何工作? -第4部分

要阅读第3部分,请单击此处。

但是真的安全吗?为什么叫区块链?

任何人都可以通过匿名连接(例如TOR网络或VPN网络)访问比特币网络并发送或接收交易,仅显示其公钥即可。但是,如果某人重复使用同一公共密钥,则可以将所有交易连接到同一所有者。比特币网络使您可以根据需要生成任意数量的钱包,每个钱包都有自己的公钥和私钥。这使您可以在不同的钱包中接收付款,并且除非您将所有收到的比特币发送到单个钱包,否则任何人都无法知道这些钱包中拥有所有私钥。

可能的比特币地址总数为21或1461501637330902918203684832716283019655932542976。

这个庞大的数目可保护网络免受潜在攻击,同时允许任何人拥有钱包

使用此配置,仍然存在一个主要的安全漏洞,可以在花费比特币后将其用于恢复比特币。事务在网络中的节点之间传递,因此两个事务到达每个节点的顺序可以不同。攻击者可以提交交易,等待对方提交产品,然后将反向交易发送回自己的帐户。在这种情况下,某些节点可能在第一笔交易之前收到第二笔交易,因此,由于交易条目将被标记为已花费,因此认为初始支付交易无效。您如何知道首先请求哪个交易?请求事务时间戳记是不安全的,因为它很容易被伪造。因此,无法知道某笔交易是否先于另一笔交易进行,这有可能导致欺诈。

如果发生这种情况,则网络节点之间在每个节点收到的交易顺序上将存在分歧。因此,区块链系统设计为使用节点协议来请求交易并防止上述欺诈行为。

比特币网络通过将交易分组来对交易进行排序;每个区块都包含定义数量的交易以及到上一个区块的链接。这就是将一个块放在另一个块上的原因。因此,块被组织成一个与时间相关的链(图6),该链为整个系统起了个名字:区块链。

简化的区块链序列结构

同一区块中的事务被视为同时发生,而尚未在区块中的事务被视为未确认。每个节点可以将事务分组为一个块,然后将其传输到网络,以建议将哪个块作为
接下来任何节点如何建议一个新块,系统如何同意下一个块?

要添加到区块链中,每个块必须包含使用不可逆的密码哈希函数创建的复杂数学问题的答案。解决数学问题的唯一方法是猜测随机数,将其与前一个块的内容相结合即可得出确定的结果。典型的计算机可能需要大约一年的时间才能猜出正确的数字并解决数学问题。但是,由于网络上有大量的计算机猜测数字,因此平均每10分钟就会解决一个块。解决数学问题的节点有权将下一个块放置在链中并将其传输到网络。

如果两个节点同时解决问题并将它们的块同时发送到网络怎么办?在这种情况下,两个块都被发送,并且每个节点都建立在它首先接收的块上。但是,区块链系统要求每个节点立即建立在可用的最长区块链上。因此,如果对最后一个块是什么有歧义,则在解决下一个块时,每个节点将把最长的链作为唯一的选择。

结束链歧义逻辑

由于同时解决区块的可能性低,几乎不可能通过构建不同的“分支”来同时解决多个区块,从而使整个区块链迅速稳定为所有节点都同意的单个区块序列。 。

关于哪个区块代表链末尾的分歧,再次打开了欺诈的可能。如果一个事务位于属于较短尾部的一个块中(例如图7中的B块),则下一个块被解析后,该事务以及该块中的所有其他事务将返回未提交的事务。 。

要阅读本文的第三部分,请单击此处。该续集将于明天在BitNews中发布。

本文由Michele D'Aliessi开发,并翻译成BitNews门户。

资讯来源:由0x资讯编译自BITNOTICIAS。版权归作者Bruna Grybogi所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢