
共识算法
介绍各种共识算法的原理
跨链技术践行者
区块链研究员
展开
-
关于PoW和PoS
priewienv:这种情况下,对于PoS一旦发生分区,如果形成多个链,网络恢复之后将无法判断哪个链是合法的,因为没有一个客观的标尺来判断。首先,并不是所有的 PoS 都会发生分区,形成多条链,譬如一些使用了混合共识的项目;其次,就算有分叉的可能性,已经发表在正规学术会议上的一些知名项目基本都给出了收敛的证明。就算你的说法指的是一些 方案不够成熟的 PoS 的项目,但我并没有看出来 P...原创 2019-04-24 12:02:41 · 11498 阅读 · 0 评论 -
关于 ProgPoW:来自芯片工程师的观点
我是一名 IC(集成电路)设计工程师,自 2014 年起进入挖矿行业。不过,我不像其他矿工那样拥有一座大矿场,我只有一间小矿房,赚的钱刚好能向老婆交差而已。看到网上有很多人针对 ProgPoW 提出了各种观点,我也想从 IC 设计工程师的角度分享一下我的看法。不管是 ProgPow 算法还是 ETHash 算法,算力都是由外部 DRAM 的存储带宽决定的。也就是说Hashrate = k...原创 2019-04-24 12:01:53 · 10914 阅读 · 0 评论 -
关于 PoW 和 PoS
之前一直计划写一篇关于PoS和PoW对比的文章,一直由于各种(懒惰)原因迟迟没有落笔,今天看到社区里有人问到PoW/PoS的相关问题,忍不住就回答了。https://talk.nervos.org/t/nervos-pow/1639/3?u=yaning-u2区块链的重要意义在于信任的机器和价值基础,对安全的要求非常高。而这种系统一旦有可能发生重大故障,则其价值基础则会完全丧失。这也是为什么构...原创 2019-04-21 09:46:24 · 12436 阅读 · 2 评论 -
【转】突破区块链不可能三角:异步共识组 [Monoxide]
我们实现了"异步共识组"模型,可以将一个现有的单链共识算法,横向扩展1000倍以上。这样的扩展将使得吞吐量(TPS)提升1000倍以上,同时也将全网计算能力(CPU)提升2000倍以上,将状态表达的内存空间(RAM)提升2000倍以上。异步共识组系统的性能提升,丝毫没有牺牲去中心化特性,随着全网的横向扩展提升,每一个全节点的工作压力(带宽、计算、内存、磁盘IO)并没有显著的加大,始终保证一台普通...原创 2019-04-19 09:41:45 · 8471 阅读 · 0 评论 -
[转]王嘉平:Monoxide 原理详解,如何用极简架构突破不可能三角
"我们时常遇到一些令人叹为观止的机遇,却一次次地被当成不可能解决的问题”-- 約翰.加德納, 1965年五分钟简版Monoxide是Layer 1的区块链技术,不假设交易结构的任何局部特性,跨共识组的交易再多都无压力。性能提升包括吞吐量和状态容量,由划分的共识组个数决定。n个共识组将带来n/2倍的吞吐量提升和n倍的状态容量提升。在现在的互联网环境中,n最多可以到数万,这个是性能提升的...转载 2019-04-19 09:42:17 · 8289 阅读 · 1 评论 -
RChain架构详细介绍
动机去中心化运动雄心勃勃,将为新的社会和经济往来提供绝佳的机遇。同时,去中心化制衡了权力集中的大型组织偶尔发生的滥权和腐败。去中心化支持自我决策和权利分散的社区组织。当然,分散的社区组织也将会面临挑战和问题,如国际法律、公共利益和慈善如何兑现等问题。我们非常赞赏比特币,以太坊和其他平台的巨大创新,这些平台大大推进了去中心化组织的发展,迎来了加密货币和智能合约的新时代。但是,我们也看到这些项...原创 2019-04-19 09:46:59 · 13668 阅读 · 1 评论 -
RChain的Casper共识算法
RChain的Casper共识算法是基于Vlad Zamfir的correct-by-construction共识协议和CTOGreg Meredith和其他RChain成员讨论而来的。他们还为Casper开发了一个模拟器:https://github.com/rchain/Casper-Proof-of-Stake/tree/simulation-dev。1、通用预估安全协议一个预估安...原创 2019-04-19 09:46:39 · 12061 阅读 · 0 评论 -
区块链 :拜占庭将军问题 [BFT]
目录背景: 什么是拜占庭将军问题: 通俗分析: 问题抽象: 中本聪的解决方案: 经济学分析 REFERENCE正文回到顶部背景: 拜占庭将军问题很多人可能听过,但不知道具体是什么意思。那么究竟什么是拜占庭将军问题呢? 本文从最通俗的故事讲起,并对该问题进行抽象,并告诉大家拜占庭将军问题为什么在区块链领域作为一个重点研究问题。回到顶部什么是拜占庭将...原创 2019-04-18 09:38:59 · 10887 阅读 · 0 评论 -
【转】区块链面试指南--之共识算法
最近,一张关于区块链高薪职位的招聘照片火爆网络:可以看到,月薪远远高出行业其他工程师一大截,可以说简直完爆!基本覆盖国内一线互联网大公司,最高月薪达100K。当我们还在了解什么是区块链的时候,行业巨头已经开始纷纷招兵买马,布局区块链。不知不觉中,一个新兴的工作岗位正在慢慢诞生:区块链研发工程师。对于普通传统的程序员群体,该怎么向区块链靠齐呢?错过了AI,大数据,人工智能,...原创 2019-04-18 09:32:49 · 10784 阅读 · 0 评论 -
P2P网络节点间如何互访——详解STUN方式NAT穿透
P2P网络节点间如何互访——详解STUN方式NAT穿透转载请注明出处:https://www.jzgwind.com/?p=973 by joey一、背景P2P网络的核心原理,是将分布在网络上各个节点的资源都利用起来,本着我为人人、人人为我的思想,达到更快的信息共享的目的。它的应用:1、文件下载——BitTorrent、迅雷2、语音通话——Skype、歪歪语音3、视频共享—...原创 2019-04-08 17:10:25 · 12025 阅读 · 0 评论 -
HPB BOE 版卡功能介绍
BOE功能介绍BOE(Blockchain Offload Engine)系统是区块链卸载引擎的缩写,利用硬件FPGA的并发处理能力对区块链节点上的交易、区块等处理过程进行加速。共识算法也与BOE的伪随机序列深度结合,以保证网络内节点能够快速、稳定、安全的运行。下面分别从交易验签和伪随机序列两个方面详细介绍BOE的工作流程。1 交易验签在HPB中,从整体上看交易的处理流程有下面几步:...原创 2019-04-16 09:38:38 · 12657 阅读 · 0 评论 -
HPB共识算法选举机制描述
简介为了适应BOE技术的要求,同时尽可能的提升安全TPS, HPB共识算法采用了高效的双层选举机制,即外层选举和内层选举。外层选举:由具有BOE板卡的所有用户中选取出。选取周期为3个月。选取方式为通过HPB钱包进行投票选举。内层选举:采用节点贡献值评价指标,从众多候选节点中选出高贡献值节点成员。基于Hash队列记名投票机制,在每次区块生成时,计算高贡献值节点生成区块的优先级,优先级高的...原创 2019-04-16 09:38:24 · 10943 阅读 · 0 评论 -
区块链:POA区块生成机制
目录1 名词介绍2 POA区块数据结构3 新区块生成周期4 新区块生成优先级1 名词介绍节点:普通的以太坊节点,没有区块生成的权利。矿工:具有区块生成权利的以太坊节点委员会:所有矿工的集合2 POA区块数据结构POA共识中,区块数据与POW有些区别,主要体现在header结构: 序号 字段 POW POA 1 ...原创 2019-04-13 08:36:03 · 9465 阅读 · 0 评论 -
区块链:POA委员会选举机制
目录1 名词介绍2 矿工投票方法3 委员会确定投票流程 3.1 关键概念描述 3.1.1 Epoch & checkpointInterval 3.1.2 Snapshot 3.2 投票方法1.名词介绍节点:普通的以太坊节点,没有区块生成的权利。矿工:具有区块生成权利的以太坊节点委员会:所有矿工的集合2.矿工投票方法用户通过RPC...原创 2019-04-13 08:35:48 · 11127 阅读 · 0 评论 -
区块链中的机制设计挑战
第一部分从区块链吸引人的地方切入区块链设计中的挑战:朝向真正去中心化的机制设计。这些设计的目标是让共识层具备一些可欲的属性;为了推进设计,我们也将一些对行为者及其环节的假设归纳为安全模型,并在这些模型上进行进一步的推论。(编者按:这部分从区块链吸引人的地方切入区块链设计中的挑战:朝向真正去中心化的机制设计。这些设计的目标是让共识层具备一些可欲的属性;为了推进设计,我们也将一些对行为者及其...原创 2019-04-06 09:03:52 · 11063 阅读 · 0 评论 -
比较流行的几种区块链共识算法
在每一种的加密货币背后,都有一种伟大的共识算法。 但没有一种共识算法是完美的,但它们各有优缺点。他们的主要目标是防止双重支出。重要的是要记住,它们都不是绝对完美的,在分散或部分分散化的环境中,不存在任何普遍达成共识的方法。每一个都有它的优点和缺点。这就是为什么算法被不断地更新补并充各种各样的插件的原因。有时,不同共识的方法会混合在一起,形成混合体。目前,有几种不同的协商共识机制。在我们回...原创 2019-04-07 00:55:54 · 8126 阅读 · 2 评论 -
优化的bft共识算法的设计和使用方式
区块链是在点对点网络中对交易具有防篡改功能的共享数据账本,Hyperledger fabric是一个比较知名的开源区块链框架,其中作为分布式系统的核心问题就是共识算法以及共识算法的效率问题。如何既保证这个共识算法能让参与区块链的联盟各方都认可它的安全可信,又能提高联盟成员间的共识效率就是一个所有人都关注的重要问题。本篇活动家为大家分享主题:《区块链服务在华为公有云平台上的重要问题设计实现及解决...原创 2019-04-07 00:52:49 · 8057 阅读 · 0 评论 -
Obelisk 共识算法设计动机
开发更新: 我们想出了混合使用股权证明系统阻止女巫攻击(Sybil attack)的方法。创建节点之前你必须证明你持有这个币,比如说有10个币。你发送10个币到地址A。然后你从地址A发送10个币到地址B。然后你使用地址A的公钥签名在Oblisk区块上的消息。另外,你可以发布地址A的公钥然后使用那个公钥签名消息。节点会在每个时间段发布一个签名,或者在一些保留的币被转移的一些区块数以内...原创 2019-04-07 00:51:28 · 10723 阅读 · 1 评论 -
区块链的确定性问题
结算的确定性问题是最近公有链与许可链之间的一个主要战场。看起来中心化的系统至少有一个优点,即所谓的“确定性”("finality"):操作一旦完成,就永远完成了,系统永不可能再回退回去撤销这个操作。而去中心化的系统,根据设计的不同,可能有这个性质,也可能只提供在一定激励范围内的概率性确定,甚至没有确定性,在这一点上公有链和许可链是有很大区别的。确定性的概念在金融业中尤其重要,因为机构们需要以最...原创 2019-04-06 09:02:53 · 10376 阅读 · 0 评论 -
区块链的共识算法:PoS 及其 例子 代码 实现(二)
目录前序 PoS 共识算法 PoS 的特点 编写 PoS 代码 候选块数组 块中的节点地址 进行股权分配 根据股权选出赢家 结束 前序这篇文章是上一篇的序章,上一篇的链接地址是:juejin.im/post/5b78f6…(一)区块链的共识算法:整体介绍 及 分叉 的通俗讲解 本篇文章将会着重介绍 PoS 共识算法和采用代码例子来实在地阐述它关于...原创 2019-04-06 08:58:09 · 12552 阅读 · 0 评论 -
区块链的共识算法:整体介绍 及 分叉 的通俗讲解(一)
本文不做一般入门的区块链描述讲解。着重简述讲解:区块链的分叉 共识算法目录前言 简单过一下区块链 通俗讲解共识 共识算法 PoW 区块链分叉 硬分叉的出现 软分叉的出现 参考前言由于最近的开发工作是与以太坊公链相关的去中心化交易所,项目两个多月之久,对区块链相关的知识内容了解了一些,故择文以记录之,但求文字通俗易懂,无纰漏。因自身求学过程中所遇坑无数,...原创 2019-04-06 08:56:03 · 11768 阅读 · 0 评论 -
区块链:共识算法POW
首先我们通过介绍一个拜占庭将军问题(Byzantine Generals Problem),来进一步了解共识算法是要干什么。故事:拜占庭帝国,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有行。其中的一个或者几个邻...原创 2019-04-06 08:53:15 · 10732 阅读 · 0 评论 -
Insolar共识算法: 实现>10000 交易/秒
共识算法是每个区块链协议的重要组成部分。它基本上构成了区块链协议,并将区块链协议与标准数据库区分开来。共识算法允许网络参与者决定添加到网络中的新记录是否有效。在一些区块链协议中,共识机制还定义了网络中允许哪些节点执行、验证和存储记录、交易和智能合约。最佳共识:神话?在区块链行业的思想领袖中,关于哪种共识算法是最好的一直存在争议。丹·拉里默和维塔利克·布特林之间的讨论第一个映入脑海。然而...原创 2019-10-09 11:10:38 · 8173 阅读 · 1 评论 -
区块链目前的几大共识算法
共识机制:区块链事务达成分布式共识的算法。区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统的中心化账本系统相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制...原创 2019-04-06 08:48:06 · 9054 阅读 · 0 评论 -
什么是区块链共识算法?
在加密货币领域中,共识算法是每个区块链网络的关键要素,它们负责维护这些分布式系统的完整性和安全性。第一个被创建出的加密货币共识算法是工作量证明(PoW),它由中本聪设计并在比特币上实现,用于实现拜占庭容错。共识算法共识算法可以被定义为使区块链网络达成共识的机制。公共(去中心化的)区块链是作为分布式系统来构建的,由于它们不依赖于一个中央权威,因此分散的节点需要就交易的有效与否达成...原创 2019-10-09 11:11:10 · 11594 阅读 · 1 评论 -
区块链中五种常见共识算法
区块链是一种去中心化的分布式账本系统,可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链系统与传统中心化系统相比,具有公开透明、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此,区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对...原创 2019-04-05 10:33:50 · 13007 阅读 · 0 评论 -
区块链共识算法简介
共识算法是区块链项目中最核心的部分。有分布式,就需要达成共识。目前为止,对于区块链项目争议最大的之一也是共识算法,比如EOS的DPoS机制。回到共识机制本身,我们如何来理解背后的本质呢?而不是人云亦云呢?从蓝狐笔记的角度,共识算法是一个不断演进的过程,也是治理机制的一部分,无须一概否定。共识算法的使用是去中心化加密货币最重要的一个特征。共识算法对于加密货币而言至关重要的,因为它可以防止...原创 2019-04-05 10:32:55 · 8868 阅读 · 0 评论 -
30 种共识算法完全列表
共识算法是所有区块链 /DAG 的基础,它们构成了区块链 /DAG 平台中的最重要部分。如果没有共识算法,我们得到只是一个不可写的哑(dummy)数据库。我将在本文中尽可能列出所有主要的共识算法,评估各自的优劣之处。如果读者发现有所遗漏,或是存在错误,希望能通过评论指出。此外,我个人也在逐步深入研究共识算法及其对经济的影响,为此本文也将做定期的更新。另:本文假定读者理解共识算法及其在区...原创 2019-04-05 10:32:02 · 11828 阅读 · 0 评论 -
共识算法
共识算法(consensus)#peer节点启动的时候根据配置文件core.yaml文件配置项peer.validator.consensus.plugin选择采用哪种共识算法。目前Fabric实现了两种共识算法NOOPS和PBFT,默认是NOOPS:NOOPS:是一个供开发和测试使用的插件,会处理所有收到的消息。 PBFT:PBFT算法实现。0x01 插件接口Consenter...原创 2019-04-05 10:30:49 · 8207 阅读 · 0 评论 -
共识算法分析
POW:Proof of Work,工作证明。比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理ha...原创 2021-05-19 17:14:49 · 11060 阅读 · 2 评论 -
UTXO 与账户余额模型
分布式一致性与共识算法 UTXO 与账户余额模型从写上一篇介绍区块链共识算法的文章分布式一致性与共识算法到现在已经过去了三个多月的时间;虽然整个行业内有非常多的变化,但是区块链技术,尤其是底层技术却没有太多的改变。这篇文章将要介绍的就是 Bitcoin 以及众多的加密货币,比如 Ethereum、NEO 和 Qtum 的底层结构究竟是什么样的。目前的绝大多数区块链项目不是使用UTXO...原创 2019-04-05 10:27:39 · 12946 阅读 · 2 评论 -
分布式一致性与共识算法
分布式一致性与共识算法 UTXO 与账户余额模型区块链技术是近几年逐渐变得非常热门的技术,以比特币为首的密码货币其实已经被无数人所知晓,但是却很少有人会去研究它们的底层技术,也就是作为一个分布式网络比特币等加密货币是如何工作的。无论是 Bitcoin、Ethereum 还是 EOS,作为一个分布式网络,首先需要解决分布式一致性的问题,也就是所有的节点如何对同一个提案或者值达成共识...原创 2019-04-05 10:28:08 · 11280 阅读 · 1 评论 -
什么是共识算法
本文尝试从源头开始,告诉大家区块链共识算法的来龙去脉。包含以下三部分:什么是共识算法著名的共识设计理论经典的共识算法设计什么是共识算法背景分布式系统集群设计中面临着一个不可回避的问题,一致性问题对于系统中的多个服务节点,给定一系列操作,如何试图使全局对局部处理结果达成某种程度的一致?这个一致性问题大致有如下的场景:节点之间通讯不可靠的,延迟和阻塞节点的处理可...原创 2019-04-05 10:28:26 · 31299 阅读 · 1 评论 -
VRF共识算法设计与实现
1 BUMO-VRF实现图3-2 BUMO的多链采用的是主子链结构,每个节点存储当前子链和主链的状态,所以子链的节点必然是主链节点。主链和子链通过把子链的区块头信息写入到主链进行关联。整个Firework共识算法都依赖于主链的全状态。子链的验证节点是在主链中进行产生,主链通过随机洗牌和分配算法决定验证节点进入那条子链参与共识。每条链在不同阶段Phase,验证节点都不一样。具体的...原创 2019-03-14 18:45:37 · 13219 阅读 · 0 评论 -
什么是以太坊Casper协议?
编者按:在12月3号的亚太区以太坊培训和交流Meetup上,Jon Choi为大家贡献了关于加密经济学和Casper的演讲。这篇文章同样是关于Casper的,而且从行文中可以看出本文的作者受到Jon Choi的解释的启发,阅读本文应可增进对Casper的理解。而Jon Choi的《Casper 101》,见EthFans上网站的中译。一般来说,如果你对以太坊(Ethereum)和加密货币...原创 2019-03-20 11:42:14 · 11508 阅读 · 0 评论 -
区块链协议新方向-图灵奖得主Macali开发Algorand
2018年2月,图灵奖得主、MIT教授Sivio Micali募集400万美元开发Algorand区块链协议,该协议作为区块链底层技术发展的一个重要的方向,受到了国内外的普遍关注。本文对algorand的背景、基本概念、前置条件进行基本介绍,并重点对algorand的具体实施流程以及BA*共识算法中的技术细节进行详细介绍。欢迎大家指正,共同探讨。一Algorand背景介绍 (Back...转载 2019-03-21 09:29:26 · 10571 阅读 · 1 评论 -
【转】BFT类共识协议概览与分析实测
摘要本文首先对BFT类共识协议按照改进思路分为3大类进行综述性概览:针对无拜占庭错误场景优化的协议,包括PBFT、Zyzzyva等等针对拜占庭错误场景优化的,包括Aardvark、Primer等等为公链应用而优化的协议,包括DPoS+BFT、Zilliqa等等本文还选用PBFT、Zyzzyva、Zilliqa协议,编写程序进行实测,主要得到以下结果及技术指导建议:1、Zyz...原创 2019-04-02 09:23:21 · 13358 阅读 · 4 评论 -
关于共识机制的一些想法
前言之前搞过一段时间并行计算相关的东西,写过一些Lock-Free的代码。接触以太坊社区之后,看到了共识机制的概念。当时就感觉这两者之间一定有什么联系。刚好没几天,就在知乎上看到有一个Lock-Free的问题,下面张德力回答里面提到了:无锁算法 (lock-free algorithm) 和 无等待算法 (wait-free algorithm) 的近代起源可以追溯到Herlihy的论...原创 2019-04-01 09:33:07 · 10467 阅读 · 0 评论 -
有向无环图 (DAG) 技术:超越区块链的分布式账本
一、起源DAG(Directed Acyclic Graph,有向无环图)是一种数据结构,最早提出在区块链中加入DAG概念作为算法,是在2013年的bitcointalk论坛,被称作为“Ghost协议”,这一提议也是为了解决当时比特币的扩容问题。后来,在NXT社区,又有人提出了DAG of block,将DAG的拓扑结构用来存储区块,解决效率问题。那时对于DAG的应用,还停留在类似于侧链的一个...原创 2019-04-01 09:33:16 · 12014 阅读 · 1 评论 -
寻找一种易于理解的一致性算法(扩展版)
摘要Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos 算法相同的功能和性能,但是它的算法结构和 Paxos 不同,使得 Raft 算法更加容易理解并且更容易构建实际的系统。为了提升可理解性,Raft 将一致性算法分解成了几个关键模块,例如领导人选举、日志复制和安全性。同时它通过实施一个更强的一致性来减少需要考虑的状态的数量。从一个用户研究的结果可以证明,对于学生而言,Raf...原创 2019-04-01 09:33:23 · 10401 阅读 · 0 评论