本篇文章6666字,读完约17分钟
Cosmos、polkadot等侧链和中继链技术可以实现更好的双向跨链性能,并且不需要信任任何第三方。缺点是技术架构复杂,实现困难-cosmos和polkadot仍处于测试阶段。
自10多年前诞生以来,区块链技术已经从比特币描述的点对点电子现金系统扩展到可编程资产的公共账簿,进而发展出以以太网为代表的“通用国家计算机”,可以执行图灵完整计算并记录结果。现在,许多基于性能、功能和互操作性等属性的技术创新已经出现,许多公共链已经出名。
为了深入探讨这些重要而又核心的技术和意识形态问题,凯捷(ID:iKLBS)将邀请在公共连锁、交流等一系列领域取得巨大成就的企业家、学者和技术牛人,分享他们在专业领域大量实践后的行业判断和想法,以帮助读者进一步加深对区块链的了解。
最近,连锁捕手邀请了conflux研究总监杨光博士撰写论文,作为一线从业者,谈谈他对公共连锁行业发展的看法,并对公共连锁行业的新技术解决方案进行梳理和评估。我相信这些信息将对读者深入了解公共连锁行业的最新技术趋势大有裨益。
自2009年1月中本聪发布比特币代码以来,比特币和区块链技术的发展已经走过了十年。在过去的十年里,比特币经历了许多阶段,比如密码朋克和极客的玩具,黑市交易和洗钱的工具,以及投机的题材。现在它已经成为一种数字资产,其价值是政府和主流金融机构必须正视的。
在过去的十年中,区块链技术已经从比特币所描绘的点对点电子现金系统扩展到可编程资产的公共账簿,进而发展出以以太网为代表的“通用国家计算机”,可以执行图灵完整操作并记录结果。
区块链技术的意义和应用范围已经远远超出了比特币或电子支付系统。当我们在2019年谈论区块链技术时,我们经常讨论如何以可信的方式组织和处理信息。正因为如此,越来越多的人开始意识到区块链技术是一项可以与互联网技术相媲美的伟大发明。
如今,区块链的发展有两大分支:公共区块链(简称“公共链”或“公共链”)继承了比特币的民主和分权精神,并在未经许可的情况下采用了协商一致机制。通过集体奖励鼓励共识的捍卫者;区块链联盟(也称“联盟链”)以区块链的思想重构数据库,达到联盟内部成员之间建立信任和共享信息的目的。
事实上,仍然有人认为“联盟链”只是一个覆盖着区块链外壳的数据库,而不是真正的区块链。接下来,本文从公共链的角度介绍了区块链技术的发展现状。
块链本质上是一个处理信息的系统。有人甚至提出了一个夸张的说法:“比特币实际上是历史上最慢的分布式数据库。”诚然,将比特币或任何公共链与传统分布式数据库进行比较是不公平的,因为区块链的最大价值在于提供(分散的)信任,而不是提供传统数据库的现有功能。
另一方面,除了提供信任的一致机制之外,区块链的其他功能和组件与传统的日志数据库非常相似。例如,比特币的转账和脚本功能以及以太网的智能契约可以通过一个集中的数据库来实现。因此,不难理解公共链技术的发展方向——使公共链成为一个更好的数据库,在保证分权的前提下提供同等程度的信任。
那么,我们关心数据库的哪些方面?下面,我们将从性能、功能和互联三个方面介绍公共链技术的发展方向和现状。
01
表演
公共链性能提升的方向可以简单概括为“更高、更快、更强”,分别意味着更高的吞吐量、更快的确认速度和更强的安全性。
1)更高的吞吐量
追求更高的吞吐量是许多新的公共链技术的最重要的目的。比特币的一致吞吐量约为每10分钟1mb的数据,这意味着整个网络平均每10分钟就能达到1mb的一致数据。根据每个事务500b,这相当于每秒处理3.5个事务,即3.5 tps。
相比之下,维萨的日吞吐量约为2000 tps,峰值可超过5万tps,而支付宝的交易峰值超过30万tps。不难看出,比特币的极低吞吐量使其不可能成为一种日常支付方式,事实上,近年来每当货币价格大幅波动时,比特币上的交易都会经历明显的排队延迟。
就提供吞吐量的容量扩展技术而言,它分为第1层技术和第2层技术。第一层技术主要通过修改一致性算法来提高区块链一致性数据的吞吐量,第二层技术通过分层一致性来提高整个系统的吞吐量,而不改变每个链的一致性吞吐量。
改变第一层扩展方案的最简单方法是直接修改参数,例如缩短块间隔(Litecoin等)。)或增加块大小(bch和bsv等。),以便在同一时间内就更多的交易达成共识。
例如,比特币使用的隔离见证技术实际上是在变相扩大数据块大小,但由于这种扩大非常有限,它只能将比特币的吞吐量提高到每秒7笔左右。简单粗暴地改变参数的直接副作用是会降低系统的安全性,这是我们非常不愿意看到的。
为此,开发了代理加速网络和紧凑块等技术来平衡修改参数对系统安全性的负面影响。然而,毕竟,广播速度的上限在很大程度上取决于网络基础设施的发展水平,因此通过改变参数可以提高的吞吐量是非常有限的(在确保安全性的前提下)。
扩展第一层的另一种常见方式是采用新的一致协议,以突破中本聪最初设计的性能瓶颈。这个方向吸引了许多学者来研究。例如,Ethereum的一致性算法采用了以色列希伯来大学的yonatan sompolinsky和aviv zohar提出的Ghost(贪婪最重观察子树)协议,而不是中本聪的最长链规则,因此它可以将块间隔从10分钟缩短到大约15秒,并将吞吐量提高到每秒30个事务。
ghost协议的主链选择路径
其他著名的下一代协商一致协议包括分别由图灵奖获得者西尔维奥·米卡里和姚期智先生开发的algorand和conflux:前者采用pos协商一致机制来避免分歧,可达300 tps左右;;后者以树形结构而不是链式结构来组织块,并且达到3000个以上的tps。目前,algorand、conflux等许多新的共识协议仍处于理论论证和实验阶段,这是区块链技术的一个非常重要的发展方向。
第二层扩展方案是诸如分段、侧链和多链等技术的总称。这种技术的核心思想是将共识参与者(pos系统中的挖掘者或验证者)分组,每组分别处理不同的交易,通过分工合作提高整个系统的吞吐量。
目前,比特币闪电网无疑是二级扩容方案中最具影响力的,其他具有代表性的方案包括以太网的身份通道、分片和等离子。第二层扩展方案的主要缺点是在一定程度上牺牲了安全性,因为参与第二层共识的计算能力或股权份额明显低于第一层主链,这是由“分工合作”的设计理念决定的。
二级方案设计中非常重要的一点是,当发现问题时,例如单方面关闭比特币闪电网络的交易渠道,如何安全、快速地回到一级共识。因此,二级扩容方案通常作为一级区块链的功能补充出现,更适合处理小资产(如闪电网)和实验功能(如比特币现金的虫洞)等特殊场景。
此外,二级解决方案未来发展的另一个重要方向是利用智能合同的可编程性,在一级区块链之上实现和运行针对特定业务场景定制的二级侧链,以获得更高的性能、更低的成本和其他更加多样化的定制功能。
例如,今年2月由斯坦福大学的benedikt bünz在eprint预印网站上发布的zether,是以通用智能合同的形式实现类似zcash的保密交易功能的第二层方案。
2)更快的确认速度
比特币交易通常需要等待六个街区才能被确认。平均在十分钟内生成一个块需要一个小时左右,由于吞吐量低造成的等待时间还没有计算出来。
事实上,如果转账金额足够高/有相对较少的大宗奖励,等待时间和确保交易安全所需的大宗数量将进一步增加。这种交易速度无疑会导致用户体验不佳,因此提高确认速度也是区块链技术的一个核心发展方向。
块链技术提高确认速度也会提高吞吐量,因为仅仅提高确认速度的意义是有限的,当吞吐量过低时,排队时间将成为实际确认延迟的主要部分。
例如,加快块广播速度和缩短块输出间隔是同时提高确认速度和吞吐量的典型技术,而一致性协议(如ghost、algorand和conflux)的主要目标之一是确保系统在快速输出块的同时具有足够的安全性。
汇流树模型(实线箭头指向父块,虚线箭头指向参考块)
许多第二层扩展方案也可以提供更高的确认速度,因为此时只需要第二层确认,不受第一层主链一致速度的限制,如比特币的闪电网。
为了达到最终的确认速度,甚至出现了基于代理的权利证明(dpo)的一致协议。在采用这种协议的系统中,只有处理能力强、网络条件好的超级节点才能直接参与协商,其他参与者只能投票给他们信任的超级节点,无权打包交易和投票给块。
Eos是dpos系统的典型代表。通过将每轮协商中参与一致的超级节点数量限制在21个,eos可以实现1秒的确认时间和接近4000个tps。但是,dpos的缺点也非常明显,其中最受批评的是超级节点降低了系统的分散程度,给安全和区块链治理带来了很多隐患。
此外,还有一些折衷技术,通过放松安全要求而不改变现有的一致同意,为小额支付提供了更快的确认速度。
例如,通过共享几个大型比特币挖掘池的交易内存池,可以在交易实际打包成块之前检查是否存在冲突交易。如果没有冲突,可以认为事务最终将被打包并执行。这也称为“零确认技术”,它用于快速确认小事务,甚至不需要等待事务实际打包成块。
当然,这种做法有很大的局限性。首先,必须有一个相对集中和集中的矿池来认可交易池的真实性。其次,不可能100%地避免某个矿池或矿池外的矿工最终打包一个冲突的交易。因此,这项技术只能用于确认风险较小的小额交易。
3)更强的安全性
块链技术确保了约定的交易和数据不易被篡改,这也是区块链能够提供分散信任的核心逻辑。在大多数现有的区块链系统中,比如比特币,隐私也需要付出相当大的代价——所有交易都以明文形式存在于链中,供其他节点验证,因此所有交易都是开放的。
这些区块链系统通过与真实身份无关的公钥地址实现了一套“假名”支付系统。这种“假名”系统可以提供最低程度的隐私,但是对应于地址的用户的身份仍然可以通过高级分析方法来识别,例如历史交易和使用模式之间的相关性。因此,保护用户的私人信息也是区块链技术的一个重要发展方向,也是密码学在区块链的主要应用。
保护技术转让交易的隐私相对容易。目前,已有许多技术被用来保护交易的隐私,如coinjoin、机密交易、环签名、mimble协议甚至零知识证明,还有公共链,如monero、zcash、grin、beam等。以隐私保护为特征的。
他们通过采用不同的技术方案获得了不同程度的隐私保护,但普遍存在的问题是隐私保护的成本相对较高。
例如,monero使用环形签名技术生成的每个事务的大小约为10 kb,在zcash中生成零知识证明的每个事务需要几十秒甚至几分钟的时间,并且需要几十mb到几gb的内存空.降低保护交易隐私的开销是这类技术的主要发展方向。
另一方面,针对一般计算的隐私保护,如智能合同执行,已经吸引了越来越多的研究工作。这方面的主要技术流派包括基于安全芯片的可信执行飞地(tee)、基于密码学的全同态加密(fhe)和零知识证明技术。
以英特尔的sgx芯片为代表的Tee技术似乎是最接近实现的技术,而且开销最低,但它的缺点也很明显:芯片制造商需要被信任,芯片容易受到旁路攻击。
同态加密技术的主要缺点是计算成本太高,完成相同计算任务所需的计算量大约是明文计算的10万到100万倍。目前,零知识证明技术的实现方案有很多,如zk-snark、zk-stark、防弹、ligero、zkboo等。这些方案在性能上各有优缺点,但目前还没有一个在各方面都达到适用的水平。实现更高性能的零知识证明是所有区块链技术中密码学家最关心的目标。
此外,可验证计算也是提高区块链安全的一项重要技术。可验证计算允许用户在不重复所有操作的情况下验证计算结果的正确性,这可以降低一致性计算的成本并降低加入高吞吐量一致性系统的阈值。可验证计算和非交互式零知识证明技术在实现上有很多相似之处,适合区块链,这里不再赘述。
02
功能
区块链技术在功能上的发展主要面临着丰富的应用需求。自比特币诞生以来,区块链功能最先进的技术无疑是以太网的智能合同,这使得区块链的功能从记录交易的总账演变为通用数据处理平台,极大地拓展了人们对区块链未来应用场景的想象。
目前,区块链技术的发展方向是在提供图灵完全智能契约的基础上实现更多功能。下面从权限控制、外包计算、可信随机数等几个方面进行简要介绍。
1)权限控制
在区块链最简单的实现中,每个帐户地址对应一对公钥和私钥,掌握这个私钥可以完全控制帐户。这种每个帐户都由私钥控制的方式很容易理解,但也有一些缺点:
首先,有些账户可能不属于某个人,如公司账户或夫妻共享账户,所以我们希望让多个用户以更灵活的方式共同控制一个账户;第二,如果账户唯一对应的私钥意外丢失或被盗,用户将立即失去对账户的控制,风险太高;最后,有时我们需要区分不同用户使用账户中资产的权利,例如,区分用于大额支付和小额支付的私钥。
为了解决上述问题,比特币引入了多重签名账户,需要预置几对公钥和私钥,只有用足够的私钥签名的交易才有效;在以太网和其他支持智能合同的系统中,通过编程可以实现更灵活的权限控制。
然而,将多个签名直接附加到每个事务将增加具有签名数量的事务的长度,这也将增加验证的负担。Schnorr签名和其他多签名技术使我们能够将任意数量的签名聚合成一个签名,并且我们可以仅通过验证签名一次来判断交易是否被与聚合的公钥相对应的所有私钥授权。
2)外包计算
目前,在分散预测机尚未解决的情况下,除了点对点支付外,在区块链没有多少应用可以完全实现全过程而不依赖链外信息,外包计算就是其中之一。外包计算的基本流程是,甲方将输入的数据交给乙方,然后乙方将计算结果返回给甲方,甲方在核实计算结果正确后支付给乙方。
外包计算对传统数据库来说也是一项非常前沿的技术,其最大的困难在于甲方验证计算的成本必须明显低于执行整个计算任务的成本,否则外包计算将失去其重要性,这可以通过上述的可验证计算技术或可信执行环境来实现。
除了计算的经济性之外,外包计算通常需要保护输入数据和输出计算结果的隐私,即乙方在不知道甲方将要做什么的情况下完成计算任务。外包计算隐私的传统加密解决方案是使用安全多方计算或同态加密计算。前者的缺点是需要参与者之间的互动,不适合区块链的情况,而后者的主要缺点是效率低。
如果降低一些安全要求,可信执行环境tee技术也可以达到保护计算隐私的目的。因此,目前看来,最适合区块链外包计算的技术是使用具有tee功能的安全芯片,未来可能会有效率可接受的基于密码学的解决方案。
3)可信随机数
随机数是许多算法和程序的重要资源。在区块链实现一个公平、公开的随机数,对于链中的许多应用,甚至一些区块链共识协议本身都具有重要意义。
在链上实现可信随机数的技术包括承诺开放方案、基于秘密共享的方案、基于唯一签名的方案和可验证随机函数(vrf)技术等。
虽然这些方案可以提供高质量的随机数,但它们不能完全阻止攻击者影响和操纵随机数。如何更好地限制攻击者对随机数的影响是密码学家关注的研究课题。
03
互连和互操作性
区块链的Oracle机制研究如何以分散的方式可靠地获得区块链以外的数据,这是长期以来阻碍许多公共链应用的核心问题。特别是在可预见的未来,在许多不同的区块链(包括公共链和联盟链)将长期共存的背景下,实现不同区块链之间的数据和价值的相互流通成为一个迫切的问题。
虽然通用预测机还没有普遍适用的方案,但仅用于跨链操作的专有预测机已经有了一些初步的实现:
闪电网中使用的哈希锁定技术可以支持双向跨链操作,实现起来非常简单,不需要可信的第三方。缺点是功能相对单一,通用性不强;
Btc中继利用邰方的智能合同实现了一个比特币spv节点,并以分散的方式实现了从比特币到以太网的单向交叉链;
Ripple协议通过公证机构的跨链技术实现资产交换和转移的功能,但缺点在于需要信任第三方作为公证机构;
Cosmos、polkadot等侧链和中继链技术可以实现更好的双向跨链性能,并且不需要信任任何第三方。缺点是技术架构复杂,实现困难-cosmos和polkadot仍处于测试阶段。
最后,为了观察公共链的发展,本文提出了吞吐量、互操作性和权限控制的观点,并分析了各个方向的发展。然而,在上述领域,没有一个公共链处于绝对的领先地位,许多公共链的解决方案需要通过具体的实践来检验。我会继续关注公共链的发展,与大家分享。
标题:杨光:公链前沿研究的三大视角
地址:http://www.hhhtmd.com/hqzx/11338.html