主页 > token.im官网 > 比特币舞弊 深度解析区块链共识机制

比特币舞弊 深度解析区块链共识机制

token.im官网 2023-08-02 05:13:47

由于大多数加密货币采用去中心化的区块链设计,节点分散且无处不在,因此必须设计一个系统来维护系统运行的秩序和公平。

1. 什么是共识机制

统一区块链版本,奖励提供资源和维护区块链的用户,惩罚恶意危害者。 这样的系统必须依靠某种方式来证明谁获得了一个区块链的打包权(或者记账权),能够获得打包这个区块的奖励,或者谁有意为害,就会受到一定的惩罚,这是共识机制。

简单地说,我们需要一种机制来选择哪个矿工将交易写入区块链。 比如今天有100个同学上课,我们分成50组打乒乓球,那么我们就有50组的成绩要记录。

2、分布式记账与“挖矿”

传统的中央簿记意味着我们需要一个组委会来记录分数。 这样可能会出现徇私舞弊的情况,所以我们需要采用去中心化的方式。 也就是说,这50张表,每一张都要记录分数。 不仅是你自己的,还有其他人的。 这就是分布式或去中心化的簿记方法。

但是,这样做效率太低。 每个人都必须花很多时间来做这件事。 所以区块链的设计就是我们找一些矿工来记录分数。 对于这些矿工,我们会给予奖励,鼓励他们为大家记录分数,记录完之后再为每个表做一份。

这个奖励就是比特币在比特币系统中的由来。 交易本身不产生新币,矿工记录分数产生币。 也就是说,代币的目的是奖励那些努力工作的人,这就是“挖矿”的原理。

有了回报,问题就来了。 比如比特币,每次记账(10分钟)可以产生12.5个比特币(现在,以前是50个),按照今天的价格,是50万元。 那么肯定有很多矿工冲着去给大家打分,才能拿到这个奖励。

那么应该如何选择矿工呢? 这就需要使用“共识机制”。 也就是说大家同意让我们今天的一个同学按照一定的规则记录大家的分数,记录完之后所有的奖励都给他。

当然比特币舞弊,这个例子比较简单,但这就是本质。 这场乒乓球比赛可以理解为一场交易。 比分就是簿记。 记录分数的人就是矿工。 奖励金是比特币或代币。

首先,交易发起者构造交易,添加数字签名,广播到区块链P2P网络。 然后,区块链网络中的“矿工”节点陆续收到这笔交易。 然后,所有矿工将这笔交易打包到自己的候选区块中,然后广播自己的候选区块。

此时全网根据“共识机制”决定由哪个矿工负责写入这个区块。 然后矿工将负责将区块添加到区块链并完成区块中的所有交易。 最终交易完成,交易参与者可以查询交易执行结果。

那么,“共识机制”是什么时候出现的呢?

1982年,兰波特首次发表了解决拜占庭将军问题的论文,该论文后来获得了计算领域的最高奖项:图灵奖。

比特币怎么比特币钱包_比特币舞弊_比特币行情实时走势图比特币行情

1999 年,Jakobsson 发表了一篇关于 PoW 的论文。

2008年11月,中本聪发表了一篇关于比特币的论文,采用了PoW作为共识机制。

2012年,PeerCoin项目开始采用PoS作为共识机制。

2016年,Tendermint项目开始采用PBFT作为公示机制。

2018年,以太坊项目在2.0版本提出通过Casper方式采用PoS作为共识机制。 其实今天V神就是在呈现欧洲这方面的最新进展。

这里需要提到的是,任何分布式系统(包括比特币甚至货币)都有一个不可能的三角:性能、可扩展性和去中心化。

例如,人民币具有高性能和可扩展性(每天有无数人使用它进行交易),但去中心化程度低(央行想印多少就印多少)。 对于比特币来说比特币舞弊,去中心化程度高,可扩展性高,但性能低。

所以,在设计和选择共识机制的时候,一定要记住这三点:优化哪一方面,牺牲哪一方面,因为这三点你不可能同时做到。 此外,所有的共识算法都必须满足三个基本要求:

1. 一致性(安全):参与共识的所有诚实节点获得相同的计算结果,与共识协议一致。

2. 活跃性:所有参与共识的诚实节点最终都能达成共识结果。

