主页 > 苹果可以下载imtoken钱包吗 > 05 共识议题:区块链如何确权记账?

05 共识议题:区块链如何确权记账?

文章目录

05 共识议题:区块链如何确权记账?

区块链可以说是近年来最热门的技术领域之一。 区块链起源于中本聪的比特币。 作为比特币的底层技术,它本质上是一个去中心化的数据库。 集中、公开、透明,作为一种分布式账本技术,每个节点都可以参与数据库的记录。

区块链是一种注重安全性和可信度而非效率的技术。 如果说互联网技术解决的是沟通问题,那么区块链技术解决的就是信任问题。

今天我们重点讨论区块链中的核心问题:作为分布式账本,每个参与者都维护一份数据,那么记账权如何确认,谁才是最终的账本?

区块链共识

区块链是一种去中心化的分布式账本系统。 区块链的共识问题其实来源于分布式系统的一致性问题。

共识(Consensus),顾名思义,就是共识。 共识问题研究多个成员如何达成共识比特币6个区块确认,例如投票。

共识机制在区块链中起着核心作用。 共识机制决定了谁有记账权,以及记账权的选择过程和理由。 不同的虚拟货币采用不同的共识机制。 常见的共识机制包括POW、POS、DPOS等。

前面我们提到CAP中的C就是Consistency(一致性)。 一致性和共识有什么区别?

Consistency侧重于内容在时间顺序上的一致性和统一性,而Consensus是指众多参与者就某一内容达成的共识,所以Consistency一般译为“一致性”,Consensus译为“共识”。

拜占庭将军问题

在之前的课程中,我们分享了几种经典的共识算法。 如果将共识机制扩展到分布式系统,系统需要有一个主进程来协调,系统的所有决策都由主进程来达成共识。

说到区块链,由于区块链是一个去中心化的分布式系统,在区块链中不存在团队中的领导者或者分布式系统中的主人角色,所以需要有某种共识机制来确保系统一致性。

一般在网络通信中,节点故障,即信道不可靠,称为“非拜占庭错误”,恶意响应,即系统受到攻击,错误信息的传递称为“拜占庭错误” .

为什么称为拜占庭错误? 实际上来自一个故事模型:

拜占庭帝国就是中世纪的土耳其帝国,拥有巨大的财富,周边10个邻国早已奄奄一息,但拜占庭的城墙坚固,任何一个邻国都无法成功入侵。 任何一个邻居入侵都会失败,自己也有可能被其他9个邻居入侵。

拜占庭帝国的防御能力之强,至少要有十个邻国中的一半以上同时进攻,才能被攻破。 但是,如果一个或几个邻居同意一起进攻,但在实际过程中背叛了,入侵者可能会被全部歼灭。

因此,各方都谨慎行事,不敢轻易相信邻国。 这就是拜占庭将军问题。

在这里插入图片描述

在拜占庭问题中,邻国最关心的是:如何才能让所有将领达成一致,攻打拜占庭帝国。 拜占庭将军问题的核心描述是军队中可能有叛徒,但攻击必须一致。 这个扩展到计算机领域,发展成容错理论:

如果一群将领要达到某个目标,比如齐心协力进攻或齐心协力撤退,单打独斗是不可能的,必须合作达成共识; 由于内奸的存在,将军们不知道如何达成共识。

其实,拜占庭将军问题(Byzantine Generals Problem)以及我们前面提到的Paxos算法和逻辑时钟都是Leslie Lamport提出的。

Lamport可以说是分布式系统的创始人之一。 由于在分布式领域的一系列贡献,Lamport 获得了 2013 年的图灵奖。

在记账权的归属上,关键是如何避免恶意共识,即错误记账,类似于拜占庭将军如何处理叛徒。

比特币是使用最广泛的区块链技术。 比特币的记账权如何确定? 答案是POW机制。 接下来,我们分析 POW 工作量证明机制。

POW 工作证明

PoW(Proof of Work)被认为是经过验证的最安全的拜占庭解决机制。 它最早是用来防止垃圾邮件的,典型的例子就是谷歌邮箱的反垃圾邮件系统。

PoW就是大家熟悉的挖矿。 通过数学运算,计算出一个符合规则的随机数,即获得本次记账权,并发布本轮需要记录的数据,并与全网其他节点进行验证和存储在一起。

一句话:做的越多,得到的越多。

Google Mailbox规定每一个向Google服务器发送邮件的发件人都必须先完成一定量的计算工作,造成短暂的延迟,比如延迟1秒。 如果是正常的邮件发送,这个时间是可以接受的; 如果是广告邮件发件人,因为发送工作量大,这样的无价值计算是无法忍受的。

矿业的起源

挖矿是比特币系统中的一种视觉表现形式,那么挖矿是怎么来的呢?

比特币挖矿是对比特币系统在一段时间内发生的交易进行确认,并记录下来在区块链上形成新区块的过程。 由于记账权竞争的需要,用计算机计算Hash值,解决随机碰撞的问题。 ,这个过程就是挖矿。

