Ⅰ 区块链论文精读——Pixel: Multi-signatures for Consensus
论文主要提出了一种针对共识机制PoS的多重签名算法Pixel。
所有基于PoS的区块链以及允许的区块链均具有通用结构,其中节点运行共识子协议,以就要添加到分类账的下一个区块达成共识。这样的共识协议通常要求节点检查阻止提议并通过对可接受提议进行数字签名来表达其同意。当一个节点从特定块上的其他节点看到足够多的签名时,会将其附加到其分类帐视图中。
由于共识协议通常涉及成千上万的节点,为了达成共识而共同努力,因此签名方案的效率至关重要。此外,为了使局外人能够有效地验证链的有效性,签名应紧凑以进行传输,并应快速进行验证。已发现多重签名对于此任务特别有用,因为它们使许多签名者可以在公共消息上创建紧凑而有效的可验证签名。
补充知识: 多重签名
是一种数字签名。在数字签名应用中,有时需要多个用户对同一个文件进行签名和认证。比如,一个公司发布的声明中涉及财务部、开发部、销售部、售后服务部等部门,需要得到这些部门签名认可,那么,就需要这些部门对这个声明文件进行签名。能够实现多个用户对同一文件进行签名的数字签名方案称作多重数字签名方案。
多重签名是数字签名的升级,它让区块链相关技术应用到各行各业成为可能。 在实际的操作过程中,一个多重签名地址可以关联n个私钥,在需要转账等操作时,只要其中的m个私钥签名就可以把资金转移了,其中m要小于等于n,也就是说m/n小于1,可以是2/3, 3/5等等,是要在建立这个多重签名地址的时候确定好的。
本文提出了Pixel签名方案,这是一种基于配对的前向安全多签名方案,可用于基于PoS的区块链,可大幅节省带宽和存储要求。为了支持总共T个时间段和一个大小为N的委员会,多重签名仅包含两个组元素,并且验证仅需要三对配对,一个乘幂和N -1个乘法。像素签名几乎与BLS多重签名一样有效,而且还满足前向安全性。此外,就像在BLS多签名中一样,任何人都可以非交互地将单个签名聚合到一个多签名中。
有益效果:
为了验证Pixel的设计,将Pixel的Rust实施的性能与以前的基于树的前向安全解决方案进行了比较。展示了如何将Pixel集成到任何PoS区块链中。接下来,在Algorand区块链上评估Pixel,表明它在存储,带宽和块验证时间方面产生了显着的节省。我们的实验结果表明,Pixel作为独立的原语并在区块链中使用是有效的。例如,与一组128位安全级别的N = 1500个基于树的前向安全签名(对于T = 232)相比,可以认证整个集合的单个Pixel签名要小2667倍,并且可以被验证快40倍。像素签名将1500次事务的Algorand块的大小减少了约35%,并将块验证时间减少了约38%。
对比传统BLS多重签名方案最大的区别是BLS并不具备前向安全性。
对比基于树的前向安全签名,基于树的前向安全签名可满足安全性,但是其构造的签名太大,验证速度有待提升。 本文设计减小了签名大小、降低了验证时间。
补充知识: 前向安全性
是密码学中通讯协议的安全属性,指的是长期使用的主密钥泄漏不会导致过去的会话密钥泄漏。前向安全能够保护过去进行的通讯不受密码或密钥在未来暴露的威胁。如果系统具有前向安全性,就可以保证在主密钥泄露时历史通讯的安全,即使系统遭到主动攻击也是如此。
构建基于分层身份的加密(HIBE)的前向安全签名,并增加了在同一消息上安全地聚合签名以及生成没有可信集的公共参数的能力。以实现:
1、生成与更新密钥
2、防止恶意密钥攻击的安全性
3、无效的信任设置
对于常见的后攻击有两种变体:
1、短程变体:对手试图在共识协议达成之前破坏委员会成员。解决:通过假设攻击延迟长于共识子协议的运行时间来应对短距离攻击。
2、远程变体:通过分叉选择规则解决。
前向安全签名为这两种攻击提供了一种干净的解决方案,而无需分叉选择规则或有关对手和客户的其他假设。(说明前向安全签名的优势)。
应用于许可的区块链共识协议(例如PBFT)也是许多许可链(例如Hyperledger)的核心,在这些区块链中,只有经过批准的方可以加入网络。我们的签名方案可以类似地应用于此设置, 以实现前向保密性,减少通信带宽并生成紧凑的块证书。
传统Bellare-Miner 模型,消息空间M的前向安全签名方案FS由以下算法组成:
1、Setup
pp ←Setup(T), pp为各方都同意的公共参数,Setup(T)表示在T时间段内对于固定参数的分布设置。
2、Key generation
(pk,sk1) ←Kg
签名者在输入的最大时间段T上运行密钥生成算法,以为第一时间段生成公共验证密钥pk和初始秘密签名密钥sk1。
3、Key update
skt+1←Upd(skt) 签名者使用密钥更新算法将时间段t的秘密密钥skt更新为下一个周期的skt + 1。该方案还可以为任何t0> t提供 “快速转发”更新算法 skt0←$ Upd0(skt,t0),该算法比重复应用Upd更有效。
4、Signing
σ ←Sign(skt,M),在输入当前签名密钥skt消息m∈M时,签名者使用此算法来计算签名σ。
5、Verification
b ← Vf(pk,t,M,σ)任何人都可以通过运行验证算法来验证消息M在公共密钥pk下的时间段t内的签名M的签名,该算法返回1表示签名有效,否则返回0。
1、依靠非对称双线性组来提高效率,我们的签名位于G2×G1中而不是G2 ^2中。这样,就足以给出公共参数到G1中(然后我们可以使用散列曲线实例化而无需信任设置),而不必生成“一致的”公共参数(hi,h0 i)=(gxi 1,gxi 2)∈G1× G2。
2、密钥生成算法,公钥pk更小,参数设置提升安全性。
除了第3节中的前向安全签名方案的算法外,密钥验证模型中的前向安全多重签名方案FMS还具有密钥生成,该密钥生成另外输出了公钥的证明π。
新增Key aggregation密钥汇总、Signature aggregation签名汇总、Aggregate verification汇总验证。满足前向安全的多重签名功能的前提下也证明了其正确性和安全性。
1、PoS在后继损坏中得到保护
后继损坏:后验证的节点对之前的共识验证状态进行攻击破坏。
在许多用户在同一条消息上传播许多签名(例如交易块)的情况下,可以将Pixel应用于所有这些区块链中,以防止遭受后继攻击并潜在地减少带宽,存储和计算成本。
2、Pixel整合
为了对区块B进行投票,子协议的每个成员使用具有当前区块编号的Pixel签署B。当我们看到N个委员会成员在同一块B上签名的集合时,就达成了共识,其中N是某个固定阈值。最后,我们将这N个签名聚合为单个多重签名Σ,而对(B,Σ)构成所谓的 区块证书 ,并将区块B附加到区块链上。
3、注册公共密钥
希望参与共识的每个用户都需要注册一个参与签名密钥。用户首先采样Pixel密钥对并生成相应的PoP。然后,用户发出特殊交易(在她的消费密钥下签名), 注册新的参与密钥 。交易包括PoP。选择在第r轮达成协议的PoS验证者,检查(a)特殊交易的有效性和(b)PoP的有效性。如果两项检查均通过,则 使用新的参与密钥更新用户的帐户 。从这一点来看,如果选中,则用户将使用Pixel登录块。
即不断更换自己的参与密钥,实现前向安全性。
4、传播和聚集签名
各个委员会的签名将通过网络传播,直到在同一块B上看到N个委员会成员的签名为止。请注意,Pixel支持非交互式和增量聚合:前者意味着签名可以在广播后由任何一方聚合,而无需与原始签名者,而后者意味着我们可以将新签名添加到多重签名中以获得新的多重签名。实际上,这意味着传播的节点可以对任意数量的委员会签名执行中间聚合并传播结果,直到形成块证书为止。或者,节点可以在将块写入磁盘之前聚合所有签名。也就是说,在收到足够的区块证明票后,节点可以将N个委员会成员的签名聚集到一个多重签名中,然后将区块和证书写入磁盘。
5、密钥更新
在区块链中使用Pixel时,时间对应于共识协议中的区块编号或子步骤。将时间与区块编号相关联时,意味着所有符合条件的委员会成员都应在每次形成新区块并更新轮回编号时更新其Pixel密钥。
在Algorand 项目上进行实验评估,与Algorand项目自带的防止后腐败攻击的解决方案BM-Ed25519以及BLS多签名解决方案做对比。
存储空间上:
节省带宽:
Algorand使用基于中继的传播模型,其中用户的节点连接到中继网络(具有更多资源的节点)。如果在传播过程中没有聚合,则中继和常规节点的带宽像素节省来自较小的签名大小。每个中继可以服务数十个或数百个节点,这取决于它提供的资源。
节省验证时间
Ⅱ 区块链的共识机制
一、区块链共识机制的目标
区块链是什么?简单而言,区块链是一种去中心化的数据库,或可以叫作分布式账本(distributed ledger)。传统上所有的数据库都是中心化的,例如一间银行的账本就储存在银行的中心服务器里。中心化数据库的弊端是数据的安全及正确性全系于数据库运营方(即银行),因为任何能够访问中心化数据库的人(如银行职员或黑客)都可以破坏或修改其中的数据。
而区块链技术则容许数据库存放在全球成千上万的电脑上,每个人的账本通过点对点网络进行同步,网络中任何用户一旦增加一笔交易,交易信息将通过网络通知其他用户验证,记录到各自的账本中。区块链之所以得其名是因为它是由一个个包含交易信息的区块(block)从后向前有序链接起来的数据结构。
很多人对区块链的疑问是,如果每一个用户都拥有一个独立的账本,那么是否意味着可以在自己的账本上添加任意的交易信息,而成千上万个账本又如何保证记账的一致性? 解决记账一致性问题正是区块链共识机制的目标 。区块链共识机制旨在保证分布式系统里所有节点中的数据完全相同并且能够对某个提案(proposal)(例如是一项交易纪录)达成一致。然而分布式系统由于引入了多个节点,所以系统中会出现各种非常复杂的情况;随着节点数量的增加,节点失效或故障、节点之间的网络通信受到干扰甚至阻断等就变成了常见的问题,解决分布式系统中的各种边界条件和意外情况也增加了解决分布式一致性问题的难度。
区块链又可分为三种:
公有链:全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化“的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。
联盟链:联盟链是指有若干个机构共同参与管理的区块链。每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。这类区块链被认为是“部分去中心化”。
私有链:指其写入权限是由某个组织和机构控制的区块链。参与节点的资格会被严格的限制,由于参与的节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击、并且能够做到身份认证等金融行业必须的要求。相比中心化数据库,私有链能够防止机构内单节点故意隐瞒或篡改数据。即使发生错误,也能够迅速发现来源,因此许多大型金融机构在目前更加倾向于使用私有链技术。
二、区块链共识机制的分类
解决分布式一致性问题的难度催生了数种共识机制,它们各有其优缺点,亦适用于不同的环境及问题。被众人常识的共识机制有:
l PoW(Proof of Work)工作量证明机制
l PoS(Proof of Stake)股权/权益证明机制
l DPoS(Delegated Proof of Stake)股份授权证明机制
l PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法
l DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法
l SCP (Stellar Consensus Protocol ) 恒星共识协议
l RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法
l Pool验证池共识机制
(一)PoW(Proof of Work)工作量证明机制
1. 基本介绍
在该机制中,网络上的每一个节点都在使用SHA256哈希函数(hash function) 运算一个不断变化的区块头的哈希值 (hash sum)。 共识要求算出的值必须等于或小于某个给定的值。 在分布式网络中,所有的参与者都需要使用不同的随机数来持续计算该哈希值,直至达到目标为止。当一个节点的算出确切的值,其他所有的节点必须相互确认该值的正确性。之后新区块中的交易将被验证以防欺诈。
在比特币中,以上运算哈希值的节点被称作“矿工”,而PoW的过程被称为“挖矿”。挖矿是一个耗时的过程,所以也提出了相应的激励机制(例如向矿工授予一小部分比特币)。PoW的优点是完全的去中心化,其缺点是消耗大量算力造成了的资源浪费,达成共识的周期也比较长,共识效率低下,因此其不是很适合商业使用。
2. 加密货币的应用实例
比特币(Bitcoin) 及莱特币(Litecoin)。以太坊(Ethereum) 的前三个阶段(Frontier前沿、Homestead家园、Metropolis大都会)皆采用PoW机制,其第四个阶段 (Serenity宁静) 将采用权益证明机制。PoW适用于公有链。
PoW机制虽然已经成功证明了其长期稳定和相对公平,但在现有框架下,采用PoW的“挖矿”形式,将消耗大量的能源。其消耗的能源只是不停的去做SHA256的运算来保证工作量公平,并没有其他的存在意义。而目前BTC所能达到的交易效率为约5TPS(5笔/秒),以太坊目前受到单区块GAS总额的上限,所能达到的交易频率大约是25TPS,与平均千次每秒、峰值能达到万次每秒处理效率的VISA和MASTERCARD相差甚远。
3. 简图理解模式
(ps:其中A、B、C、D计算哈希值的过程即为“挖矿”,为了犒劳时间成本的付出,机制会以一定数量的比特币作为激励。)
(Ps:PoS模式下,你的“挖矿”收益正比于你的币龄(币的数量*天数),而与电脑的计算性能无关。我们可以认为任何具有概率性事件的累计都是工作量证明,如淘金。假设矿石含金量为p% 质量, 当你得到一定量黄金时,我们可以认为你一定挖掘了1/p 质量的矿石。而且得到的黄金数量越多,这个证明越可靠。)
(二)PoS(Proof of Stake)股权/权益证明机制
1.基本介绍
PoS要求人们证明货币数量的所有权,其相信拥有货币数量多的人攻击网络的可能性低。基于账户余额的选择是非常不公平的,因为单一最富有的人势必在网络中占主导地位,所以提出了许多解决方案。
在股权证明机制中,每当创建一个区块时,矿工需要创建一个称为“币权”的交易,这个交易会按照一定比例预先将一些币发给矿工。然后股权证明机制根据每个节点持有代币的比例和时间(币龄), 依据算法等比例地降低节点的挖矿难度,以加快节点寻找随机数的速度,缩短达成共识所需的时间。
与PoW相比,PoS可以节省更多的能源,更有效率。但是由于挖矿成本接近于0,因此可能会遭受攻击。且PoS在本质上仍然需要网络中的节点进行挖矿运算,所以它同样难以应用于商业领域。
2.数字货币的应用实例
PoS机制下较为成熟的数字货币是点点币(Peercoin)和未来币(NXT),相比于PoW,PoS机制节省了能源,引入了" 币天 "这个概念来参与随机运算。PoS机制能够让更多的持币人参与到记账这个工作中去,而不需要额外购买设备(矿机、显卡等)。每个单位代币的运算能力与其持有的时间长成正相关,即持有人持有的代币数量越多、时间越长,其所能签署、生产下一个区块的概率越大。一旦其签署了下一个区块,持币人持有的币天即清零,重新进入新的循环。
PoS适用于公有链。
3.区块签署人的产生方式
在PoS机制下,因为区块的签署人由随机产生,则一些持币人会长期、大额持有代币以获得更大概率地产生区块,尽可能多的去清零他的"币天"。因此整个网络中的流通代币会减少,从而不利于代币在链上的流通,价格也更容易受到波动。由于可能会存在少量大户持有整个网络中大多数代币的情况,整个网络有可能会随着运行时间的增长而越来越趋向于中心化。相对于PoW而言,PoS机制下作恶的成本很低,因此对于分叉或是双重支付的攻击,需要更多的机制来保证共识。稳定情况下,每秒大约能产生12笔交易,但因为网络延迟及共识问题,需要约60秒才能完整广播共识区块。长期来看,生成区块(即清零"币天")的速度远低于网络传播和广播的速度,因此在PoS机制下需要对生成区块进行"限速",来保证主网的稳定运行。
4.简图理解模式
(PS:拥有越多“股份”权益的人越容易获取账权。是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多。)
(在纯POS体系中,如NXT,没有挖矿过程,初始的股权分配已经固定,之后只是股权在交易者之中流转,非常类似于现实世界的股票。)
(三)DPoS(Delegated Proof of Stake)股份授权证明机制
1.基本介绍
由于PoS的种种弊端,由此比特股首创的权益代表证明机制 DPoS(Delegated Proof of Stake)应运而生。DPoS 机制中的核心的要素是选举,每个系统原生代币的持有者在区块链里面都可以参与选举,所持有的代币余额即为投票权重。通过投票,股东可以选举出理事会成员,也可以就关系平台发展方向的议题表明态度,这一切构成了社区自治的基础。股东除了自己投票参与选举外,还可以通过将自己的选举票数授权给自己信任的其它账户来代表自己投票。
具体来说, DPoS由比特股(Bitshares)项目组发明。股权拥有着选举他们的代表来进行区块的生成和验证。DPoS类似于现代企业董事会制度,比特股系统将代币持有者称为股东,由股东投票选出101名代表, 然后由这些代表负责生成和验证区块。 持币者若想称为一名代表,需先用自己的公钥去区块链注册,获得一个长度为32位的特有身份标识符,股东可以对这个标识符以交易的形式进行投票,得票数前101位被选为代表。
代表们轮流产生区块,收益(交易手续费)平分。DPoS的优点在于大幅减少了参与区块验证和记账的节点数量,从而缩短了共识验证所需要的时间,大幅提高了交易效率。从某种角度来说,DPoS可以理解为多中心系统,兼具去中心化和中心化优势。优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:投票积极性不高,绝大部分代币持有者未参与投票;另整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
DPoS机制要求在产生下一个区块之前,必须验证上一个区块已经被受信任节点所签署。相比于PoS的" 全民挖矿 ",DPoS则是利用类似" 代表大会 "的制度来直接选取可信任节点,由这些可信任节点(即见证人)来代替其他持币人行使权力,见证人节点要求长期在线,从而解决了因为PoS签署区块人不是经常在线而可能导致的产块延误等一系列问题。 DPoS机制通常能达到万次每秒的交易速度,在网络延迟低的情况下可以达到十万秒级别,非常适合企业级的应用。 因为公信宝数据交易所对于数据交易频率要求高,更要求长期稳定性,因此DPoS是非常不错的选择。
2. 股份授权证明机制下的机构与系统
理事会是区块链网络的权力机构,理事会的人选由系统股东(即持币人)选举产生,理事会成员有权发起议案和对议案进行投票表决。
理事会的重要职责之一是根据需要调整系统的可变参数,这些参数包括:
l 费用相关:各种交易类型的费率。
l 授权相关:对接入网络的第三方平台收费及补贴相关参数。
l 区块生产相关:区块生产间隔时间,区块奖励。
l 身份审核相关:审核验证异常机构账户的信息情况。
l 同时,关系到理事会利益的事项将不通过理事会设定。
在Finchain系统中,见证人负责收集网络运行时广播出来的各种交易并打包到区块中,其工作类似于比特币网络中的矿工,在采用 PoW(工作量证明)的比特币网络中,由一种获奖概率取决于哈希算力的抽彩票方式来决定哪个矿工节点产生下一个区块。而在采用 DPoS 机制的金融链网络中,通过理事会投票决定见证人的数量,由持币人投票来决定见证人人选。入选的活跃见证人按顺序打包交易并生产区块,在每一轮区块生产之后,见证人会在随机洗牌决定新的顺序后进入下一轮的区块生产。
3. DPoS的应用实例
比特股(bitshares) 采用DPoS。DPoS主要适用于联盟链。
4.简图理解模式
(四)PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法
1. 基本介绍
PBFT是一种基于严格数学证明的算法,需要经过三个阶段的信息交互和局部共识来达成最终的一致输出。三个阶段分别为预备 (pre-prepare)、准备 (prepare)、落实 (commit)。PBFT算法证明系统中只要有2/3比例以上的正常节点,就能保证最终一定可以输出一致的共识结果。换言之,在使用PBFT算法的系统中,至多可以容忍不超过系统全部节点数量1/3的失效节点 (包括有意误导、故意破坏系统、超时、重复发送消息、伪造签名等的节点,又称为”拜占庭”节点)。
2. PBFT的应用实例
著名联盟链Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改进版本SBFT。PBFT主要适用于私有链和联盟链。
3. 简图理解模式
上图显示了一个简化的PBFT的协议通信模式,其中C为客户端,0 – 3表示服务节点,其中0为主节点,3为故障节点。整个协议的基本过程如下:
(1) 客户端发送请求,激活主节点的服务操作;
(2) 当主节点接收请求后,启动三阶段的协议以向各从节点广播请求;
(a) 序号分配阶段,主节点给请求赋值一个序号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各从节点;
(b) 交互阶段,从节点接收pre-prepare消息,向其他服务节点广播prepare消息;
(c) 序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端响应。
(3) 客户端等待来自不同节点的响应,若有m+1个响应相同,则该响应即为运算的结果;
(五)DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法
1. 基本介绍
DBFT建基于PBFT的基础上,在这个机制当中,存在两种参与者,一种是专业记账的“超级节点”,一种是系统当中不参与记账的普通用户。普通用户基于持有权益的比例来投票选出超级节点,当需要通过一项共识(记账)时,在这些超级节点中随机推选出一名发言人拟定方案,然后由其他超级节点根据拜占庭容错算法(见上文),即少数服从多数的原则进行表态。如果超过2/3的超级节点表示同意发言人方案,则共识达成。这个提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分之百确认的。如果在一定时间内还未达成一致的提案,或者发现有非法交易的话,可以由其他超级节点重新发起提案,重复投票过程,直至达成共识。
2. DBFT的应用实例
国内加密货币及区块链平台NEO是 DBFT算法的研发者及采用者。
3. 简图理解模式
假设系统中只有四个由普通用户投票选出的超级节点,当需要通过一项共识时,系统就会从代表中随机选出一名发言人拟定方案。发言人会将拟好的方案交给每位代表,每位代表先判断发言人的计算结果与它们自身纪录的是否一致,再与其它代表商讨验证计算结果是否正确。如果2/3的代表一致表示发言人方案的计算结果是正确的,那么方案就此通过。
如果只有不到2/3的代表达成共识,将随机选出一名新的发言人,再重复上述流程。这个体系旨在保护系统不受无法行使职能的领袖影响。
上图假设全体节点都是诚实的,达成100%共识,将对方案A(区块)进行验证。
鉴于发言人是随机选出的一名代表,因此他可能会不诚实或出现故障。上图假设发言人给3名代表中的2名发送了恶意信息(方案B),同时给1名代表发送了正确信息(方案A)。
在这种情况下该恶意信息(方案B)无法通过。中间与右边的代表自身的计算结果与发言人发送的不一致,因此就不能验证发言人拟定的方案,导致2人拒绝通过方案。左边的代表因接收了正确信息,与自身的计算结果相符,因此能确认方案,继而成功完成1次验证。但本方案仍无法通过,因为不足2/3的代表达成共识。接着将随机选出一名新发言人,重新开始共识流程。
上图假设发言人是诚实的,但其中1名代表出现了异常;右边的代表向其他代表发送了不正确的信息(B)。
在这种情况下发言人拟定的正确信息(A)依然可以获得验证,因为左边与中间诚实的代表都可以验证由诚实的发言人拟定的方案,达成2/3的共识。代表也可以判断到底是发言人向右边的节点说谎还是右边的节点不诚实。
(六)SCP (Stellar Consensus Protocol ) 恒星共识协议
1. 基本介绍
SCP 是 Stellar (一种基于互联网的去中心化全球支付协议) 研发及使用的共识算法,其建基于联邦拜占庭协议 (Federated Byzantine Agreement) 。传统的非联邦拜占庭协议(如上文的PBFT和DBFT)虽然确保可以通过分布式的方法达成共识,并达到拜占庭容错 (至多可以容忍不超过系统全部节点数量1/3的失效节点),它是一个中心化的系统 — 网络中节点的数量和身份必须提前知晓且验证过。而联邦拜占庭协议的不同之处在于它能够去中心化的同时,又可以做到拜占庭容错。
[…]
(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法
1. 基本介绍
RPCA是Ripple(一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、支付与清算功能)研发及使用的共识算法。在 Ripple 的网络中,交易由客户端(应用)发起,经过追踪节点(tracking node)或验证节点(validating node)把交易广播到整个网络中。追踪节点的主要功能是分发交易信息以及响应客户端的账本请求。验证节点除包含追踪节点的所有功能外,还能够通过共识协议,在账本中增加新的账本实例数据。
Ripple 的共识达成发生在验证节点之间,每个验证节点都预先配置了一份可信任节点名单,称为 UNL(Unique Node List)。在名单上的节点可对交易达成进行投票。共识过程如下:
(1) 每个验证节点会不断收到从网络发送过来的交易,通过与本地账本数据验证后,不合法的交易直接丢弃,合法的交易将汇总成交易候选集(candidate set)。交易候选集里面还包括之前共识过程无法确认而遗留下来的交易。
(2) 每个验证节点把自己的交易候选集作为提案发送给其他验证节点。
(3) 验证节点在收到其他节点发来的提案后,如果不是来自UNL上的节点,则忽略该提案;如果是来自UNL上的节点,就会对比提案中的交易和本地的交易候选集,如果有相同的交易,该交易就获得一票。在一定时间内,当交易获得超过50%的票数时,则该交易进入下一轮。没有超过50%的交易,将留待下一次共识过程去确认。
(4) 验证节点把超过50%票数的交易作为提案发给其他节点,同时提高所需票数的阈值到60%,重复步骤(3)、步骤(4),直到阈值达到80%。
(5) 验证节点把经过80%UNL节点确认的交易正式写入本地的账本数据中,称为最后关闭账本(last closed ledger),即账本最后(最新)的状态。
在Ripple的共识算法中,参与投票节点的身份是事先知道的,因此,算法的效率比PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。这点也决定了该共识算法只适合于联盟链或私有链。Ripple共识算法的拜占庭容错(BFT)能力为(n-1)/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共识。
2. 简图理解模式
共识过程节点交互示意图:
共识算法流程:
(八)POOL验证池共识机制
Pool验证池共识机制是基于传统的分布式一致性算法(Paxos和Raft)的基础上开发的机制。Paxos算法是1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现。Raft则是在2013年发布的一个比Paxos简单又能实现Paxos所解决问题的一致性算法。Paxos和Raft达成共识的过程皆如同选举一样,参选者需要说服大多数选民(服务器)投票给他,一旦选定后就跟随其操作。Paxos和Raft的区别在于选举的具体过程不同。而Pool验证池共识机制即是在这两种成熟的分布式一致性算法的基础上,辅之以数据验证的机制。
Ⅲ 区块链有几种共识算法
Ripple Consensus(瑞波共识算法)
使一组节点能够基于特殊节点列表达成共识。初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由51%的该俱乐部会员投票通过。共识遵循这核心成员的51%权力,外部人员则没有影响力。由于该俱乐部由“中心化”开始,它将一直是“中心化的”,而如果它开始腐化,股东们什么也做不了。
5、PBFT:Practical Byzantine Fault Tolerance(实用拜占庭容错算法)
PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
PBFT算法主要特点如下:客户端向主节点发送请求调用服务操作;主节点通过广播将请求发送给其他副本;所有副本都执行请求并将结果发回客户端;客户端需要等待f+1个不同副本节点发回相同的结果,作为整个操作的最终结果。
Ⅳ 区块链的运行原理和发展,你不得不知!
一、为什么会有区块链的创新?
第一代互联网的起点是TCP/IP协议,就是执行一个网络上所有节点统一格式对等传输信息的开放代码。但是这样一个并不复杂的创新对于人类的影响是划时代的,她把全球统一市场所需要的基本价值观:“自由、平等、博爱”,给程序化、协议化、可执行化了。进而派生出STMP邮件协议、HTTP域名协议等,去中心化的实现了全球信息传递的低成本高效率。正如阿里巴巴副总裁高红冰所说:
“互联网就是消灭那个价值很低、成本很高的(信息)供应链——它开放、互联、对等、全球化、去中心化。”
我们知道:市场的本质也是去中心化的,她自动执行也就是“等价交换”的去中心化协议,就像诺贝尔奖金获得者罗纳德科斯总结的:“市场经济建立在两个深厚的认知基础上:承认无知和包容不确定性。”亚当斯密也形容市场是:“看不见的手”!因此,市场一定需要信息去中心化的低成本流动,互联网正是适应了全球统一市场形成的大气候下,横空出世了。
但是,第一代互联网去中心化的解决了信息的低成本高效率传输的问题,她没有解决信息的信用问题。因此,第二代互联网必须突破的是:怎样去中心化的建立全球信用?让价值传递也低成本高效率进行。
那么原来的中心化信用体系有什么问题呢?众所周知:中心化的信用,如各国法币,信用价值不同,清算体系也各不兼容,给全球贸易增加了很大成本。目前以美元为中心的全球信用体系,在机制上存在“特里芬悖论”(实质就是一国法币无法同时兼顾解决本国经济利益和全球经济需要的冲突),因此2009年中国央行行长周小川呼吁超主权存储货币的产生,同年,中本聪在网上公开了第一代区块链源代码————“比特币”。
二、区块链系统是怎样运行的?
首先,中本聪很清楚建立一个支付系统的信用必须解决防止“重复支付”问题,也就是不能造假币。中心化的信用系统是靠国家机器防止造假币。“比特币”怎么办呢?中本聪伍中的伟大创新是给每一笔交易“盖时间戳”(timestamp)。每十分钟一个区块(block:腔弊山相当于网络账簿),把这十分钟的全网交易都正确的盖上时间戳。问题是谁来盖呢?中本聪并没有假设互联网上都是雷锋,他同意亚当.斯密的观点:市场上的人是贪婪的。他让所谓自称“矿工”的人去竞争这十分钟一个区块的记账权,竞争的规则就是正确记账的同时要去解SHA256难题,谁能证明自己的计算机算力最快(所谓PROOF OF WORK 机制),ta就能竞争到这十分钟区块的合法记账权,并得到二十五个比特币的奖励卜歼。这就是所谓俗称的“挖矿”过程,实际是建立一个全网总账——区块链的去中心化信用过程,所以矿工更本质的职能是“记账员”!
中本聪在其比特币白皮书中,比较详尽的叙述了这个信用系统建立的过程:
第一步:每一笔交易为了让全网承认有效,必须广播给每个节点(node:也就是矿工);
第二步:每个矿工节点要正确无误的给这十分钟的每一笔交易盖上时间戳并记入那个区块(block);
第三步:每个矿工节点要通过解SHA256难题去竞争这个十分钟区块的合法记账权,并争取得到二十五个比特币的奖励(头四年是每十分钟五十个比特币,每四年递减一半);
第四步:如果一个矿工节点解开了这十分钟的SHA256难题,ta将向全网公布ta这十分钟区块记录的所有盖时间戳交易,并由全网其他矿工节点核对;
第五步:全网其他矿工节点核对该区块记账的正确性(因为他们同时也在盖时间戳记账,只是没有竞争到合法区块记账权,因此无奖励),没有错误后他们将在该合法区块之后竞争下一个区块,这样就形成了一个合法记账的区块单链,也就是比特币支付系统的总账——区块链。
一般来说,每一笔交易,必须经过六次区块确认,也就是六个十分钟记账,才能最终在区块链上被承认合法交易。以下是比特币的记账格式:
所以所谓“比特币”,就是这样一个账单系统:它包括所有者用私钥进行电子签名并支付给下一个所有者,然后由全网的“矿工”盖时间戳记账,形成区块链。
三、比特币的区块链金融有哪些创新?
类黄金化,尝试建立全球互联网去中心化信用,有可能让价值在全网高速低费率的流转(目前每笔转转费率是万分之一);
货币总量由密码学协议约定;
比之于黄金,数字货币无限可分;
货币价值可以建立在大量的P2P交易之上;
财务管理的完全透明(每笔交易都能在区块链上查到)。
比特币的区块链全网记账,在全球互联网上最高建立了市值100亿美元的市值。因此,清华五道口金融学院院长吴晓灵点睛指出:区块链实验建立了分布式信用,是互联网TCP/IP的升级版,是从信息传递升级到价值传递;
四、比特币的区块链系统有哪些内在缺陷?
比特币的区块链系统自2009年在互联网上开源运行以来,有成功的地方,但也显示出一些难以克服的内在缺陷:
总量不能随着市场的情况变化,必然暴涨暴跌;
挖矿的高碳,只有不到1%的矿工能够竞争到没十分钟区块的记账权,其他参与竞争的99%以上的矿工算力浪费;
每年10%左右的通货膨胀大大增加了比特币金融生态的成本,甚至威胁到她的生存;
作为去中心化自组织DAC系统,记账和发行功能部分运行成本过高。
作为全球支付系统,效率远远达不到全球贸易的实际要求。比特币网络每秒目前最多确认7笔交易,对比之下, Visa的网络系统每秒最快可处理10,000笔交易,支付宝的记录是2014光棍节每秒钟80,000笔!
五、区块链技术2.0的发展:
作为区块链的2.0升级发展,首先聚焦在解决比特币记账的挖矿高碳上:
在我们讨论怎么克服比特币挖矿记账高碳时,清华经济学研究所的刘涛雄教授指出,挖矿靠算力竞争,最后只有一家竞争到合法记账权,其他99%的矿工节点都白挖了,浪费了资源,显然不太合理,如果全网透明的知道下一家区块的合法记账权,随机的在全网产生,就免除了竞争记账的高碳!我们听后都大赞刘教授主意高明,因为现在比较成功的二代币NXT正是这种机制,他们的白皮书叫“透明锻造”,只是记账权花落谁家的概率是和每个矿工节点钱包的NXT代币持有量成正比,这个叫股权证明机制(PROOF OF STOCK)。当然,这也引发了NXT把代币分发给早期投资开发者不公平的争论!
RIPPLE是一个区块链半去中心化的方案,利用“可信任网关”(trusted gateways)进行区块链记账,其信用是建立在这些网关不会同时作恶的共识记账(consensus ledger)协议上。
最有雄心的尝试是以太坊(Ethereum),她把区块链的技术和图灵完备结合起来,期望开发出一套未来满足各种区块链系统建设的基础性平台,可以支持各种信用货币、数字资产、智能协议甚至金融衍生品的开发.其系统设计是ETHERUM平台统一区块链记账,为所有开发者共同使用,也许她们的正式版本能在不久地将来发布。
六、区块链的创新在其他领域的可能应用:
现在,区块链在建立去中心化信用的尝试,已经不限于金融界,而被社会各个领域关注,特别是在中国目前一些中心性信用如“红会”,处于“塌陷”态势,区块链更能为社会管理提供一种全新的思路和技术选项,以下是我们了解的一些新进展和相关讨论:
区块链和物联网结合,将数字资产和原子资产统一起来,抹平消费资产和现金资产的区别,扩展大众的信用,加速价值流通;(IBM-三星)
区块链上建立知识产权保护系统,对知识产权的使用全网记账,建立全球广告市场;
区块链是否可以为一带一路的新兴经济体发行协议型密码学货币提供技术支撑;
区块链+云计算可以发展成去中心化的自媒体和社区系统;
区块链可以搭建去中心化的股权众筹体系,让创新项目提前进入流通领域;
区块链可以发展出全透明的财务管理系统;
区块链支持建立全球去中心化公司组织。
总之,在这个信用已经成为紧缺资源的时代,区块链的技术创新,作为一种分布式信用的模式,为全球市场的金融、社会管理、人才评价和去中心化组织建设等,都提供了一个广阔的发展前景。
Ⅳ 区块链常见的名词解释
1.区块链(BlockChain)
区块链是一串通过验证的区块,其中每个区块都与上一个区块相连,一直连到创世区块。区块链是比特币等数字货币的底层技术,是一个去中心化的分布式共享账本。区块链与人工智能、大数据并称为金融科技的三大方向。
2.比特币(Bitcoin)
比特币是区块链技术的第一个落地应用,最初是一种点对点的电子现金(Bitcoin: A Peer-to-Peer Electronic Cash System)。如今,比特币已经根据中本聪的思路设计发展成为开源系统,以及构建在其上的数字货币网络。
3.中本聪(Satoshi Nakamoto)
中本聪是一个化名,他是比特币的创始人兼早期开发者,2008年,中本聪在密码朋克中发表了比特币的白皮书,Bitcoin: A Peer-to-Peer Electronic Cash System,构建了比特币系统的基本框架。2009年,他为比特币系统搭建了一个开源项目,正式宣告了比特币的诞生。但是当比特币渐成气候时,中本聪却悄然离去,销声匿迹于互联网上。
4.数字货币(Token)
区块链最初的应用形式就是数字货币,区块链的出现本身也是为数字货币服务。目前来说区块链应用最好的领域是金融领域,这是因为区块链技术更适合于为金融场景服务。数字货币是电子形式的替代货币,它是属于虚拟世界中的虚拟货币。目前全世界发行的数字货币有成千上万种,它们可以通过交易所与现实世界中的货币进行交易,或者与其它数字货币进行交易。
5.挖矿(Mining)
比特币被比喻为数字黄金,在网络中,通过竞争计算能力获得区块的认可权,进而获得区块的代币奖励以及交易费的奖励,而这种方式就是在系统中获取初始比特币的方法,就好像当年金银被从地下开采出来一样,所以被称为挖矿。.
6.矿工(Miner)
通过提供算力进行挖矿的节点,就被称为矿工,当然有时候也是指节点的所有人。
7.公钥私钥(Public Keys/Private Keys)
公钥和私钥,是非对称加密算法的方式,这也是对以前的对称加密算法的提高。对称加密算法用一套密码来加解密,知道了加密密码,也就可以破解密文;而非对称加密算法,则是存在两套密码,用公钥来加密,但是用私钥来解密,这样就保证了密码的安全性。在比特币系统中,私钥本质上是由32个字节组成的数组,公钥和地址的生成都依赖私钥,有了私钥就能生成公钥和地址,就能够对应使用地址上的比特币。
8.哈希值(Hash)
哈希算法将任意长度的二进制值映射为固定长度的较小二进制值, 这个小的二进制值就是哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。哪怕只更改一段明文中的一个字母,随后产生的哈希值都将差别极大。要找到对应同一哈希值的两个不同的输入,从计算的角度来说基本上是不可能的。
9.共识机制(Consensus)
区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。共识机制是区块链技术的重要组件。区块链共识机制的目标是使所有的诚实节点保存一致的区块链视图,同时满足两个性质:
(1)一致性。所有诚实节点保存的区块链的前缀部分完全相同。
(2)有效性。由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块链中
10.钱包(Wallet)
比特币的钱包不存余额,在比特币的世界中也没有“余额”这个概念,这里的钱包是指保存比特币地址和私钥的客户端或者软件,可以用它来接收、发送和存储你的比特币。
Ⅵ 分布式共识包含哪三种方法
PoW 、PoS 、DPOW都是什么意思?
说到区块链,我们必然会谈及它的共识机制。不了解区块链的共识机制,就无法理解区块链的真正意义。那么,今日份的区块链的共识机制了解一下?
共识机制是什么?
什么是共识?直取它的字面意思,就是"共同的认识".
人与人是不同的,这种不同不仅体现在身材、长相、能力,更体现在文化、观点、想法、利益诉求等等方面。
共识,简而言之,就是一个群体的成员在某一方面达成的一致意见。
我们了解到,信任是社会运转中的一大痛点,银行有自己的信用体系,过去的金融体系服务于只服务于极少的企业家,因为建立信用体系耗资巨大。后来支付宝有了芝麻信用,信用已经关系到生活的很多方面,信用卡额度、花呗额度,芝麻信用高出国还可以免签。我们正享受着信用给我们带来的便捷。
区块链本质是去中心化,去中心化的核心是共识机制,区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题。
区块链共识机制的目标是使所有的诚实节点保存一致的区块链视图,同时满足两个性质:
1)一致性:所有诚实节点保存的区块链的前缀部分完全相同。
2)有效性:由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块链中。
区块链的自信任主要体现于分布于区块链中的用户无须信任交易的另一方,也无须信任一个中心化的机构,只需要信任区块链协议下的软件系统即可实现交易。
共识机制是什么?PoW 、PoS 、DPOW都是什么意思?
共识机制的必要性?
分布式系统中,多个主机通过异步通信方式组成网络集群。在这样的一个异步系统中,需要主机之间进行状态复制,以保证每个主机达成一致的状态共识。错误信息可能出现在异步系统内并不断传播,因此需要在默认不可靠的异步网络中定义容错协议,以确保各主机达成安全可靠的状态共识,这就是共识机制诞生的必要性。
这种自信任的前提是区块链的共识机制(consensus),即在一个互不信任的市场中,要想使各节点达成一致的充分必要条件是每个节点出于对自身利益最大化的考虑,都会自发、诚实地遵守协议中预先设定的规则,判断每一笔记录的真实性,最终将判断为真的记录记入区块链之中。attachments-2018-08-9yY7VRHa5b738e3d96021.jpg
换句话说,如果各节点具有各自独立的利益并互相竞争,则这些节点几乎不可能合谋欺骗你,而当节点们在网络中拥有公共信誉时,这一点体现得尤为明显。区块链技术正是运用一套基于共识的数学算法,在机器之间建立"信任"网络,从而通过技术背书而非中心化信用机构来进行全新的信用创造。
当今区块链的几种共识机制介绍
区块链上的共识机制有多种,但任何一种都不是完美无缺,或者说适用于所有应用场景的。
PoW 工作量证明
整个系统中每个节点为整个系统提供计算能力(简称算力),通过一个竞争机制,让计算工作完成最出色的节点获得系统的奖励,即完成新生成货币的分配,简单理解就是多劳多得,bitcoin、LTC等货币型区块链就应用POW机制。
优点
完全去中心化节点自由进出,算法简单,容易实现破坏系统花费的成本巨大,只要网络破坏者的算力不超过网络总算力的50%,网络的交易状态就能达成一致
缺点
浪费能源,这是最大的缺点区块的确认时间难以缩短,如bitcoin每秒只能做7笔交易,不适合商业应用新的区块链必须找到一种不同的散列算法,否则就会面临bitcoin的算力攻击对节点的性能网络环境要求高容易产生分叉,需要等待多个确认无法达成最终一致性
PoS 权益证明
也称股权证明,类似于你把财产存在银行,这种模式会根据你持有加密货币的数量和时间,分配给你相应的利息。
优点
对节点性能要求低,达成共识时间短
缺点
没有最终一致性,需要检查点机制来弥补最终性
DPOW 委托股权证明
DPOW是 PoS 的进化方案,在常规 PoW和 PoS 中,任何一个新加入的区块,都需要被整个网络所有节点做确认,非常影响效率。
DPoS则类似于现代董事会的投票机制,通过选举代表来进行投票和决策。被选举出的n个记账节点来做新区块的创建、验证、签名和相互监督,这样就极大地减少了区块创建和确认所需要消耗的时间和算力成本。
优点
大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点
牺牲了去中心化的概念,不适合公有链
PBFT 实用拜占庭容错
实用拜占庭容错机制是一种采用"许可投票、少数服从多数"来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错率为33%.实用拜占庭容错特别适合联盟链的应用场景。
优点
会背离中心化,加密货币的存在及奖励机制会产生马太效应,让社区中的穷者更穷,富者更富共识效率高,可实现高频交易
缺点
当系统只剩下33%的节点运行时,系统会停止运行
dBFT 授权拜占庭容错
这种机制是用权益来选出记账人,然后记账人之间通过拜占庭容错算法达成共识。授权拜占庭容错机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
优点
专业化的记账人可以容忍任何类型的错误记账由多人协同完成,每一个区块都有最终性,不会分叉算法的可靠性有严格的数学证明
缺点
当三分之一或以上记账人停止工作后,系统将无法提供服务当三分之一或以上记账人联合作恶,可能会使系统出现分叉
Pool 验证池
基于传统的分布式一致性技术,加上数据验证机制。
优点
不需要加密货币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点
去中心化程度不如bitcoin,更适合多方参与的多中心商业模式。
Paxos
这是一种传统的分布式一致性算法,是一种基于选举领导者的共识机制。领导者节点拥有绝对权限,并允许强监督节点参与,其性能高,资源消耗低。所有节点一般有线下准入机制,但选举过程中不允许有作恶节点,不具备容错性。
Paxos算法中将节点分为三种类型:
proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色
acceptor:负责对提案进行投票。往往是服务端担任该角色
learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端
Paxos 能保证在超过50%的正常节点存在时,系统能达成共识。
瑞波共识机制
瑞波共识算法使一组节点能够基于特殊节点列表形成共识,初始特殊节点列表就像一个俱乐部,要接纳一个新成员,必须由该俱乐部51%的会员投票通过。共识遵循这些核心成员的"51%权利",外部人员则没有影响力。由于该俱乐部由中心化开始,它将一直是中心化的,而如果它开始腐化,股东们什么也做不了。与bitcoin及Peercoin一样,瑞波系统将股东们与其投票权隔开,因此,它比其他系统更中心化。
Peercoin
Peercoin(点点币,PPC),混合了POW工作量证明及POS权益证明方式,其中POW主要用于发行货币,未来预计随着挖矿难度上升,产量降低,系统安全主要由POS维护。
在区块链网络中,由于应用场景的不同,所设计的目标各异,不同的区块链系统采用了不同的共识算法。每种共识算法都不是完美的,都有其优点和局限性。
区块链解决了在不可信信道上传输可信信息、价值转移的问题,而共识机制解决了区块链如何分布式场景下达成一致性的问题。
虽然区块链目前还处于发展的早期,行业发展还面临着一些阻碍,但社会已经足够多地认识到区块链的价值,区块链发展的脚步绝不会停滞不前,行业发展也定会找到突破阻碍的方法。
Ⅶ 区块链是什么怎么理解区块链应用呢
区块链毋庸置疑的有发展前景,而有发展前景的必要条件,就是进入主流市场。
北美区块链基础设施The OAN(前Aion Network)创始人及CEO Matt Spoke 7月24日在福布斯发表了一篇标题为《为了成功进入主流市场,区块链项目必须“吃狗粮”》的文章,Matt在文中提到了自己对区块链该如何进入主流市场的看法——"吃狗粮"。
在科技圈中,有一句行话叫"吃狗粮"(dogfooding,也称为吃自己的狗粮),指的是公司使用自己的产品,成为自己产品的用户。许多高增长公司(如微软、Facebook、亚马逊、苹果、Netflix和谷歌)也都会通过“吃狗粮”的方式进行产品测试,或帮助产品建立信誉。“吃狗粮”虽经常被用来发现和修复bug,但它还有另一个价值:为公司的产品创造可靠的用例。
这一点很值得区块链项目学习,因为区块链项目常常抱着"建好了,他们(用户)自然会来"的想法,习惯性地把创造新鲜、有趣的区块链应用的责任交给第三方。
这种态度极为普遍,就连知名的区块链峰会Consensus 2019(2019共识大会)也举办了题为 "建好了,他们(用户)自然会来:打造一个全球区块链中心"的圆桌论坛,讨论世界各国政府如何在平衡监管、投资和创新需求的同时,为吸引区块链项目做出努力。
平心而论,这种策略对于仅以币圈人士为受众的区块链来说可能是有效的。对于证券型代币,特别是交易这类代表的交易所来说,就更加说得通——“供给创造需求”在这里是惯常的思路,尤其是考虑到实现这些交易需要搭建复杂的基础设施。
相比之下,“吃狗粮”更有可能被那些寻求主流受众(比如金融业、制造和供应链、身份管理等领域的受众)的区块链项目开发者所采用。区块链技术要想打入这些主流领域,区块链公司必须先“吃狗粮”。这样不仅可以清楚地证明区块链技术在币圈之外也是可行的,还可以凸显出区块链不光优化现有用例,也能创造新用例。
而The OAN团队就是一直秉持着这一理念,并依靠着多年来打造的The OAN和Aion的技术栈,开发出了面向独立工作者的金融科技平台Moves。
Matt表示,在开发和发展Moves这款产品时,团队希望The OAN区块链网络的相关功能可以得到充分的发挥,所以重点将从以下三个方面进行考量:
1. 如何使用The OAN区块链网络来提高产品的信贷效率。
提高信贷效率主要考量的点有两个:1)可仔郑陆否借鉴DeFi市场的机制降低资金成本;2)可否利用区块链技术来增加外界对于Moves的授信过程的信任。在这里,Moves将形成一种“汇集众智”的机制,让所有人都能够为降低信用风险和增加授信过程的可信度做出贡献,甚至可能在未来发展出一种微担保机制。因此,用户将可以作为借方、贷方或者担保方参与到平台建立的市场中。
2. 如何使产品与用户的利益一致化。
具体来说,就是通过将Moves与The OAN网络相连接,借助数字资产Aion,在产品和用户之间形成一种利益一致化的关系,从而让用户能够切身体会到Moves产品开展的成功与否,同时也能直接参与到支持Moves的区块链网络——The OAN之中。
3. 如何以Moves开创金融信誉数据开放系统的先河。
这种开放系统可能会成为传统信贷分数或者相关机制的替代品。多年来,银行和金融机构一直将Equifax,FICO或者其他类似机构的评分作为风险指标,而Moves团队认为其正在打造的产品将会是一个很好的开端——一个更完善的、更现代化的金融信誉系统的开端。这是一个长期目标。
Moves支持北美主流拼车、外卖等零工经济念顷平台,将是The OAN在其区块链网络上开发的旗舰版开放应用程序。在6月,Moves的业务运营范围已经从最初的安大略省再扩大两地——亚伯达省和不列颠哥伦比亚省,挺进加拿大西部。
The OAN团队的种种举措,都丛滑是秉持着“吃狗粮”精神,为了让区块链技术能尽快进入主流市场而努力。区块链并不是面向小众,而是面向主流,除了The OAN团队,区块链业内的很多项目、机构也都是朝着这一目标,这么优秀、这么有目标的区块链,你能说没发展前景吗?
Ⅷ 区块链的基本要素包括
1-包含一个分布式数据库
2-分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本
3-区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体
4-区块链只对添加有效,对其他操作无效
5-基于非对称加密的公私钥验证
6-记账节点要求拜占庭将军问题可解/避免
7-共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。
8-共识过程能够解决double-spending问题。
区块链的五个特点:
去中心化
由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
得益于区块链的去中心化特征,比特币也拥有去中心化的特征 [6] 。
开放性
系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
自治性
区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
匿名性
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
Ⅸ 区块链技术是什么未来可能用于哪些方面
技术的发展,往往超乎你的想象,从农耕革命到工业革命再到信息革命,截止到现在开启了区块链革命。达到认知革命的高度,应该算是一个比较大的命题,为什么之前的互联网、大数据、人工智能等等它们的出现并没有提到认知革命的地步,而区块链就可以?
如何快速进入区块链行业?
1.找这个行业顶尖大牛,向他们学习或交流,比如李笑来,比如蔡叔
2.可以购买一些书籍,消息书籍不像淘宝那样混杂,经典就那几个,选几个通读一下
3.可以多搜搜相关文章,公众号、知乎或其他,信息量很大的,大家自己可以发现看完30篇优质文章,你基本已经入门了。
微信公众号:职场芝士派,跟你说说职场那些事
Ⅹ 区块链的共识机制
1. 网络上的交易信息如何确认并达成共识?
虽然经常提到共识机制,但是对于共识机制的含义和理解却并清楚。因此需要就共识机制的相关概念原理和实现方法有所理解。
区块链的交易信息是通过网络广播传输到网络中各个节点的,在整个网络节点中如何对广播的信息进行确认并达成共识 最终写入区块呢? 如果没有相应的可靠安全的实现机制,那么就难以实现其基本的功能,因此共识机制是整个网络运行下去的一个关键。
共识机制解决了区块链如何在分布式场景下达成一致性的问题。区块链能在众多节点达到一种较为平衡的状态也是因为共识机制。那么共识机制是如何在在去中心化的思想上解决了节点间互相信任的问题呢?
当分布式的思想被提出来时,人们就开始根据FLP定理和CAP定理设计共识算法。 规范的说,理想的分布式系统的一致性应该满足以下三点:
1.可终止性(Termination):一致性的结果可在有限时间内完成。
2.共识性(Consensus):不同节点最终完成决策的结果应该相同。
3.合法性(Validity):决策的结果必须是其他进程提出的提案。
但是在实际的计算机集群中,可能会存在以下问题:
1.节点处理事务的能力不同,网络节点数据的吞吐量有差异
2.节点间通讯的信道可能不安全
3.可能会有作恶节点出现
4.当异步处理能力达到高度一致时,系统的可扩展性就会变差(容不下新节点的加入)。
科学家认为,在分布式场景下达成 完全一致性 是不可能的。但是工程学家可以牺牲一部分代价来换取分布式场景的一致性,上述的两大定理也是这种思想,所以基于区块链设计的各种公式机制都可以看作牺牲那一部分代价来换取多适合的一致性,我的想法是可以在这种思想上进行一个灵活的变换,即在适当的时间空间牺牲一部分代价换取适应于当时场景的一致性,可以实现灵活的区块链系统,即可插拔式的区块链系统。今天就介绍一下我对各种共识机制的看法和分析,分布式系统中有无作恶节点分为拜占庭容错和非拜占庭容错机制。
FLP定理即FLP不可能性,它证明了在分布式情景下,无论任何算法,即使是只有一个进程挂掉,对于其他非失败进程,都存在着无法达成一致的可能。
FLP基于如下几点假设:
仅可修改一次 : 每个进程初始时都记录一个值(0或1)。进程可以接收消息、改动该值、并发送消息,当进程进入decide state时,其值就不再变化。所有非失败进程都进入decided state时,协议成功结束。这里放宽到有一部分进程进入decided state就算协议成功。
异步通信 : 与同步通信的最大区别是没有时钟、不能时间同步、不能使用超时、不能探测失败、消息可任意延迟、消息可乱序。
通信健壮: 只要进程非失败,消息虽会被无限延迟,但最终会被送达;并且消息仅会被送达一次(无重复)。
Fail-Stop 模型: 进程失败如同宕机,不再处理任何消息。
失败进程数量 : 最多一个进程失败。
CAP是分布式系统、特别是分布式存储领域中被讨论最多的理论。CAP由Eric Brewer在2000年PODC会议上提出,是Eric Brewer在Inktomi期间研发搜索引擎、分布式web缓存时得出的关于数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance)的猜想:
数据一致性 (consistency):如果系统对一个写操作返回成功,那么之后的读请求都必须读到这个新数据;如果返回失败,那么所有读操作都不能读到这个数据,对调用者而言数据具有强一致性(strong consistency) (又叫原子性 atomic、线性一致性 linearizable consistency)[5]
服务可用性 (availability):所有读写请求在一定时间内得到响应,可终止、不会一直等待
分区容错性 (partition-tolerance):在网络分区的情况下,被分隔的节点仍能正常对外服务
在某时刻如果满足AP,分隔的节点同时对外服务但不能相互通信,将导致状态不一致,即不能满足C;如果满足CP,网络分区的情况下为达成C,请求只能一直等待,即不满足A;如果要满足CA,在一定时间内要达到节点状态一致,要求不能出现网络分区,则不能满足P。
C、A、P三者最多只能满足其中两个,和FLP定理一样,CAP定理也指示了一个不可达的结果(impossibility result)。