最近,毕马威发布了2017年区块链行业研究报告,超块链认为这是迄今为止把共识写得最全面的研究报告,虽然分类上还是略有瑕疵,要点把握仍偏向并围绕账本讨论,但作为一个行业报告,限于行业发展本身,能探讨到账本和共识已经不错了。
就区块链本身的技术特点和发展规律来说,超块链认为:加密货币和账本只是区块链的某一类应用,共识才是区块链的最重要的本质特征,未来区块链的发展必然摆脱货币或账本的束缚,并围绕离散数据的开放兼容和具体共识算法进行深入的研究和发展。共识算法的在性能,是否真正去中心化,安全性及适应用场景等方面优劣将决定区块链行业的未来。
区块链研究报告
2017-07-17
原文地址:https://assets.kpmg.com/content/dam/kpmg/cn/pdf/zh/2016/09/blockchain-consensus.pdf
一、抓住机遇 – 区块链及其它
区块链是比特币的核心技术,是一个去中心化的数据库账本。起初,区块链技术并没有得到人们的广泛关注,但如今,世界上很多大型银行和科技公司都已逐渐意识到区块链将会是继互联网之后的另一个颠覆性的科技发展技术,并开始对其进行大量投资。
区块链技术有望实现数字身份的建立,并使传统的纸张密集型流程自动化,这使得区块链技术成为未来金融服务的万灵丹。尽管有一些人对区块链技术持审慎态度,我们相信,随着金融服务机构逐步意识到区块链的影响和作用,他们将会逐步把区块链技术应用到日常操作中。
二、区块链的基本要素
区块链作为分布式账本的其中一种,将交易以区块的形式进行排序和验证,并施以保护以防篡改。电脑网络通过加密的审计线索来保存和验证交易的共识记录。
分布式账本意味着不存在单一的中央机构(如结算所)来验证和执行交易,而参与者的电脑则被用作网络内的节点。这些节点的部分或全部将按商定算法(即共识机制)来验证,并在合适的情况下,执行拟定交易。
这些交易随后被加密并储存于节点的关联区块中,形成审计线索。由于该技术在参与者的节点上运行,能提供所需保密度,因此交易各方之间无需设置中间人,点与点之间亦无需进行信任验证。在有效执行的情况下,区块链具有快速、保密、可靠和低成本的优势。
区块链的核心是参与者之间的共识。共识之所以是关键,是因为在没有中央机构的情况下,参与者必须就规则及其应用方法达成一致;并同意使用这些规则来接受及记录拟定交易。
区块链是什么?
区块链是在分布式账本中排序及验证交易的方式。应用区块链时,电脑网络以加密的审计线索来保存及验证交易的共识记录。
如图所示,交易一经创建和发布,即署有交易发起人的签名,签署表示获得授权以支付金钱、订立合同或传递与交易相关的数据指标。交易在签署后即可生效并包含执行需要的所有信息。
交易被发送至区块链网络的一个节点,该节点将根据预先设定标准来验证交易。无效交易会被废弃,而有效交易则会被传送至另外三到四个关联节点,这些节点将进一步验证交易并将交易传到其对等端,直至该交易到达网络中的所有节点。
这种蔓延式的方法确保有效交易在数秒之内到达网络中的所有节点。只要发送者使用多于一个节点来确保交易传播,那么它就不需要信任用来传播交易的节点。接受者亦不需要信任发送者,原因是交易已被签署,且不包含任何机密信息或证书,如密钥。一旦交易被验证并纳入区块,该交易便会在整个网络中传播。
在整个网络达成共识和网络中的其他节点接受新区块后,该区块就并入区块链中。一经区块链的记录和足够多的节点确认,该交易将成为公共账本的永久组成部分,区块链网络中的所有节点亦会视之为有效。可建立共识的机制很多,程序员和企业亦一直致力于开发新的机制。区块链采用何种共识机制是如何定义一个区块链的核心。
三、共识
共识概念:昨日与今天
建立共识当然不是一个新的概念。共识在人类开始群体生活之时便已存在。从最基本的层面上说,共识只是一种让一个多样化团体在不发生冲突的情况下作出决策的方法。根据Edward Shils的“共识理念”,共识的达成需以下三个条件:
– 团体成员共同接受法律、规则和规范
– 团体成员一致认可实施这些法规的机构
– 身份认同或团结意识,这样团体成员才会承认他们就达成的共识而言是平等的
共识开始时作为社会运作的一个概念,但如今已成为计算机科学的重要组成部分。在过去30多年,电脑世界中的共识机制已从一个抽象概念发展成分布式账本技术的重要支柱。在分布式账本中,共识机制是大部分(或全部)网络成员就某条数据或拟定交易的价值达成一致,并就此对账本进行更新的机制。
换言之,共识机制是在参与节点之间管理一系列连贯事实的规则和程序。共识算法允许关联机器连接起来进行工作,并在某些成员失效的情况下,工作仍能正常进行。这种容错能力是区块链和分布式账本的另一主要优势,并有内置冗余余量以作备用。
共识协议或共识平台是分布式账本技术的核心。用以建立共识的算法多种多样,并建基于性能、可扩展性、一致性、数据容量、治理、安全性和失效冗余等方面的要求。
共识机制如何运作
共识机制的基本决定参数:
– 去中心化治理:单一中央机构不能提供交易不可改变性。
– 节点结构: 节点通过既定方式来交换信息,可分多个阶段或层级。
– 身份验证:此流程验证参与者的身份。
– 完整性:验证交易的完整性,如通过加密算法。
– 不可否认性:验证假定发送者确实发送了信息。
– 隐私性: 协助确保只有既定接收人才能读取信息。
– 容错性:即使某些节点或服务器失效或运行减慢,网络仍能高效、快速地运行。
– 性能:包括吞吐量、实时性、可扩展性和延迟。
不同共识机制中的参数会存在巨大差异。我们在描述下列特定机制时将分析这些差异。上述参数的一部分通过加密法中四个主要方法来执行,这四个方法使用数学公式来尝试确保安全性和隐私性。这四种方法包括公钥、私钥、散列法以及分层确定性密钥。
共识机制和分布式账本技术概况
图2展示了当前市面常见的分布式账本技术。
因技术更新日新月异,以下共识机制的种类和描述仅是近期某一时点(2016年4、5月)的概览。本文的目的并不是完整展示当前所有共识机制,而仅描述那些当前作为区块链建立的技术选项而被热切讨论和探索的机制。
我们特此说明,这些共识机制中的大部分在区块链和分布式账本产生前已被应用。我们的分析中未包含任何传统的集中化数据库。
图2:分布式共识机制概览
拜占庭将军问题
现代共识机制的基础于1962年提出。RAND Corporation的一名工程师Paul Baran在论文《论分布式通讯网络》中提出了加密签名的概念。这些数字化签名不久就成为了系统对修改数据或文档的用户进行验证的方法。
二十年后,三名学者发表了一篇关于去中心化系统可靠性问题的论文。在《拜占庭将军问题》中,作者LeslieLamport、Robert Shostak、和Marshall Pease提出了一个思维实验:假设有一组将军,各自统领着拜占庭军队的一部分,包围了一个敌军城市。
将军之间只能靠信使进行通讯。但为了攻占这个城市,他们必须就作战计划达成一致。问题在于,一个或多个将军已可能发生叛变,并试图误传信息以破坏作战计划。对此,我们的问题是,这支军队可存在多少已叛变的将军而仍可正常地统一作战?
此情景可与在没有中央机构验证相关资产和交易的情况下的数字化货币、资产托管和价值转移进行直接类比。在分布式账本中,不同的参与者节点就像将军,需确定一个可接受的失效水平:在系统不需要拒绝交易的情况下,可容许多少恶意交易(可容许多少已叛变的将军)?
这是因为一定数量的失效可能不会损害系统整体的可靠性。在这些作者提出的情景中,由于每两个将军由信使联系,我们可以制定一套算法,在肯定三分之二或以上将军是忠诚时,该系统(拜占庭军队)便是可靠的。对于计算机上的分布式金融交易而言,问题更为复杂;有一段时间,业界甚至认为这个问题是不可解决的。
拜占庭将军问题的解决方案以及比特币
Miguel Castro和Barbara Liskov在1999年提出实用拜占庭容错算(PBFT),成为该问题的解决方案。PBFT可以最小延迟处理大量的直接点对点(或分布式)信息。这意味着程序员可建立安全和适应性强的私人分布式网络。
从1999年起,PBFT已通过多种途径得以实施,并进一步发展成各种技术迭代。首先在1999年发展起来的是“工作量证明”。工作量证明是指系统用户须重复运行算法以验证系统内其他参与者的交易。到目前为止,该方法仍然是最受业界认可的共识实现方法。
工作量证明系统以去中心化的点对点加密协议来运行区块链。这些系统不设中央机构,但假定“忠诚”节点至少控制系统的大部分计算能力。 (至少半数军人受忠诚将军掌控。)这些系统是公开或无需设置权限的系统,即系统内节点不需要知道其他节点的身份。
比特币是工作量证明系统的最知名应用。一个名为SatoshiNakamoto的个人或团队于2008年10以一篇名为《比特币:点对点电子现金系统》的论文提出了比特币技术。该技术随即作为开源代码被应用,并于2009年1月发布,成为当前最有名的电子货币。
比特币技术基于“挖矿”,即参与者电脑验证交易并将其加入公有账本,就此赚取新的比特币。很多其他方法紧随比特币陆续涌现。图3展示了比特币出现前后的技术发展。开采比特币的其他途径股权证明产生于2012年。
此方法旨在创建一个机制,以惩罚那些不遵循共识协议的节点。参与者必须以预设数额的电子资产(比特币)对共识结果下注。如果结果没有实现,恶意节点将损失这些资产。
在股权证明系统中,比特币挖矿要求参与者“下注”,参与者需根据他们已拥有的比特币数量来开采新币或输入新交易。在工作量证明系统中,能否成功挖矿则取决于实际的计算工作。与工作量证明系统对比,股权证明系统的优势在于其要求更少的计算工作。
由于相关计算需要高昂成本,计算量的减少可降低系统成本和准入门槛。参与者拥有越多比特币和更高受控计算能力,开采新区块的可能性就越高。另一个名为股权委托证明(DPOS)的系统尝试结合股权证明系统和工作量证明系统的特点。DPOS通过所谓“见证人”来执行一个去中心化的投票程序,以防止潜在的网络中心化。
图3: 比特币前史和共识机制历史
比特币之后的发展
开发者一直致力于提出新的机制以提升比特币应用。2014年,法国企业家FlavienCharlon创建了Coinprism,通过使用名为“彩色币”的开源协议在比特币区块链基础上创造数字化资产,使比特币区块链可用于货币以外的用途。
某些大型金融市场企业(如花旗集团和美国纳斯达克)已于2015年开始尝试使用彩色币。同时出现的还有Metacoin,一种以新层级形式建立于另一种区块链基础上的币种。尽管这些技术拥有各种显而易见的潜力,但将其应用于高度监管的金融机构仍是不可行的,原因如下:
– 源自比特币及其它基于工作量证明的区块链的安全系统不适用于受监管的金融结算(其激励被扭曲)
– 结算的法律终局性不足
– 监管风险仍较高
区块链之外的技术方案
为寻找能可靠应用于金融机构并被监管者接受的共识机制,开发者将注意力投向不是基于比特币或工作量证明系统的技术方案。于2012年开发的Ripple就是首个有重要影响的新方案。Ripple的代码库基于比特币区块链,但并非使用工作量证明共识。Ripple网络使用的是“Ripple共识账本”,具有以下特点:
– 该系统由参与者和历史记录定义,并非由基础技术定义。
– 通过开放式点对点广播来传播信息。
– 其货币使用XRP标记系统,而不是依靠挖矿。
– 总网内存在称为“独特节点列表” (UNL)的集合信任共识子网,整个系统如同一个联合体。
– 各参与服务器根据其管理员的设置方式来管理自身UNL。
– 服务器可被设置为节点以参与验证拟定交易,或被设置为跟随节点,供参与者使用以提交付款或进行询价。Ripple共识机制要求UNL子网(不是整个系统)中80%的绝对多数节点同意验证某项交易。这意味着交易可在数秒内发生,不像工作量证明系统需花上10分钟或更长时间。
Ripple是分布式账本技术发展上的重大突破。该系统并非通过挖矿,而是使用本地标记来限制“垃圾”交易。Ripple的出现促进了跨账本协议的发展,后者实质上是一种可联接传统账本与未来分布式账本的一种方案。
Stellar于2014年出现。Stellar共识协议(SCP)基于联合拜占庭协议,应用“集合块”,即各节点选择其可信任的其他节点。所有这些个体选择之和便是系统层面的共识集合。这些集合块将整个系统联结起来,正如个体网络的决策统一了互联网一样。
更多共识机制出现
自1999年提出PBFT以来,各种各样的共识机制陆续涌现。一些共识机制需使用标记;另外一些已发展为无需标记或进行挖矿。很多系统从无权限系统(如比特币,其中由匿名节点验证交易)转变为已设置权限系统。
在已设置权限系统中,节点必须先被合法知悉及识别才能验证交易。由于节点已知并可证明其资产,因此参与者不需要通过“挖矿”来创造货币。虽然比特币是一个开放、反审查的系统,但我们却看到某些资本市场交易正朝着相反方向发展,如双边共识机制和节点对节电(N2N)。
交易双方在节点与节点之间验证交易,无需账本中的其他节点参与,除非交易双方选择允许该交易。R3CEV的新型账本Corda已为其银行联合体客户开发出这样一种方案。
Corda实质上是在一套所有参与者已一致同意的规则下创建一个系统环境,其中所有参与者均能访问同样的数据。每个散列值将被记录以避免争议。于2014年开发和发布的RAFT旨在提升早前一个叫Paxos的系统。
RAFT应用暂时中心化来执行工作:各节点暂时性地选举一个节点作为领袖,负责验证交易。RAFT的变种系统Tangaroa在2015年面世,其作用是更好地防止恶意攻击和软件错误。
2014年,Digital Asset Holdings正式成立,作为一家为金融资产提供结算和账本服务的区块链技术企业。2015年3月,该公司委任Blythe Masters为首席执行官。2016年初,该公司因在A轮融资中成功筹得超过六千万美元而成为新闻热点。
在2015年7月发布的Ethereum是另一个试图将区块链应用扩展至比特币的点对点货币系统之外的尝试。该方案就分布式账本提出了分布式数据计算的智能订约概念,即一个实体可在合同中反映有形产品或金融产品的价值,并使用区块链来分配这些价值。
Ethereum进一步促进了传统金融合同与区块链技术的融合。Eris Industries已找到将Ethereum工具套件与技术栈(组成电脑基础架构的不同软件层级)整合的方法。Ethereum虚拟机位于技术栈的顶端,下面是可换入/出的不同共识机制。此系统使组织可根据特定时间的需求来选取合适的共识机制,而无需应用单一的共识架构。
同在2015年,Coin Sciences发布了MultiChain,这是首个免费提供的现成区块链平台。MultiChain现允许在网络层面发出和跟踪资产,并引入权限管理系统以实现隐私保护、挖矿控制和向特定交易方授权。
2016年2月,Linux Foundation的Hyperledger项目发布了基于模板的PBFT以作为区块链的创建基础。该项目意图通过建立一个跨行业、开放标准的开源开发程序库,使商业用户可建立自定义的分布式账本方案。Hyperledger的模板可自定义特定交易,并通过私有区块链或其他注册表进行记录。
大企业的参与度增加
今年3月,摩根大通发布了自身的共识机制,该机制的研发从2015年已开始。像RAFT和Tangaroa(启发了该项目)一样,这个名为Juno12的项目通过选举一个临时领袖来实现共识。
客户端节点向领袖节点发出指令,后者再将该指令发布到系统中。Intel®亦在今年发布了Sawtooth Lake项目详情,该项目基于分布式账本的PoET平台。Intel 对该项目作如下介绍:
“Sawtooth Lake抽取了共识的核心概念,使共识从交易语义中分离,并提供两个附带不同绩效权衡的共识协议:第一个是消逝时间量证明(PoET):这是一个抽彩式协议,建立于由Intel的SGX提供的可信执行环境,以回应数量巨大的参与者的需求;另一个是群体投票:这是Ripple协议和SCP的修改版,作用是满足要求立即获取交易终局性的应用的需求。
中国企业也在该领域不断发展。ChinaLedger Alliance在五月初宣布成立:在万向区块链实验室带领下,11家商品、股权和金融资产交易所致力创建一个开源区块链协议,并制定跨行业标准以确保监管合规。
硅谷初创公司Chain亦在五月发布了Chain OpenStandard 1,该标准由Chain在九家大型银行和支付企业(包括第一资本和花旗集团)协助下建立。Open Standard 1是一项开源技术,意在协助金融公司在已设置权限的区块链网络中运行大规模金融应用。
Chain声称Open Standard 1可在一秒内完成大量交易,亦可加密数据并选择性地为交易对手和监管机构提供访问。该方案提供了一个智能订约框架,以支持简单规则的执行和关键值储存。不同企业的开发成果将很快形成一个数字化账本生态系统。某些供应商(如初创企业)提供针对特定用途的平台,另一部分供应商则提供通用方案。
更多开放标准协作团体将会出现,回应各种复杂需求的共识机制亦会不断涌现。图4展示了各种区块链、分布式账本技术和技术供应商是如何紧密合作,以回应不同用例的市场需求。图5描述了共识机制的发展成果以及当前发展速度。
图4: 分布式账本技术图示
图5: 共识机制的历史比较
四、主要发现
我们在为本文进行的调研的过程中,调查了超过20位区块链和其他共识机制的开发者和企业用户。图6, 汇总了我们在评估当前市面最重要的共识机制和分布式账本技术时涵盖的框架与主要话题。
图6: 分布式共识评估架构
共识方案概述
– 需设置权限的分布式账本技术越来越受金融服务机构的欢迎,因该方案的参与者可被预先确定。上文图2汇总了当前正针对不同用例被执行或测试的各种共识机制。
– 共识机制要求交易方通过节点对节点通讯来验证交易。不同分布式账本技术在验证一项交易时所需的节点数不同,从一个节点(如OpenChain)、过半数(如Juno)、绝对多数(如Ripple)到全部节点(如Casper)或节点数可设置;譬如,Stellar可就可信节点网络设置为要求51%或就不可信节点网络设置为要求67%。
– 虽然所有技术供应商均看似具有一定程度的抵抗力/容错性,并不需要所有节点在线,但在多数情况下,系统将要求一定比例的节点上线以推进共识。该比例取决于分布式账本技术及其相关的共识机制。
某些分布式账本技术(如Casper)仅需一个节点在线即可运行,另一些分布式账本技术则要求最少五个节点或预设的多数节点在线。节点对节点分布式账本技术是个特例,因其要求所有交易方在线。
– 我们看到了各种类型的节点角色和节点数量面世。举例说,MultiChain的权限管理系统包含七种权限设置:连接、发送、接收、发出、挖掘、激活和管理。系统内的节点若仅有连接权限,其亦有可能具备只读访问权限。
若节点不具备挖掘权限,则其仅可能具备读/写权限,而不能进行验证。一个仅能写不能读的节点不会具有太大价值,原因是若节点不知道从何处接收资产,那么它也不能建立任何交易。具备权限改变功能似乎是分布式账本的一个合理选择。
– Graphene和Bitshares 2.0等无权限账本应用DPOS,并采纳与MultiChain类似的主要概念(不同点是这些无权限账本是开放式区块链):灵活性。在本类方案中,区块链参数的灵活性(如费用、见证人数量、区块间隔和区块报酬等)可由一个委员会设定。
该委员会由另一群与见证人不同的、被选出的股东组成;这些股东不会获得任何报酬,仅能通过投票来控制全域区块链参数,并在维护窗口中执行。
– 参与节点的数量取决于方案应用的概念。工作量证明不对初始竞争验证(挖掘)的节点设置限制,但现在亦有一些仅应用两个交易方节点来验证交易的极端方案(Corda)。
– 多数共识机制设有三个验证流程,但亦有例外,尤其是投票流程。
– Juno允许用户以任何方式加密信息,而Corda则提供节点对节点数据加密服务。这使交易方能在保密的情况下进行交易,不会将交易内容泄露给无关方。
– 共识机制的不同在于它们如何将交易定义为“已承诺”、 “安全”或“生效”。但多数共识机制均要求大多数参与者接受交易,以实现交易终局性。
– 权限系统内参与节点的激励如何定义取决于金融服务用例。一般而言,参与者之间会通过法律合同、运营目标等方式对节点进行外部激励。某些分布式账本技术仍可被设置为应用工作量证明激励或股权证明反激励。
治理、风险和控制
– 系统中的节点通常为网络参与者所有,但对某些分布式账本技术而言,节点将被共识供应商拥有或管理,如Evernym。在某些情况下,供应商可占有一定比例的节点,但整个网络仍保持开放,以让其他参与者提供节点。
– Ripple起初设定为占有所有验证节点,但就权限系统而言,市场逐渐认为节点应由网络参与者占有。
– 治理模型取决于不同的账本设置。但外部法律合同、监督/监管/观测节点以及一体化权限模型均是分布式账本技术常用的治理机制。
– 多数分布式账本技术希望继续依赖现行的法律及监管架构来识别恶意操作和执行法律行动。此外,某些分布式账本技术(如MultiChain、Hyperledger和Corda)仅是平台或服务,不对参与者的恶意操作负责。
– 方案采用不同方法来限制恶意活动,其中包括将节点加入黑名单、锁定并发账本、保护访问控制系统、断开正进行恶意活动的对等节点以及允许客户中断领导权(对基于领导权的分布式账本技术而言)。大部分这些方法类似于非分布式账本技术应用中使用的方法。
– 多数分布式账本技术使用公钥架构来确保其他参与者的可信度。上述共识机制大多建立于发布区块链所使用的密钥均为安全这一假设。
– 在我们评估的分布式账本技术中,管理员节点功能各不相同。对某些分布式账本技术而言,管理员节点的应用是可设置的。
– 不同软件方案使用不同的方式来在(权限)网络中加载或解除节点。某些方案把整个强制的了解客户和反洗钱流程交由参与者完成,另外一些方案则在加载节点时承担一部分这些责任。
– 节点的行动者已知使恶意节点的访问权限能被更直接地限制。系统可迅速地通过投票排除这些节点或对其进行删除。
– 交易对手风险的管理继续在外部进行。但多数分布式账本技术均通过使用实时交易终局性、可验证真实性和其他分布式账本功能来缓释交易对手风险。
性能
– 吞吐量、延迟及节点数是分布式账本技术可延伸性及性能的一般衡量标准。只有某些资本市场业务才需要很高的吞吐量。许多区块链用例允许交易延迟。
– 从比特币实施以来,分布式账本技术在性能方面取得了显著的提升。大多数分布式账本技术现在都能够在毫秒至秒之间完成交易,处理量在每秒500至5000宗交易之间。此外,在有些分布式账本技术中(如分布式一致),单个账本的交易速度(非分布式共识)达每秒100,000之高。
– 大多数分布式账本技术对数据量或场的个数不实施限制。尽管如此,有些实施受到有效载荷或元数据大小的限制。由于更多的节点被添加进网络,很多分布式账本技术的性能(主要是延迟及吞吐量)因规模越来越大而受到负面影响。尽管如此,我们复核的分布式账本技术中有较高比例显示,规模对系统的性能不存在影响。
– 可扩展性对依赖大量的交易吞吐量的金融服务业务而言十分重要。大多数待建的分布式账本系统遵循行业特定的设计规则,以满足可扩展性和速度以及数据隐私方面的要求。
安全
– 共识机制的安全性尚处于早期阶段,并在不断变化。不同供应商之间的安全功能存在多样性,这是由它们的基础架构和使用的共识机制导致。在大多数情况下,安全测试正在开展的过程中,但还没有达到实施安全强化的程度。
从回应结果看,对审计的聚焦似乎已让位于共识机制、安全及其他组成部分。目前采取的方法是建立一个全功能模型并在问题和障碍的基础上对产品进行调整。
– 关于攻击的各种风险和漏洞继续存在。大多数分布式账本技术积极识别此类风险和漏洞,提高技术予以解决。
– 并不是所有分布式账本技术提供商都考虑了其账本解决方案在高度监管的环境中实施所要求的大量安全测试及认证。尽管如此,我们发现一些例子,显示客户已经开始要求安全测试及审计。
– 丢失私钥仍然是分布式账本解决方案的关键风险之一。人们考虑了很多缓解措施,如复位/重新发出钥匙、钥匙磁盘加密、多人签署、将违规的钥匙列入黑名单等。私钥管理服务在未来应有一席之地。
– “重复支出“是一个公认的风险。大多数提供商设计了复杂程度不同的机制,能够在本质上最小化或防止这一风险。
– 很多账本解决方案建立了大量的系统安全性记录,其他的解决方案未来会增加系统安全性记录。
加密/算法强度
– 有些分布式账本技术(如Juno)允许用户按自己喜欢的方式对每个信息加密,CORDA支持N2N数据加密服务。这使得交易对手可以按照隐秘的方式进行交易,不向任何其他方透露内容。其他分布式账本技术(如Chain)不仅对元数据加密,还使用零知识证明来加密隐藏交易中的资产及金额。业界试图寻求共识机制的标准框架。
– 共识机制的主要是在标识待处理交易的”提交“、 “安全“或“激活”状态之方法上存在差别。总体而言,共识机制是为所有参与的交易主体提供最终的“完成交易”。
– 针对已许可系统中参与节点的激励的定义取决于金融服务中的用例。通常使用如参与者之间的法律合同、运营目标对节点进行外在的激励。有些分布式账本技术仍然可以通过配置以使用工作证明激励或股权证明抑制因素。这可以通过配置实现。
– 分布式账本技术及其提供商提供钥匙生成编码及数据库,用之可以生成公钥和私钥。在设置节点时可以生成钥匙。私钥可以在本地存储,不需要与节点交换,这与今天大多数公钥架构实施相同。在许多观察案例中,钥匙在现有硬件安全模块架构上生成和存储,以维持适当的控制。
– 分布式账本技术广泛使用了多重错误跟踪的机制,包括监控:失败率和信息处理等,某些分布式账本技术能够提供满足实时需求的错误跟踪和监控功能,另外一些分布式账本技术有订阅机制,可以为所有节点方便读取其他节点的行为变化。
– 很多已实施设计的共识方法属于PBFT的衍生品,允许对很多设置进行修改,以便在某些用例中有更好的表现。
标记化
– 在各种共识机制中,存在不同程度的自我执行规则,以确保激励机制使节点的行为诚实和合作。在没有这些激励的情况下,创造者们走上Ripple/Stellar路线或依靠声誉。大多数分布式账本技术专注于提供跨不同资产的技术层。
一些分布式账本技术利用本地加密货币(如Casper使用Ether,Ripple使用XRP),而其他分布式账本技术不使用本地加密货币,但仍然可以提供标记不同资产的能力。Chain使用主传输节点,以加快处理速度。
– 几乎所有分布式账本技术使用数字签名(或等价物)签署交易。因此我们认为这是分布式账本技术的主要参数之一,有助于人们采用分布式账本技术。
隐私
– 分布式账本技术采取各种措施以保障隐私,包括:
– 不将客户数据包括在分布式账本中;
– 匿名地址
– 加密及权限管理模型
– 零知识证明
– 环签名
– 几乎所有的分布式账本技术都需要通过数字签名等来使用可验证的真实性。
– 节点一般都有一定程度的所有其他交易的透明度,N2N分布式账本技术除外。
执行方法
– 实施成本和时间表主要取决于特定的用例,虽然许可和部署技术的整体实际成本似乎是可控制的。然而,针对市场上整个资产类别的分布式账本解决方案的实际总实施成本是很难判断的。
– 不同的用例包括固定收益清算公司(FICC)类资产场外交易衍生品和抵押的数字现金、国际收支、加密货币、积分和关于国际互换和衍生工具协会衍生品掉期的智能合同的使用。图7说明了目前在测试并部分实施的用例的各种例子。
图7:目前在测试及实施的用例
附录-主要术语
区块链
一种管理持续增长的、按序整理成区块并受保护以防篡改的交易记录的分布式账本数据库。
分布式账本
不同于传统数据库技术的数字化所有权记录(因不需要中央管理员或中央数据存储);这种账本能在点对点网络的不同节点之间相互复制,且各项交易均由私钥签署。
共识机制
区块链或分布式账本技术应用的一种无需依赖中央机构来鉴定和验证某一数值或交易的机制。共识机制是所有区块链和分布式账本应用的基础。
节点
保存账本副本的共识网络或服务器的成员或系统,并可担任不同角色,如发出、验证、接收和通知等。概括而言,节点可被视作虚拟机实例。
验证
通过私钥/公钥证明交易对手身份及资产存在性的流程加密通过Quorum结构及保密码,实施交易完整性验证及密码验证的过程,无需信任或依靠中央权力。
加密签名
在用户保留私钥签署交易安全的情况下对数据所有者进行数学验证的一种方法。
股权委托证明
股权委托证明利益相关者选择“证人”命令及提交交易,选择“代表“负责协调软件更新及参数修改。
容错
即使在有些组件出现故障的情形下支持系统继续正常运行的属性。
联合共识
实现拜占庭协议(共识)的一种方法,其中节点能够分享另一个节点,并在没有直接了解所有其他节点的情况下达成共识。
治理
建立分散控制——没有中央权限命令,达成共识时无需其批准。有些类型的共识机制使用选举的领导负责验证及维护在节点之间分享的数据。治理还包括节点进入或退出许可网络。
散列函数
一个应用编程界面通过名为散列的流程为每个文件创建唯一的钥匙或数字指纹。
分级确定键
确定性钱包是指从名为种子的单一起点获取钥匙的系统。种子能够让用户简单备份,在无需任何其他信息的情况下恢复钱包,在有些情形中,允许在不知道私钥时创建公共地址。
账本间协议
将过去遗留的账本与未来的分布式账本连接。基于领导者的共识在这种共识中,选举一位领袖并掌控局面直至投票选举一位新的领袖。在这一模型中,领袖负责验证交易的有效性并将数据传送至其他节点。
实时性
指正在发生的数据传输,不是之前发送的数据记录回放。通过混入无法再次复制的数字,使安全传输具有实时性。如果一个节点可以再没有任何失败节点的参与下将新的价值外化,这个节点就具有实时性。
有些节点可能会失败。只要大部分节点可用,网络依然能够运营,可以处理延迟性(一个或两个慢速服务器将不影响共识反应的整体时间)。此外,对正在分布的越来越大的账本的网络宽带的影响也需要考虑。
Merkle树形多人签名
支持一群用户使用多个私钥签署一份文件的验证功能。
节点对节点 (N2N)
只有交易涉及的两个节点参与的机制;事实上,它回避了传统的共识机制。现实标志编号用于仅一次进入网络的唯一识别器。
已许可
在一个私人网络中,用户设定关于访问、共识机制、治理及参与等的规则。
实用拜占庭容错
这是分布式计算系统的一个特征,容忍一定程度的错误,而且支持该系统继续运行并达成协议。今天,传统的拜占庭共识协议在概念验证设置中扮演着一定角色。在此类设置中,所有节点均相互认识(已许可系统。网络中的已验证及受信任的验证人随机选取,但总是需要大多数通过,对拜占庭伪装者及Sybil攻击有很好的防护性能)。
公用区块链
在这一网络中,所有人都可以通过读取数据、提交交易及参与验证流程参与到这一网络中。
公钥
其他钱包将交易金额发送至这一公共地址。
私钥
唯一与所有者连接且只有交易参与方知道的加密钥匙;秘密地锁在数字钱包中。
隐私
确保只有意向收件人能够读取信息。计算加密领域通过在应用对应用的沟通中,使用针对特定安全沟通要求的数学公式,解决众多关于分布式共识的安全性及隐私问题。
专有共识机制
唯一的共识模型,用不用现有一致性算法作为基础皆可。
Quorum结构
网络中的节点用于交换发表声明的I信息的风格及阶段(可以通过以下因素进行区别:如(节点)领袖选举、领袖类型、验证交易有效性的方法、容错水平、符号的使用、算法的严密性、实时性保障及许可管理)。
远程程序呼叫
一个协议。一个程序可以用它向位于网络中另一台计算机上的程序请求服务,不需要了解网络详情,也叫功能呼叫或子程序呼叫。
轮询调度算法
节点轮流担任领袖的共识机制。
可扩展性
在受到大量运营请求测试时,能够应对、完成逐渐增加的吞吐量并保持甚至提高性能水平或效率的能力。延迟性指交易处理延迟。
安全性
分布式账本的安全性是指保护业务及个人数据以及交易信息的过程。按照非拜占庭式故障,结果的验证应该准确无误;还包括完整性(向接收信息的节点保证收到的信息没有任何修改)及不可否认性(证明发出信息的节点确实发出了该条信息的机制)。安全性可以在其功能中包括数字签名。
Sidechain
将资产从一个机制转移至一个单独的挂钩机制;特殊目的账本。
吞吐量
衡量在规定时间内可以处理多少宗交易的标准。
标记化
在对损害安全性的前提下,使用保留所有必要数据信息的唯一识别标志替代敏感数据的流程。
UTXO:
未花交易,资产可以直接从一个交易的产出传输至下一个效益的投入,每个产出只可使用一次。