随着区块链越来越受欢迎,解决如何在保持或提升性能的同时对它们进行扩容以便能够与当今的交易网络展开竞争这个难题也正变得越来越紧迫。
如何改善区块链低下的交易性能呢?如今正在努力破解这个重要的区块链难题的组织不止一家。
区块链分布式账本技术的工作原理是将一系列电子记录链接在一起,每个记录都与之前的记录紧密相连; 每个新的条目集或“区块”只有在通过了点对点(P2P)网络上的共识程序之后才会完成并加上时间标记。
每个插入区块链中的新记录都必须被序列化。这一链式特征意味着,随着区块链的增长,区块链的更新速率要将比并行更新数据的传统数据库要慢。
如今,作为全球最流行的加密货币,比特币和以太坊已经开始使用工作证明(PoW)共识模型。作为验证新区块的方式,该模型要求节点(服务器)完成复杂的数学运算(原理类似于将CAPTCHA作为挑战/响应机制以帮助网站确认人类用户)。
PoW机制本身在设计上就不够快。例如,比特币需要大约10分钟才能在账本中添加新的记录或区块,即使每个条目只允许添加1MB数据情况依然如此。虽然以太坊中的区块大小没有这样的限制,但是由于它们会随时间动态调整,因此它们每秒也只能处理大约20笔交易。相比之下,Visa的金融网络在峰值负载下每秒可处理大约10000笔交易。
问题的复杂之处在于:比特币和以太坊P2P网络都不是为了存储大量数据而设计的,但是人们都以为它们可以存储大量数据。正因为如此,随着电子账本的不断发展,它们所需的算力和电力也在不断增长。
为了解决存储问题并加速交易过程,人们已经提出了从增加区块大小到将共识机制从PoW改为权益证明(PoS)等多种解决方案。PoS会创建“缴纳保证金验证者”或用户,他们必须先存入保证金,然后才能作为区块链共识或投票社区的一部分。只要“缴纳保证金验证者”对区块链中诚实行事,那么他们就会留在共识社区; 如果他们试图欺骗系统,那么他们就会失去他们的权益(他们的钱)。
寻找正确的答案
去年,以太坊在一个名为“Casper”(得名于电影《鬼马小精灵》中那个友好的小精灵)的测试网中引入了一个PoS机制。
卡内基梅隆大学计算机科学系副教授Vipul Goyal认为:“权益证明算法肯定会超越工作证明算法。但是在这种情况发生之前,还有一些重要的研究挑战需要克服。”
还有将PoW与PoS机制结合起来的混合模式,既尊重了那些既定权益者,同时仍允许电子账本上的所有用户进行一定程度的交易验证。
今年早些时候,以太坊基金会与外部开发者进行了接触,以帮助解决无法充分扩容的问题。
该基金会探索了两种可能的解决方案。第一种方案即我们熟知的第2层扩容方案,将网络参与者之间繁琐的往来流程转移到一个单独的区块链或数据库中。不过该方案仍然允许主要的或第1层区块链记录最终交易结果,如你购买一个以太币或比特币。在保持区块链与生俱来的可信赖性的同时将最普通的流程转移到链外,作为“状态通道”的第2层的效率将得到大幅提升。
另一种可能的方案:“分片”
第二种可能的解决方案涉及PoS和添加“分片”。该方案将网络上的节点划分为分区,每个分区负责处理每个交易中的一小部分,并且允许同时并行处理更多的交易。以太坊联合创始人Vitalik Buterin在博客中写道,分片不会削弱区块链原有的安全性,因为它们保留了“区块链大部分的去中心化和安全属性”。
但是,以太坊的另一位联合创始人Joseph Lubin认为,分片过于复杂并且创建一个可行的计划需要时间。
他说:“我们将无法通过权益证明和分片立即获得可扩展性,因此这些在我们的生态系统中将作为第三阶段的工作。这些工作具有深远意义,但是第二层解决方案无疑是一块非常坚实的垫脚石。”
比特币和以太坊开发者都建议将交易数据卸载到二级数据库或区块链中,只在链上保留资金验证流程,允许资金“脱链”转移。今年早些时候,比特币开发者提出将Lightning Network作为“第二层”支付协议,允许交易和小额交易近实时地在一个单独的P2P网络上发生。
在上个月于香港举行的Rise会议上,Lubin提到了Plasma。Plasma于2017年由Buterin和Joseph Poon首次推出,为针对以太坊的第二层扩容方案。该方案将为主要的或第一层区块链添加具备处理功能的第三层区块链。
Lubin 在专家小组讨论中称:“我们正在进入一个可以将以太坊作为第一层信任系统的阶段。作为以太坊的组成部分,我们在第二层系统中将处理成千上万个交易,并且年内就能看到这一分叉。”
在Computerworld网站的访谈中,Lubin确认了以太坊中第二层协议的发展轨迹:为了进行游戏或加密货币交换,它们可使用Plasma构建,并通过智能合约链接至第一层以太坊区块链。(智能合约为基于预先确定的规则执行的业务自动化脚本)。
智能合约将负责在根或第一层区块链与第二层区块链之间移动交易。与此同时,智能合约还将维护规则,例如不允许多次使用由哈希记录表示的数字令牌。第二层区块链可以使用其他的共识机制(例如PoS或甚至权威证明)验证从主区块链转移至次区块链的交易。
Lubin 称:“如果该系统出现了问题,Plasma技术能够让人们根据被恢复值的最后一个检查点将其令牌从该系统中拉出来,并且第二层系统的管理者不能阻止人们挽救他们的值。”
如果丢失了加密密钥会怎样?
只要分布式电子账本存在,在系统被黑客攻击或用户丢失私人加密密钥时恢复加密货币一直是个难题。如果丢失了私钥,那么你将失去访问加密货币的能力。
第二层以太坊区块链的一个示例是能够在咖啡店购买Wi-Fi接入服务的应用程序,比如每分钟一美分。当客户走进咖啡馆并使用支持以太坊的应用程序登录Wi-Fi服务时,该应用程序将允许客户通过以太坊智能合约在其账户中留出一定数额的资金。每过一分钟,第2层区块链上的智能合约将自动记录或验证用于支付Wi-Fi服务的费用。在客户离开时,最终支付的金额将记录在主要的以太坊区块链上。在服务结束时,咖啡馆经营者会获得由智能合约自动签署的最后一笔交易,这将使其有权获得服务费用。
区块链也可以成为一个流行的游戏平台。例如,最早且最受欢迎的基于区块链的游戏之一是“加密猫”。游戏中,玩家需要收集、繁殖和交易虚拟的猫咪。每只猫代表一种不可替代的数字代币。“魔法创世纪”和“意志之力”等卡牌游戏也是基于区块链的游戏。
Plasma 网络还允许用户在两个基于区块链的不同游戏之间移动。Lubin称: “比如有两种不同的游戏,而且这些游戏又在两个基于Plasma的不同网络上。如果我在一个游戏中拥有一把稀缺的剑,可我想把它们带回以太坊,也许我可以将它们卖给别人或把它们移植到其他游戏当中。”
迄今为止最出色的第二层以太坊项目是Loom Network。该项目为今年早些时候上线的SDK套件,其可创建具有高可扩展性的游戏和面向用户的DApp。第二层技术使用了PoS共识机制来验证新的区块。
仍需要时间加以试验
Lubin称,目前人们并不急于将第二层协议引入以太坊,因为还有基于当前架构的其他“修剪机制”可用,并且这些机制也可进一步提升效率。
“我们还没有处于真正的危险之中,系统可能在相当长的一段时间内还会继续得到长足发展。尽管存在这样和那样的缺陷,但是我认为我们还可以将性能提升两到三倍。”
例如,在以太坊的下一次迭代中,区块大小可能会增加50%或70%,从而允许在链上存储更多数据。Lubin称: “目前这项工作正在进行当中。”
作者: Lucas Mearian 为资深记者,主要 从事金融服务IT(包括区块链),医疗保健IT和企业移动问题(包括移动管理、安全、硬件和应用程序) 的报道。