3. 容错性:在共识算法成功执行过程中,参与共识的节点可以容忍一些错误。

1.POW(工作量证明)

前文提到,为了鼓励人们主动记账,中本聪决定对记账的人进行奖励,这就是“比特币”的由来。 而记账的人就是“矿工”。

比特币怎么比特币钱包_比特币舞弊_比特币行情实时走势图比特币行情

由于不同的“矿工”都希望获得记账权,因此要为每个区块选出一个全网认可的“矿工”,就需要“矿工”提供一份证明,即所谓的“工作证明”。 矿工可以获得 12.5 个比特币作为奖励。

奖励每四年减少一半,矿工收入的另一部分来自每笔交易产生的手续费。 2140年无币奖励时,矿工奖励全部来自交易手续费。

现在关键来了,工作证明是什么意思?

还是以乒乓球为例。 如果有人工评分,我们希望他们不要太慢,但也不要太快。 太慢的话,要记录的分数会很多,最后大家还得等着呢。 如果太快,会干扰我们的正常比赛。 大家玩到一半都要停下来跟他们说话,效率很低。

为了保证节点间的同步,新区块的加入速度不能太快。 区块链的发明者中本聪故意让添加新区块变得困难。 只有通过极其大量的计算,才能找到一个随机值,使区块的哈希值满足一定的条件。 这个过程叫做挖矿(Mining)。

“矿工”的工作其实就是猜测这个随机项的值,让区块的哈希值小于目标值,从而写入区块链。 这个随机项的值必须通过穷举计算得到,即所有矿工(计算机)必须反复尝试所有从0开始的整数,直到找到这个随机值(nounce)。 如果他们找到了,他们就会发财。

打个简单的比方,“挖矿”的过程其实类似于打麻将。 四方结束时,四方中有一方获胜,则认为生成了符合要求的区块哈希值。 成为“矿工”,获得相应的奖励(比特币)。 打出一张牌后,会产生一个区块,因此记录了当前的交易。

然后大家进行下一场比赛,继续补赢牌。 如果一场比赛无人获胜,即所有人都花费了时间,但没有产生区块,则重新开始比赛。 如果投入的时间/资源少于获得的奖励,矿工就会赔钱。 但是,如果有人抽两张牌都赢了,相当于很快就找到了哈希值,矿工就赚大了。

就这样,全球数以万计的“矿机”马不停蹄地计算着中本聪提出的数学题,“废寝忘食”获得比特币奖励。 这就是工作量证明的原理。

具体来说,工作量证明(PoW)或挖矿算法的目的是找到一个特殊的数字(nounce),使得哈希值(即SHA256函数)输出字符串的前n位为零。

所以,通过POW,我们可以找到一个矿工。 但是网络上的节点那么多,如何保证所有节点都使用同一条区块链呢?

中本聪为此提出了著名的一致性判断方法:如果一个节点的区块链与另一个节点的区块链不同,则意味着冲突。 解决这个问题的方法是识别“最长有效链”。 换句话说,网络上最长的链是事实上的标准链。

使用此算法,我们可以在网络中的所有节点之间达成共识。 PoW 的本质是选择计算量最大的链作为主链。 这样一来,即使有人恶意破坏,也会付出大量的经济成本,达到难以承受的地步。

比特币行情实时走势图比特币行情_比特币怎么比特币钱包_比特币舞弊

比如你去医院柜台排队,有好几条线,你该选哪一条? 按照中本聪的规定,你应该派最长的队伍,因为里面的人排队时间最长,所以最不可能被保安驱散。

也就是说,这个机制会发现最长的队列是合法的,奖励那些排队时间最长的,对不合法的分叉队列重新排队。 只要大部分人不傻,都会自觉地排在最长的队伍里。

工作量证明的优势

1、结构清晰、有效、可靠。

2、要获得多数节点的认可,攻击者必须投入51%以上的算力才能保证篡改结果。

3.公平:这种机制类似于多劳多得,多劳多得。

PoW 的缺点

1. 数据冗余:所有数据必须在所有节点上备份。

2. 能源消耗:挖矿现在占全球电力消耗的0.13%。 开采一个比特币相当于一辆汽车行驶 20 万公里的碳排放量。