也就是说,比特币系统出一道数学题,大家争先恐后地回答最佳解法。 挖矿是记账的过程,矿工是记账人,区块链是账本。

比特币的 POW 实现

比特币中的POW实现是通过计算猜测一个值(Nonce),从而解决指定的Hash问题。 以下是比特币的区块结构。 可以看到区块头中有一个随机数字段,就是Nonce值:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ychrMCY7-1651146510242)(http://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E5%88%86%E5%B8%83%E5%BC%8F%E6%8A%80%E6%9C%AF%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E6%88%9845%E8%AE%B2-%E5%AE%8C/assets/Ciqah16VcOeATZ5AAARuh8uNMzo929.png)]

中本聪在比特币系统中设置了一个问题,通过不断调整Nonce的值,来计算区块头的Hash,要求找到一个Nonce值比特币6个区块确认,使得计算出的Hash值满足某个固定值。

具体的Hash方式一般采用SHA256算法,可以查看这个小工具进行测试。

我们简化一下计算过程,假设第100个区块给出的区块值是如下字符串,先计算出该字符串的节点可以获得比特币:

f7684590e9c732fb3cf4bf0b8e0f5ea9511e8bbaacb589892634ae7938e5700c

由于Hash算法是不可逆算法,不可能通过具体的Hash值推导出原文,所以每个节点只能采用穷举法,即选择各种字符串,比如开头的a,b,c, 1, 2, 3, ..., 继续尝试。

比特币系统本身会调整难度和控制时间来解决问题。 一般来说,每10分钟挖出一个区块。 在这10分钟里,电脑只能不停地计算和尝试各种字符串。

这个过程其实是在考验每个节点的服务器性能,也就是计算能力。 如果你的计算能力很强大,有几万台服务器,你可以很快得到Nonce值,也就是正确答案:lagou,对应的Hash值与题中要求一致。

接下来,可以将Nonce值放入结构中,通过P2P网络进行广播。 其他系统节点收到后,发现Nonce值合法,符合要求,就认为你挖矿成功了。

由于你解决了问题,你将获得系统对应的比特币奖励,以及该区块所有交易产生的手续费。 当其他节点发现有人已经计算过了,就会放弃本次计算,然后开始下一个区块的topic,寻找下一个区块头的Nonce值。

作为目前最大的区块链系统,比特币的区块信息是动态生成的。 下面的截图记录了比特币最新的区块信息。 区块信息来自。 您也可以点击链接查看最新区块高度。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dxgq2yDB-1651146510243)(http://learn.lianglianglee.com/%E4%B8%93%E6%A0%8F/%E5%88%86%E5%B8%83%E5%BC%8F%E6%8A%80%E6%9C%AF%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E6%88%9845%E8%AE%B2-%E5%AE%8C/assets/Cgq2xl6VcOeAW3HxAAQnHJsTFFY002.png)]

区块链分叉和 51% 攻击

Hash问题是不可逆的,主要靠暴力计算。 谁的算力大,谁先解决问题的概率就大。 当你掌握了全网一半以上的算力时,你就可以控制链在网络中的走向,这也是所谓51%攻击的由来。

前面我们说过,由于区块链中的每个节点都可以参与记账,所以系统中可能会出现链分叉(Forks),最终一条链会成为最长链。

然而,在现实社会中,涉及各方的巨大利益,算力之间的博弈往往没有那么简单。 以比特币为例,BCH(比特币现金)和BTG(比特币黄金)已经分裂。 ) 和其他分叉硬币。

POW机制的优缺点

POW有很多优点。 POW是第一个完全实现去中心化的共识算法,节点自由进出,易于实现。 由于对计算能力的要求很高,破坏系统的代价也是巨大的。

POW机制的缺点也很明显。 最大的是能源的浪费。 巨大的算力浪费在无休止的挖矿活动中,它本身并没有产生任何价值。

这也是很多人指责区块链的一点。 大量的能量被浪费了,收获的只是一堆毫无价值的数据存储。 换个角度想,这也说明在去中心化的场景下,实现信任才是最重要的。 多么困难。

另一方面也可以看到,大量的数字货币矿场建在西南地区的深山里,利用当地的低成本电力资源,或者直接与电站一起建设。

其他共识方式

除了 POW 机制外,还有其他的共识方式,典型的有 POS 和 DPOS。

POS 股权证明

POS(Proof of Stake)类似于现实生活中的股东大会机制。 拥有更多股份的人拥有更多的投票权,也更容易获得记账权。

img

POS是通过押金对一个合法的区块进行对赌成为一个新的区块,收益是抵押资金的利息和交易服务费。 举证保证金越大,获得记账权的概率越大,合法记账人可以获得利益。 著名的数字货币ETH(以太坊)在共识算法中采用了POS机制。

DPOS 委托权益证明

DPOS(Delegated Proof of Stake)机制的典型代表是EOS。 如果说POS类似于股东大会,比较谁持有的股份多,那么DPOS就类似于公司的董事会制度。 在DPOS共识体系下,会选出一定数量的代表负责出块。