区块链是一种创新的计算模式,数据和应用的安全不由中心化的第三方保障,而是由去中心化的计算机网络保障。由于区块链本身具有无需许可性,因此任何人都可以加入网络,并独立验证计算的真实性。最终,区块链技术在用户和网络节点之间建立了权力制衡机制。?
区块链技术为我们带来了创新的数字货币,可以将货币政策写入代码中;也实现了可编程的信任最小化应用。目前,区块链正作为一种全新的数字化基础设施快速进入公众视野,这一发展势头也被称为Web3。尽管许多人认识到了区块链的价值主张,但仍对区块链的底层信任模式存在一些误解。
本文将探讨拥有自主验证能力的全节点可以发挥什么作用,特别是全节点如何监督区块创建者,以及降低验证成本会对区块链的可扩展性产生有哪些关键影响。看完后,你将对区块链与传统计算在信任模式上的不同之处有更深的了解。?
传统计算模式的瓶颈
如今大多数应用都采用客户端-服务器的模式,该模式将请求发送到一个中心化的数据库服务器中。传统计算模式中有以下几类参与者:
客户端:终端用户通常会通过个人设备创建请求,请求会通过TCP/IP协议发送到一个中心化的数据服务器上。客户端相信这个数据库服务器会忠实地响应请求。数据库服务器:这是一台远程计算机,通常是中心化的云服务商,提供数据或具体的服务。后端数据库服务器通常是由传统机构统一管理的一组计算机。
在传统计算模式中,尽管中心化的服务器缺乏透明性,但用户也只能信任它。
这种计算模式也被称为Web2,开发者可以根据自身需求快速发布和扩展应用。由于数据中心可以保障计算的低延时性和高吞吐量,因此可以实现非常流畅的用户体验。部署在中心化服务器上的应用为全世界几十亿用户提供了巨大价值,但是它们自身也存在一些瓶颈。?
阿根廷首都已开始开发基于区块链的数字身份平台:金色财经报道,阿根廷首都布宜诺斯艾利斯已经开始开发一个基于区块链的数字身份平台,目的是让该市的居民控制他们的个人数据。
最近,布宜诺斯艾利斯创新和数字化转型部长Diego Fernández称,该市周二发布了一份包含该平台提案的白皮书,该平台将在2022年最后一个季度至明年第一季度之间投入运营。Fernández说,该平台将是去中心化的、公共的和未经许可的,并补充说,任何希望铸造可验证身份的组织、政府管理部门或公司都可以使用该平台,而无需获得城市的批准。(CoinDesk)[2022/4/1 14:30:16]
其中最大的瓶颈就是,终端用户无法验证响应请求的计算过程是否可靠,也无法确认数据库录入的数据是否被操控。实际上这类应用是在暗箱中操作的,用户必须充分信任第三方不会损害其利益。?
中心化应用的这种信任假设可能会对用户产生负面影响。用户可能会遭遇审查,被社交平台删除账户,个人数据被泄露,被算法推荐内容,对账成本变高,数据被篡改或丢失,甚至整个系统中缺乏问责制。最终,这将导致社会信任崩塌,并推高经济协调成本。
区块链计算模式?
区块链摆脱了对中心化实体的盲目信任,并采用以下技术机制,实现信任最小化以及可信的中立。
采用加密技术,认证数据/资产的所有权并验证交易的真实性;采用去中心化共识机制,为交易排序并执行协议规则;采用经济激励机制,保障网络账本的不可篡改性和运行稳健性。?值得一提的是,区块链是开放的网络,全世界任何人都可以加入,既可以主动地做贡献,也可以被动地监听消息。终端用户可以亲自验证网络输出的结果是否有效,以及账本中的数据是否被篡改。由于区块链具有透明性,因此也降低了信息不透明的风险,消除了信息不对等,并保障了所有参与者都能充分知晓风险。?
在区块链计算模式中,终端用户可以选择加入区块链网络,并验证计算结果。
富士通、JCB和瑞穗银行测试数字身份互操作性:10月15日消息,10月15日,富士通、日本最大的信用卡发行商JCB和瑞穗银行共同测试一种系统,该系统基于富士通的区块链解决方案,即自主权和分散式数字身份交换技术,可实现涉及公司和行业之间关于敏感用户ID信息的安全交易。JCB和富士通自2019年以来一直在进行数字身份联合研究项目。(eventsnewsasia)[2020/10/15]
区块链网络中的各个参与者
区块链为了确保能够正常运行,需要不同类型的网络参与者,一个参与者常常会扮演多个角色,而且每个角色都会发挥关键的作用。
区块创建者:负责为交易排序,并打包成区块,然后将区块提交到网络进行验证。如果在同一区块高度创建了两个有效区块,那么区块创建者就要决定哪个版本的区块链是“具有正统性的”。过程中会采用共识机制来决定让哪个区块创建者来创建下一个区块,其中最受欢迎的两种共识机制分别是PoW和PoS。全节点:全节点是区块链网络的核心。这类节点负责下载并验证区块创建者提交的每个区块。如果区块被验证为有效,那么就会被添加到全节点的个人账本中,并执行状态变更。不符合协议规则的无效区块会被无视并丢弃,不会执行任何状态变更。?归档节点:归档节点不仅会储存全节点中的所有信息,还会计算并储存区块链之前的状态。归档节点可以用来请求任意历史数据,比如在过去某一区块高度的用户账户余额。这里要注意一点,那就是全节点可以随时转换成归档节点,无需从网络中下载任何其他数据。归档节点对硬件的要求通常非常高,而且一般由服务提供方负责运行。轻客户端:轻客户端是在功能上受限的全节点,只下载区块头。轻客户端可以验证区块中是否包含某笔交易,但由于其不会下载或执行区块中的所有交易,因此在本质上需要相信大部分区块创建者是诚实的。轻客户端也称为“简易支付验证”客户端,最初由《比特币白皮书》提出。?RPC服务商:RPC服务商也是全节点,可以将其他网络参与者连接至区块链,并读写数据。RPC服务的用户往往没有能力或意愿来自己运行全节点或轻客户端,因此可以通过这项服务大幅降低访问区块链的门槛。用户必须相信RPC服务商能够诚实地提供服务,因为用户自己无法对结果进行验证。终端用户:终端用户就是想要在区块链网络中展开交易的普通用户。这类参与者有可能会运行全节点或轻节点,也可能会接入RPC服务商。区块链的唯一目的就是为终端用户提供服务。虽然每类参与者都对区块链生态的良好运行发挥着关键作用,但全节点毋庸置疑是区块链网络的核心,因为它们负责维护网络账本的完整副本。而其他参与者,比如区块创建者和轻客户端,都会连接到全节点,以随时了解网络的状态。因此,区块链网络的拓扑结构如下图所示。
HashCash Consultants计划为银行业务创建主权数字身份系统:8月12日消息,美国区块链公司HashCash Consultants计划创建一个联合主权数字身份架构,用于银行业务流程。该公司表示,银行需要DLT技术来更好地管理身份。银行是人们身份的“首席仲裁者”,需要区块链技术才能做得更好。(Cointelegraph)[2020/8/12]
区块链网络的拓扑结构示意图,其中轻客户端和区块创建者都连接到全节点。
区块创建者的权力是有限的
对于区块链的一个普遍误解是:由于区块创建者负责将交易添加到新区块中,因此他们能够单方面控制区块链。换句话说,这些人认为,如果大多数区块创建者都被收买或者共谋,那么网络就会沦陷,一切有价值到的东西都会被彻底毁灭。实际上,区块创建者的权力是受到限制的,因此只会发生几类恶意攻击事件。?
区块创建者拥有以下权力:
审查交易:区块创建者可以自行决定将哪些交易放到自己的区块中,也可以选择性地忽略某些交易。区块创建者如果出现共谋,确实有可能将某些交易剔除出去,但实际上只需要有一个诚实的区块创建者,就可以把交易放到有效的区块中。重新改写区块链:如果大多数区块创建者出现共谋,那么之前创建的有效区块就有可能由于区块重组而出现分叉,并会出现一条新的区块链成为主链。这里要注意的是,一些区块链会建立checkpoint机制来实现“经济终局”的概念。在checkpoint之前的区块一旦重组会导致区块链暂停,而这需要在链下达成社会共识才能解决。?
区块重组会回滚之前被接受的有效区块,并用新的一组有效区块代替。
区块创建者不拥有以下能力:
更改协议规则:区块创建者不能随意修改协议规则,比如添加/删除功能;提高/降低区块空间上限或出块频率;以及增加/减少出块奖励。?盗取用户资金:不持有钱包私钥的区块创建者是不能花钱包中的通证的,因为交易的加密签名将是无效的。这里要注意的是,区块链重组会导致双花攻击,这类攻击会删除区块链帐本中由私钥持有者签名过的交易,而不是伪造交易签名。?要理解区块创建者能力受限的原因,就必须先搞清楚区块创建者和负责验证的全节点之间的关系。?
动态 | 加拿大银行家协会:加拿大需要基于区块链等技术的数字身份识别系统:据多伦多星报消息,加拿大银行家协会首席执行官Neil Parmenter今天在演讲中表示,加拿大必须创建一个数字识别系统,可能需要利用区块链和生物识别等技术,以及通过实时视频连接进行文件审查。Parmenter表示,从现有的以纸张为基础的面对面识别系统做出转变,需要“释放正在进行的数字革命的全部潜力”。[2019/1/16]
全节点如何对区块创建者进行监督
区块创建者的职责是提交新区块,以保障区块链能够平稳运行。不过区块创建者无权代表整个区块链网络决定区块是否有效。负责决定区块有效性的是全节点。全节点储存了区块链账本,负责独立验证每个区块,并执行区块中的所有交易,以确认区块是否遵守了协议规则。?
因此就形成了一种权力制衡机制:全节点只接受有效的区块,并会无视不遵守协议规则的区块,以此来对区块创建者进行监督和问责。而区块创建者则受到经济激励,只创建有效的区块。因为如果他们创建无效区块,就会白白浪费大量经济资源,而且还要放弃所有区块奖励和交易费收入。即使其他区块创建者在一个无效区块上继续创建有效区块,这些区块都会被全节点无视,而这些区块创建者最后会分叉离开网络。?
全节点由区块链生态中的关键经济实体运行,其中包括cryptocurrency交易平台、stablecoin发行方、预言机、L2验证者、RPC服务商、托管钱包服务提供商、巨鲸和普通用户等。这些关键的经济实体自主验证区块链账本,因此不会受接受无效区块。全节点在确认区块有效性时也无需互相协调沟通。这些节点在验证区块时只需遵守协议规则,就可以对区块有效性达成共识。?
无效的区块会被全节点拒绝,全节点会持续追踪有效的区块链。
许多区块链的协议规则都是由社区在链下决定的,这个过程也称为“社会共识”。达成社会共识通常需要经过正式的流程,社区会在各个社交平台上讨论协议规则变更的好处。一旦在链下初步达成了共识,区块链的核心开发者就会开发新版本的区块链客户端来执行这些变更。全节点和区块创建者可以自行选择是否运行新版本的软件,通过硬分叉或软分叉来升级网络。?
现场 | 元界陈浩:区块链自主数字身份目前正处探索阶段:金色财经现场报道,在今日MSUP举办的全球区块链技术案例峰会上,开源公链元界CTO陈浩在演讲中提到,互联网个人身份存在四个问题: 用户在平台上传数据的所有权究竟归谁;盗窃丢失,托管在中心化系统中的数据安全性不可控;重复不兼容,在不同平台有不同账户;欺诈,比如羊毛党等。
他认为,区块链能够登记并统一身份,打通不同平台的身份账本。以太坊ERC725标准征求意见稿中,曾讲到区块链身份概念。不过,基于区块链的自主数字身份目前仍处于探索阶段。[2018/9/8]
如果硬分叉升级出现争议,那么区块链网络可能会分化成两个不同的版本,并且这两个版本会各自运行。一旦这种情况发生,每个区块链都会共享从创世区块到分叉前某一区块高度之间的所有历史。2017年比特币和BitcoinBash的硬分叉就是如此,当时大家对于如何提升交易吞吐量产生了分歧。2016年的以太坊和以太经典的硬分叉也是这样,当时社区对于如何处理DAO黑客攻击事件出现了分歧。
BitcoinCash是比特币区块链的分叉链,之所以会出现是因为当时大家对如何提升交易吞吐量出现了意见分歧。
也有的区块链不采取链下共识机制,而是选择通过链上治理的方式来处理升级,由通证持有者来治理一个去中心化自治组织,并决定协议规则变更事项。无论哪种协议升级方式都有其独特的优势和挑战,采用哪种方案要取决于社区的具体需求。?
降低对全节点的硬件要求
如果对全节点的硬件要求过高,那么就不会有那么多实体有能力或意愿运行全节点,他们可能会选择中心化的解决方案来向区块链读写数据。这将使区块链网络更容易受到区块创建者的操纵。
为了建立健康的全节点网络,许多区块链都会故意限制网络的交易吞吐量,兼容社区中配置最低的验证节点硬件。降低对硬件的要求不仅能够让全节点在正常情况下正常运行,还能在区块链被一组共谋的区块创建者攻击时迅速搭建新的验证全节点。每条区块链对硬件的具体要求都有所不同,不过它们基本上都兼容普通的消费级硬件。
在树莓派上运行的比特币区块链全节点,树莓派是一个低配置的微型计算机。
以下逻辑说明了降低硬件要求将如何提升区块链的核心价值主张:?
降低硬件要求→降低区块的验证成本→更多实体可以运行全节点→能够更好地抵御区块创建者发起攻击→提升网络安全→更好地实现可靠的中立性→提升用量
虽然区块链协议中并没有明确规定对全节点的硬件要求,但却会规定交易吞吐量,以专门针对某一类硬件配置。?
虽然大多数区块链都可以兼容普通的消费级硬件,但也有一些区块链会要求验证节点的硬件至少达到服务器级别,以提高交易吞吐量。这些区块链意识到,虽然这样做会减少参与验证的自建节点数量,但仍然有足够多的关键经济实体有充足的资源来运行全节点。?
降低区块链的验证成本
一种理想的情景是全世界所有人都运行自己的全节点来验证区块链交易。然而实际上,搭建全节点需要耗费大量时间和资源,而且可能会影响许多终端用户的使用体验。随着区块链越来越普及,习惯使用中心化服务提供商的用户可能会觉得自建全节点太麻烦了,它们更希望能立刻与链上应用交互。?
因此,目前主流区块链上的大多数终端用户都没有自建节点,而是接入了RPC服务商,并信任这些服务商能够提供可靠的服务,将用户交易发送到区块链网络,并向用户同步区块链的当前状态。这些用户可能并不在乎区块链自主验证的种种好处,而且区块链网络的安全性也没有达到最理想的状态。然而,相比传统计算模式,区块链在信任最小化方面仍拥有巨大优势。
如今许多终端用户都不亲自运行全节点,而是接入可信的RPC服务商。
这个问题有一个折衷的解决方案,那就是将轻客户端集成至区块链钱包。虽然集成轻客户端可以降低对RPC服务商的依赖程度,因此可以在一定程度上改善现状,但轻客户端模式在根本上仍然需要相信大多数区块创建者创建的是有效区块,而且区块中的所有交易数据都是公开的。
为了使轻客户端不用下载并执行整个区块就可以验证区块创建者的区块,轻客户端需要在技术上实现优化,以提升信任最小化水平,并成为“信任最小化的轻客户端”。可以在以下方面进行技术优化:
欺诈证明:全节点生成一份加密证明,发送给轻客户端,证明区块是无效的且违反了协议规则。与此同时,轻客户端无需重新执行一遍区块中的所有交易。?有效性证明:除了欺诈证明之外,还会生成一份零知识证明,区块创建者可以直接向轻客户端证明区块是有效的且遵守了协议规则。数据可用性采样:这是概率性的采样技术,可以验证区块中的所有数据都已提交至网络,无需轻客户端下载整个区块。
信任最小化的轻客户端无需下载或执行整个区块就可以验证区块创建者的区块。
随着新的信任最小化技术不断发布,验证者可以更轻松地验证区块创建者的区块,无需下载并执行整个区块,而且验证成本更低。这将有助于提升整个区块链网络的安全性。值得一提的是,创建信任最小化轻客户端可以进一步催生出更多可扩展的区块链网络。
在维持自主验证的前提下扩展区块链
通常我们会将区块链扩容和交易吞吐量提升划上等号。然而更全面的理解应该是:区块链扩容既需要提升交易吞吐量,又需要维持较低的验证成本。好在现在出现了信任最小化的轻客户端,区块链网络的吞吐量得以提升的同时,仍将区块验证成本保持在较低水平。?
另外,rollup等L2扩容方案也利用了跟信任最小化轻客户端类似的技术,采用加密证明技术来证明交易的有效性,而且底层区块链网络无需执行每一笔交易。底层区块链对于L2rollup来说就是公认的信任最小化轻客户端。另外,交易被打包并储存在区块链上以保障数据可用性,这样做可以大幅提升交易吞吐量,并且几乎不会增加任何底层区块链上的验证成本。
L2rollup将底层区块链作为公认的信任最小化轻客户端,以提升交易吞吐量。
总结?
区块链是append-only形式的账本,非常安全、可信和中立,为我们带来了全新的计算范式。区块链在区块创建者和全节点之间建立了权力制衡机制,可以为社区提供服务,不断升级迭代,并同时保持其不可篡改的属性。虽然我们还需继续努力进一步降低区块链的验证成本,但目前区块链在信任最小化方面已经比传统计算模式拥有巨大优势。?
——
本文内容仅代表作者本人观点,不代表Chainlink基金会或ChainlinkLabs的观点。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。