3、信息网络延迟:区块链每10分钟只能产生一个区块并完成其中的交易。 以太坊略有改善,每秒交易数在几百以内。 相比之下,阿里巴巴的双11交易速度为31.5万笔/秒。

4. 算力垄断:一些拥有大量算力的公司,比如比特大陆,实际上已经拥有了一些公链或dApp 51%以上的算力,并且可以篡改结果,使它们不兼容使用加密货币或中本聪。 权力下放与此背道而驰。

比特币怎么比特币钱包_比特币舞弊_比特币行情实时走势图比特币行情

PoS即Proof of Stake,最早被Sunny King于2012年创立的PPC(Piper Coin)所采用,可以解决上述浪费算力的问题。

比特币舞弊_比特币怎么比特币钱包_比特币行情实时走势图比特币行情

简单来说,它选举矿工的规则就是:谁有钱,谁就更有可能获得挖矿权。 也就是说,挖矿成功的概率与矿工持有的代币数量成正比。

回到乒乓球比赛的例子,就是谁的分数最高就会被记住,以此来鼓励积极的选手。

这样的好处:

1、无需计算,节省能源。

2. 攻击者需要更高的成本,因为他需要购买大量代币才能获得51%的篡改权。

弱点是:

1、因为持股多的人得到的回报多,就变成了资源垄断,富者愈富,穷者愈穷。

2、因为矿权和持有的币是成正比的,类似于高利率的情况,人们不愿意花钱,而是把钱全部存入银行,就会变成所谓的“持币”,降低代币的流动性。

目前使用PoS机制的项目主要有以太坊2.0(即将上线)、PIVX和NAVCOIN。

DPOS(委托权益证明)

DPOS(DELEGATED POS)是POW的一种分类,代表POS。 换句话说,我钱少了,但我也想获得采矿权。 我应该怎么办? 我委托一名代表来做这件事。

以EOS为例,它在全球范围内选出了21个超级节点,所有用户都可以投票决定这些节点,或者投票丢弃或更换这些节点。

这样做的好处是:

比特币舞弊_比特币怎么比特币钱包_比特币行情实时走势图比特币行情

1.无需消耗能源和硬件。

2、区块确认时间缩短(超级节点可负责),提高效率。

3、无需挖矿或全量验证,只需要部分见证节点验证,简单高效。

但问题也很明显:

1. 这不再是去中心化的,而是完全中立的。

2. 节点选举过程存在巨大的人为操纵空间。

比特币怎么比特币钱包_比特币舞弊_比特币行情实时走势图比特币行情

Practical Byzantine general problem solving (PBFT),这个机制和前面两个不同,也就是说我不需要矿工,我不需要挖矿。

我用身边的人来判断我记下的书对不对。 也就是说,一个人玩完一局后,我们记录下所有的50桌。

那么如何判断我是否正确记录呢? 我问了我周围的桌子。 例如,我周围有四张桌子。 如果三桌都说王二打败了李斯,那么就算第四桌说王二输给了李斯,我也不用着急,我知道肯定的结果就是王二打败了李斯。

所以听起来很玄乎的拜占庭将军问题,其实就是这么简单的事情。 如果你周围有四个人,你问他们今天路上有没有堵车。 如果三个人说堵车,另一个说不堵车。 可以确认路上堵车,即达成共识。

但要注意,达成共识并不代表意见是正确的。 有可能这三个人联手骗你,那么在这种情况下,也是有共识的,但是共识的结论其实是错误的。 拜占庭算法只解决能否达成共识的问题,而不管意见是否正确。

具体来说,在分布式系统中,在N≥3F+1的情况下,一致性是可能的(N为计算机总数,F为有问题的计算机总数)。 计算机之间交换信息后,每台计算机列出所有获得的信息,并取大部分结果作为解决方案。

PBFT的优点:不需要矿工,不需要确认,节省能源。

但缺点是:这种模式需要节点之间有很多可靠的网络通信(就是我不停地问身边的乒乓球桌比分是多少,想象一下有50张桌子、500张桌子、5000张桌子的情况。通信强度呈指数增长)。 因此,这种方式只适用于一小部分节点,比如联盟链。

摘要:根据经济学人的说法,区块链是一个信任机器。 信任是通过共识产生的,具体的共识机制有PoW、PoS、DPoS、PBFT等,选择哪种方式要根据项目和应用而定,不能一概而论。