主页 > imtoken 观察钱包 > 比特币网络如何决定谁记账?

比特币网络如何决定谁记账?

imtoken 观察钱包 2023-04-16 05:33:57

大家都听说过,所谓区块链就是去中心化记账,这是一种有别于传统互联网的中心化数据管理的技术。 但是这种去中心化的簿记到底是怎么回事,有很多神话、争论甚至是公然的谎言。

比特币挖矿采用的算法_比特币算法软件_比特币算法

在互联网的早期,网络是点对点的,数据存储在每个人的个人电脑终端中。 需要的时候通过网络发送数据,网络只是起到管道的作用。

后来网络端的能力越来越强,开始有了大型主机、服务器集群等远超普通个人电脑计算和存储能力的设备。 越来越多的数据存储在这些服务器上,用于存储、计​​算和传输。 ,当以按需租赁的商业模式提供这些能力时,就打包了一个概念,叫做“云计算”。

一些公司使用云计算为每个人保留一个账本数据,并提供账本审查和转移等服务。 这是一个支付平台。 这个平台就是一个数据中心,大家去这个中心读写数据,就是去中心化。

为了防止账本服务器故障导致服务不可用,我们会设计一个高可用的架构。 简单的说就是让多个服务器保存同一个账本数据。 如果一个坏了,可以更换另一个,以确保服务持续稳定。

简单的多机备份就是硬性规定某些机器负责写入,然后其他机器从这些机器同步数据比特币算法比特币算法,做一个备份副本。 这就是所谓的“主从”结构。 英文原文是“master-slave”。 因此,由于美国的黑人运动,今年许多互联网科技公司都转而使用其他英文单词。 这相当于拥有一个唯一的权限,指定谁有权记账(写入账本)。

然后高级的比如Paxos算法让机器投票选出一个leader节点负责写入数据,其他机器不用动脑就可以同步。 在恶意节点参与的情况下,有PBFT等拜占庭容错算法,最多可以容忍1/3的问题节点。 但是PBFT仍然是通过投票的方式来选择leader节点记账。 这个选举系统的问题是要求所有节点一直在线,频繁投票,时钟必须同步。 这种网络结构如果放在开放的网络环境中,会比较脆弱,容易受到黑客的针对性攻击(比如日食攻击); 如果放在单一公司集中管理的机房,很容易被当局攻击。 一窝带走。 它的生命力受到环境的严重限制。

反过来还有一种记账方式,比如PoA权威共识算法。 这种方式需要所有节点都处于身份暴露状态,需要频繁上线,还有时钟同步的要求。 轮流记账也会让记账节点的顺序变得可预测,从而给黑客以可乘之机。

比特币网络决定谁应该记账的方式与上述不同。 比特币巧妙地使用了真正去中心化的决策方法。 这种方法是让所有想要记账的节点计算一道数学题,具体是找出hash值满足一定要求的原始输入是什么。 这是一个纯数学问题,每个人都可以独立计算,就像你我可以独立计算1+1=2一样。 而且只要你把你算出来的答案告诉我,我就可以很方便的检查你的答案是否正确。 这种可验证的计算结果称为 PoW 工作量证明。

那么我们都可以同意,谁先算出下一个工作量证明,谁就可以记一笔账。 其余人无条件接受本次记账节点记录的账本。 并且数学算法的设计使得每次谁先算出答案完全随机。 可能这次是你,下一次是他,第三次是给远在美国的某个人(某台机器)。

这就像我们都在掷一个有很多面的大骰子。 谁先抛出规定的花色,谁就抢得本轮的记账本。 区块链术语称为“块”。 就像小孩子玩的“大富翁”游戏,先掷骰子,再决定如何前进(向前延伸区块链)。

比特币算法软件_比特币挖矿采用的算法_比特币算法

比特币使用的骰子是数学上公平的骰子。 骰子的算法是完全开放的,这意味着可以复制无数个相同的骰子,任何人都可以参与游戏。 而且你可以偷偷地掷骰子,直到你得到要求的结果,然后跳出来告诉大家,这完全可以。 这种方式根本不需要中央指定谁来记账,也不需要大家站起来轮流记账,也不需要大家跳出来投票。 只需要大家独立掷骰子即可。 这就是这种方法的先进性。

因此,比特币网络中的哪个节点记账也可以说是天选之子。 而这个选择,上帝每隔10分钟左右就要重新做一遍,然后选择另一个节点,然后创建一个账本,放在之前的账本后面,把区块链往前延伸一点点(一个区块)。 如此周而复始,永无止境。

伟大的科学家爱因斯坦说过,上帝不掷骰子。 直到他去世,他才相信量子力学的不确定性。 中本聪发明了一种让上帝不停地掷骰子,每次掷骰子时,都会将大量比特币奖励给被选中的幸运儿。

“上帝”只是一个比喻,所有人的共识就是掷骰子的上帝。