关于共识算法和分布式账本数据结构的简要工程简介

news/2024/7/2 23:11:40
想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!

在这里插入图片描述
共识算法定义了一系列动作,通过这些动作,独立代理在分布式系统的各个部分上(至少在大多数代理中)获得了相同的观点。例如,这可以由某个客户端(不参与协商共识)确定,该客户端可以从任何(或至少大多数)协商共识参与者那里获得关于系统协商共识状态查询的相同结果。

通常,共识算法用于解决以下问题:

· 领袖选举(在所有共识参与者中选择代理人,有权更新系统的全球状态)
· 原子交换(不能根据事件的内部属性确定其顺序事件的确切顺序)
· 状态复制(维护所有或大多数代理共享的全局状态)

这是共识算法的三个主要用例是高度相关的。例如,状态复制可以通过状态更改的适当顺序(即原子广播)来解决,而适当的领导人选举过程本身可能允许有序的原子广播(但是,在没有领导人选举过程的情况下,有达成相同结果的共识)。

从历史上看,共识算法起源于多处理器计算的研究;它们解决的是处理器可能出现故障(即变得无响应)时的全局状态问题。在这些情况下通信是同步的,即受一些已知的时间上限。

后来,随着电信和计算机网络的发展,出现了另外两个问题:未知的通信延迟和对手的存在。前者导致了部分新的研究同步和异步共识算法和创建算法可以容忍任意代理行为(拜占庭行为)——即所谓的拜占庭容错算法(或BFT共识)。

随着互联网的广泛应用,对手的问题变得更加严重。如果在多处理器环境或电信基础设施中可以识别每个代理,那么在Internet的许多情况下就不能这样做。因此,出现了一种新的公共(或无许可)共识,共识算法必须成为一种协议,其中嵌入了识别和排除拜占庭式代理的规则和程序——就像一些附带机制降低了此类代理进一步参与协议的经济能力一样。这种制度以POW 和POS的名义引起了公众的注意。我们将以经济激励(BFT- ei)命名这些协议。在许多情况下,异步性和无许可性要求牺牲其他共识品质,比如决定论或适用于领导人选举场景的能力。

在此基础上,可以根据不同的准则对共识算法进行分类。

  1. 共识的主题:原子广播、领袖选举、国家复制(或者,另一种选择,基于领袖和无领袖算法)
  2. 容错形式:无容错、非任意容错和拜占庭容错(BFT)
  3. 可以达成共识的假设有:同步、参与方同步、异步
  4. 公开和非公开参与的协议:许可vs不许可,或公开vs私人。
  5. 内部经济激励: BFT-EI
  6. 协商共识的确定性品质, 即实现终结性的能力: 具有终结性和非确定性共识的共识算法。

这些类可以组合在一些自然的组中,比如开放的参与会导致不确定性的共识属性(因为我们不能在给定的时间点枚举所有共识的参与者),也就是缺乏终结性,它将是无领导的。这种共识的一个典型例子是比特币交易。

我们定义了以下典型的共识属性组合:

· PoW:无权限同步非确定性无领导BFT-EI。
· POS: 基于BFT-EI的不允许部分同步确定性领导。
· BFT(狭义的): 允许的、确定性的BFT。可以有不同的同步性假设,可以是领导者,也可以是非领导者。
· DAG:无权限异步、非确定性领导、无BFT容忍度。
· 其他混合的类型。

许多现实世界中的共识算法应用, 比如在现代实验区块链中发现的应用, 往往会利用一组不同的共识机制,用于领导人选举的机制 (通常是基于 bft 协议的机制, 但有时甚至是 pow), 而其他的机制对于原子广播 (pos) 和另一个实现确定性的是状态复制-通常是 bft 类型的 “小工具” 的形式。

共识算法本身不需要特定的数据结构;它们都是关于代理行为和网络通信的。然而,在比特币(这是第一个基于公共共识的应用)发明之后,似乎需要全球状态的系统并利用数据结构上的一些最佳实践来验证,比如具有加密增强功能的日志类账——所谓的区块链或者更通用的有向无环图(DAG),通常由我们上面分类的#4组共识使用。


http://lihuaxi.xjx100.cn/news/237962.html

相关文章

minecraft_我们未来的机器人影响者:尝试使用Minecraft玩的Twitch流媒体机器人

minecraftIn this article, Ill discuss how we reached young audiences by combining robotics with e-sports.在本文中,我将讨论如何通过结合机器人技术和电子竞技来吸引年轻观众。 到底怎么回事? (What on Earth?) Ever heard of anything like it…

Hadoop生态圈-hive五种数据格式比较

Hadoop生态圈-hive五种数据格式比较 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。

第2周第1课

2019独角兽企业重金招聘Python工程师标准>>> 2.6 相对和绝对路径 绝对路径:路径由根目录“/”开始。相对路径:参照物是当前目录,路径不是由根目录“/”开始。命令pwd(print work directory),显示…

区块链:分布式账本中对权限控制的要求

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】 链客,有问必答!区块链技术被认为是解决许多问题的方法。比特币将如何发展成为我们在没有中间人的情况下运行、保护、核实和记录在线交易的一种受青睐的方法,人们一…

干货!链家二手房数据抓取及内容解析要点

“本文对链家官网网页进行内容分析,可以作为一般HTTP类应用协议进行协议分析的参考,同时,对链家官网的结构了解后,可以对二手房相关信息进行爬取,并且获取被隐藏的近期成交信息。”另外,近期将对包含登录帐…

react中使用构建缓存_通过构建海滩度假胜地网站,了解如何使用React,Contentful和Netlify...

react中使用构建缓存In this full course from John Smilga you will learn React by building a beach resort website project. The project uses React router for routing, React context API for state management, Contentful headless CMS for data management, and Net…

WWDC2018总结

本人的第一篇文章(现在写文章是为了提升自己的语句表达能力) 欢迎大家观看本文章,是略微总结一下WWDC2018发布的iOS12的新东西 iOS12略微总结(持续更新。。。) iOS12 变化 iOS 12新功能汇总(后面希望可以上…

cd: mkdir: rmdir: rm

1、1 绝对路径和相对路径绝对路径:是指在目录下的绝对位置,直接到的目标位置例如:只要看到这个路径:D:\图片\徐慧茹.jpg"文件是在D盘的“图片”目录中。类似这样完整的描述文件的路径就是绝对路径。相对路径&…