主页 > imtoken最新版客户端 > 第五课:区块链四大支柱——共识机制(一)

第五课:区块链四大支柱——共识机制(一)

imtoken最新版客户端 2023-01-16 22:22:28

大家好,我叫丹华。在接下来的几节中,我们将介绍构成区块链技术的四大支柱:共识机制、密码学、分布式账本技术和智能合约。

5.1 区块链技术概述

区块链是一系列现有成熟技术的有机组合。它以分布式有效的方式记录业务账本,并提供完整的底层语言脚本以支持多样化的业务逻辑。在典型的区块链系统中,数据以块为单位生成和存储,并按时间顺序连接到链式数据结构中。所有节点共同参与区块链系统的数据验证、存储和维护。新区块的创建通常需要得到全网多数节点的确认(数量取决于不同的共识机制),并向各个节点广播,实现全网同步,之后不能更改或删除.

区块链的技术本质是一个去中心化、面向业务、跨主体、健壮、安全的分布式状态机区块链四大公链区块链四大公链,具有存储数据、共享数据、分布式、防篡改和隐私保护、智能合约等核心特性基于这些特点,可以在不同参与者之间部署节点(具体可以采用公链、联盟链或私链模式),利用区块链技术构建社交业务流程和数据共享网络,利用技术意思是解决跨主体之间存在的信任问题。

区块链技术是综合多项技术成果的综合性技术集合,主要解决交易的信任和安全问题。一般认为有四种核心技术:共识机制、密码学、分布式账本技术和智能合约。当然,随着未来技术的发展,可能会添加其他技术。

在本节中,我们首先介绍区块链技术的第一支柱:共识机制。

5.2 为什么需要共识机制?

武侠小说里,聚集在一起的英雄意见不一,没有领袖。你听谁的?通行的方法是打架,经过几轮打架,谁的武功天下第一,谁都听他的。这就是江湖共识机制,靠实力说话。

同样,区块链是一个去中心化的计算机网络,如何实现节点间交易和数据状态的一致理解是网络要解决的首要问题。区块链采用一套共识机制,形成节点间的普遍认可。所谓共识,是指多方参与节点在预先设定的规则下,通过多节点网络的交互,就数据、行为或过程达成一致的过程。共识机制是指定义共识过程的算法、协议和规则。

这在去中心化系统中至关重要,它与中心化系统完全不同。在中心化的业务系统中,有一个可信中心,也就是权威,所有其他参与者都必须参考它的账本。如政府机构、银行、支付宝。

因此,区块链的共识机制应该具有民主自治的特点,包括少数服从多数,人人平等。其中,少数服从多数并不一定是指节点数,也可以是算力、份额数或其他特征量。人人平等是指所有节点都有权优先考虑共识结果,该共识结果有可能在被其他节点直接认可后成为全网的最终共识结果。

进一步,共识协议用于实现分布式系统的可用性和一致性。其核心指标包括共识协议的健壮性(容错性,容忍恶意节点的能力)、效率(收敛速度,即系统达到共识或“稳定状态”的速度)和安全性(一个安全边界)。协议的抽象理论模型)。代表性协议包括POW共识、POS共识、PBFT共识和混合共识。

5.3 共识机制分类

根据节点属性,共识算法分为两类,可信节点之间的共识算法和不可信(不可信或任意)节点之间的共识算法。前者已被深入研究并广泛使用。区块链出现后,不可信节点之间的共识算法得到了广泛的研究和应用。

根据不同的应用场景,共识算法可以分为两类。一类算法适用于公链,包括PoW(Proof of Work)和Proof of Stake(Proof of Stake)算法。

另一种适用于联盟链或私有链,以实用拜占庭容错(PBFT)及其变体为代表。提示:关于公链、联盟链、私链的概念,由于本节容量不够,移到下一节。

5.4 工作量证明 POW 算法

工作量证明POW算法是比特币和以太坊采用的共识算法。该算法是W. Dai 1998年在B-money的设计中提出的。

比特币的工作量证明是找到一个满足特定难度值的区块头哈希(参考第 2 节比特币介绍的挖矿机制),并引入经济激励措施,旨在随着区块的产生而持续滚动无限投票进程:

还有一种共识机制来设计消耗内存的算法,比如以太坊基于 Dagger-Hashimoto 的 Ethash,以及 Zcash 的基于广义生日悖论问题的 Equihash。这种算法在计算时需要大量内存,而内存作为成熟产品优化空间不大,设计专用ASIC芯片的成本优势也不大。

5.5 Proof of Stake(权益证明)算法

权益证明(Proof of Stake)算法由 Sunny King 于 2012 年在点对点币(Peer To Peer Coin)系统中首次实现。PoS 及其变种算法可以解决算力浪费和高运行率的问题PoW 算法的成本一直受到批评,但尚未得到充分验证。在 PoS 协议下,节点获得出块权的概率取决于该节点在系统中持有的权益比例。简单来说,在 PoS 机制中,你拥有的币越多,你获得的区块奖励就越多。以太坊目前正计划用 PoS+PoW 机制来替代 PoW。

PoS 一般要求用户一直在线,这给应用带来了很大的挑战。为了解决这个问题,衍生出DPoS(Delegated Proof of Stake)共识。其核心思想是从全网节点中选择一些节点来保证这些节点的有效性,然后在子节点集合内进行PoS共识。 .

5.6 种 PBFT 算法

在 1980 年代研究了 BFT(拜占庭容错)算法,以解决所谓的拜占庭将军问题。拜占庭失败是拜占庭帝国军队的将军们必须一致同意决定是否攻击敌军的问题。问题是,将军们地缘分明,将军中也有叛徒。 BFT类算法中最著名的是PBFT算法。

PBFT 算法由 Miguel Castro 和 Barbara Liskov 于 1999 年首次提出,算法运行效率更高。假设系统中有N个节点,PBFT算法可以容忍不超过1/3的恶意节点。

随着参与共识的节点数量增加,BFT共识的通信开销会急剧增加,达成共识的速度会迅速下降。数万节点规模的分布式系统难以支撑。一般来说,一个 PBFT 共识系统中的节点数量很少超过 100 个。此外,参与共识的节点必须首先获得投票权,因此必须为加入和退出节点的过程设计额外的机制,增加了协议的复杂性和实现的难度。

PBFT 的优点是收敛速度快、节省资源和理论上的安全界限(理论上允许不超过 1/3 的恶意节点存在)。

5.7 共识算法总结

无论是PoW算法还是PoS算法,其核心思想都是通过经济激励来鼓励节点对系统做出贡献和付费。为了鼓励更多节点参与网络共识,公链通常会发行代币来激励节点付费。

联盟链一般不具备代币激励机制,联盟链的节点通常更愿意获取可信数据,获得商业伙伴关系。通常,联盟链中的参与节点数量较少,节点信任度较高,因此PBFT类型的算法只适用于联盟链或私有链的应用场景。

从长远来看,共识算法也在快速演进,未来可能会出现更好的共识算法机制。

在下一节中,我们将介绍区块链技术的另一个重要组成部分:密码学。