区块链落地面临的关键问题及其解决方案

简介:

bf70eac8a9681e8bde832cf518fdeefd0282ab1c

策划|Tina编辑|安翔

目前区块链平台所面临的最大问题可以通过一个简单的比喻来说明。

互联网的网速在本世纪初期是非常缓慢的。用户访问你的博客是一件既费时又费钱的事情。

即使用户对互联网缓慢的缺点心知肚明,他们也并未抛弃互联网,因为他们认为互联网潜力无限且大有可为。为了解决这个问题,他们不断改善互联网的设计方法和基础设施建设。与此同时,他们构建了性能更强的硬件来运行当今互联网的重要组件。

得益于持续不断的改进,互联网变得越来越快,访问网站的成本也变得越来越低。如今互联网的速度已经很快且仍在不断扩展,它让从前想都不敢想的事情逐渐变得可能。以往的开发人员只能创建单个网页。而如今,开发者可以在不断改进的基础架构上构建出诸如 Facebook、Google 和 Twitter 这样的大型网站。

如今,区块链交易面临着与曾经的互联网类似的阻碍:速度慢,成本高。

区块链公司正在努力提供可扩展的基础架构,期待区块链平台在未来成为主流。目标一旦实现,人们不仅可以使用区块链进行支付,还可以在区块链上创建类似 Google 和 Facebook 的应用程序。

Zilliqa 就是正在尝试解决这个问题的公司之一。本站(Tech in Asia)采访了 Zilliqa 公司的技术总监 Yaoqi Jia(https://www.zilliqa.com/)。

e8839bf33427edbad3a706d2a36b3be8df577707

为了更好地解释区块链的可扩展性,我们首先得明白吞吐量的概念。

4d2592846b61381ebb83b7701a183ebed713962f

举例说明。假设你在火车站候车,候车室总共有 11 个人。火车每隔一小时一班,一次只能上 10 人。火车装满 10 人就走,第 11 名候车人就只能等下一趟。

我们把这个例子中的乘客比作交易。像比特币和以太坊这样的主流区块链平台平均每秒可以处理大约 10 次交易。

a9ec6eed256939673321547c6b13c6e1a7ba1486

相比之下,像 Visa 这样的支付公司平均每秒可以处理大约 5,000 到 8,000 笔交易。

处理交易的速度称为吞吐量。与 Visa 这样的支付平台相比,目前区块链平台的吞吐量非常低。

71bb7afdb1925328f0290a76b9e33e3363157e3f

现在假设候车人数增加到 100。火车到站之后,售票员对候车的人们说:“一次只能上 10 个人,谁付钱更多谁就先上车。” 你正好公务在身,非常繁忙,因此你为了上车便支付了巨额的票款。

区块链平台的吞吐量非常有限,而交易费用却异常高昂。例如,你原本只需 10 美元就可完成交易,由于区块链平台拥挤不堪,于是你不得不额外增加 2 美元的交易费用“走后门”。

因此,低速率和高成本是当今主流区块链交易平台的巨大障碍。

c6b277718643b4593cb63b0dc9b34487ff3b9443

主流的区块链平台都需要扩展。区块链公司已经为此提出了几种解决方案。

 1. 增加块容量

a8aad0666877b77cfa2cd3b912a0d0dfd76cda69

最直接的解决方案就是增加块容量。

回到火车站的例子,增加块容量也就是增加火车的座位数量,比如从 10 个增加到 20 个。这样一来,每趟火车就可以搭乘更多的乘客并缓解车站的拥堵。

目前比特币的块容量为 1 MB。假设将其扩大到 2 MB 的话,那么每秒处理的交易数量即可翻倍。块容量越大,每秒处理的交易数量也就越多。

理论上貌似可行,但在实践中仍然存在问题。

Zilliqa 的 Jia 对此做出过解释,他说:“假设你将块容量从 1 MB 增加到 1 GB。那么当你创建这个块时,需要将它发送给网络中的其他人。”

他继续说:“如果你使用 Gmail 发送这个大文件,由于网络无法快速处理如此巨大的文件,因此传输这个文件需要耗费很长的时间。显然,增加块容量的做法是存在问题的。你不能无限制增加块容量,所以这个解决方案的扩展是有限制的。”

 2. 链外交易

64568a53cb21064fed044085d11407bbbea652f8

第二种可能的解决方案是链外交易,比如比特币的闪电网络、以太坊的雷电网络和 Neo 的 Trinity。

使用当前的方法,你每次进行交易时都需要获得网络中所有节点的批准。(节点是运行交易算法的计算机。)

举个例子。假设你每天都会从一家喜欢的咖啡店购买一杯咖啡。一杯咖啡的价格是 1 美元,但是你并不想每天都付钱。因为每交易一次,你就得给区块链平台支付一次交易费用。

于是你和咖啡店老板签了一份合同。合同规定,你每天用价值 1 美元的虚拟币来支付咖啡。30 天之后,你为这 30 个虚拟币一次性支付 30 美元。咖啡店老板则用你支付的 30 个虚拟币提取 30 美元的现金。这样一来,原本一天一次的交易就变成了 30 天一次。

因为这是发生在区块链网络之外的私人协议,所以它们被称为链外交易。

这个系统同样存在缺点,交易过程将集中在链外交易服务器的周围。这些链外交易网络也是黑匣子,这种解决方案的透明度和安全性值得怀疑。

 3. 授权共识协议

89f91388563028c42ddc11426b761489f794e08a

目前区块链网络上的交易依赖所有节点,假设网络中有一千个节点,那么每次交易都必须经过这一千个节点的处理,因此交易速度很慢。

就好像有一个 1000 人的小组,每项决定都需要所有人的同意。那么这个过程就会非常漫长,并且非常混乱。

相反,如果你从团队中挑选出 10 名成员,并将他们任命为团队的管理人员,然后让这 10 个人进行投票表决。很显然,由于人数减少,达成共识就会更容易,更快捷。

同样,你可以委托一组节点运行协议并就交易达成一致。他们的协议将被视为该团体共识的代表。

大多数可扩展的区块链项目都使用该协议。为了进入“管理机构”或联盟,小组成员必须注册他们的兴趣并进行某些测试,证明利益或证明权力。如果他们注册成功,将获得加入联盟的证书并运行共识协议。

然而这个问题同样存在问题,因为协议集中在运行它的委托节点组的周围。

 4. 分片

707d9ac8db9892afed187ec305dd730c1c6e263d

分片也就是把链上网络进行分割。

分片的概念在数据库领域已不再新鲜。分片会将大型数据库分为更小、更快、更易于管理的数据分片部分。

Loi Luu、Prateek Saxena 及其团队在他们的研究论文 Elastico 中研究了分片的概念,并将之应用到区块链。Saxena 是新加坡国立大学计算学院的助理教授,同时也是 Zilliqa 公司的首席科学顾问。Luu 则是该校的博士生,同时在 Zilliqa 公司担任顾问。

Zilliqa 的解决方案称为网络分片。

388c99ea933034dac2dab2b55ac9830a8ab75130

为了描述它的工作流程,我们举例说明。假设你有一个问题,需要五个步骤来解决。

7678b78a8466df5cd6db0cce84dd825ee0fcaa3d

假设一个班级里有 10 个学生。而解决这个问题的五个步骤没有先后顺序要求,可以并行解决。于是你将学生分成五个小组,每个小组两名学生,每个小组负责解决一个子任务。第一组解决第一个子任务,第二组解决第二个子任务,依此类推。

c138df4f82313fd07534a3558f3aebebdb1e3463

一旦其中一个小组完成了自己的子任务,它就会将完成信息报告给老师。老师将汇总五组的信息,并将完整信息告知每个小组。这样一来,即使每个小组并不清楚其他组的工作细节,但却知道其他组的工作进度。

本例中的学生也就是 Zilliqa 平台上的节点。“班级”包含了网络中的所有节点,“小组”也就是碎片。“老师”代表目录服务委员会,它本身也是一个碎片。

相比之下,比特币网络的“学生”需要自己去解决五个步骤的问题。这种方法需要更长的时间,同时“学生”的任务也更繁重。

当你使用 Zilliqa 的网络分片,如果有 10,000 个节点,这些节点将通过称为工作证明的过程被随机分成 10 个组。每个组都称为碎片。

e4a3fbd927766869b9e6a420f247e2a4ce44af1c

8cb2ec13a522c0ec00d3a9743770cac7b28094a3

每个碎片负责处理一组不同的交易,并提出一组大家都同意的交易。然后,他们将这些交易的摘要报告给一个名为 DS 委员会的碎片,该委员会将汇总来自不同组的摘要,并将它们组合成称为最终块的更大实体。整合后的信息将被发回给所有组。

以上过程称为网络分割。目前 Zilliqa 是唯一一家正在开发这项功能的公司。网络分片是一种去中心化且安全的线上解决方案,能够提供线性可扩展性。也就是说,你拥有的节点越多,获得的吞吐量就越高。目前 Zilliqa 每秒可以处理 2,488 笔交易,并且计划在未来将每秒的交易数提升到 10,000。

以太坊正在研究一个与之类似但又稍有区别的分片过程,成为状态分片。在网络分片中,并非每个节点都必须处理每个交易,但每个节点都必须存储网络中其他分片正在发生的事情的状态信息。通过状态分片,每个节点将只存储他们处理的信息的子集。虽然这减轻了每个节点的负担,但是碎片之间的通信变得复杂。

分片的理论固然好,但是设计和实现存在复杂性。

Jia 说:“我们在 2015 年便开始研究,如今仍在进行分片实验。实现一个简单版本的分片很简单,但想要完全保证其正确性和安全性很困难。因此尝试开发这项功能的团队少之又少。”

他继续说:“相比之下,增加块容量的做法非常简单。你仅仅需要调整一个参数,增加块容量和吞吐量即可。而分片就不是那么简单了,需要考虑的东西很多。如何正确选择每个组员?如何分配任务?所有这些都给系统带来了复杂性。扩容之后,你的系统将是分散和安全的,并且支持吞吐量的线性动态增长。”

带宽和存储限制是最常见的瓶颈,不仅是分片,对于所有的区块链扩展方案都是如此。

这对于比特币和以太坊这样的主流区块链平台来说还不算什么问题,因为它们的吞吐量很低。

Jia 说:“比特币和以太坊每秒处理 10 笔交易。按照目前的速度,一年的总交易也就几 GB。但是,当每天的交易数达到数亿甚至数十亿时,就会出现大量数据,为了存储这些交易数据,我们必须找到更好的存储解决方案。这是网络分片无法直接解决的问题。”

c8ec012f244a42f1beda8416ed829c817cabbdac

Zilliqa 公司内部已经成功开发了网络分片。

该团队希望公众在 3 月底能够在其测试网络上试用该功能。

测试网络基本上是正式网络的一个复制系统,团队可以在上面进行运行和测试。

Zilliqa 测试网络的试用主要针对 Zilliqa 的支持者,比如对协议感兴趣的开发人员和社区成员,以及对分片概念感兴趣的区块链开发人员。

在测试网络中,用户可以观察区块链系统的状态,例如正在处理的翻译数量。与此同时,用户可以使用钱包创建有效帐户,用来发送和接收测试令牌中的交易。

 目标

Zilliqa 正计划推出区块链系统和智能合约平台,这将有助于在区块链上运行应用程序。下一步的目标是实现分散式应用程序(或者简称为 dApps)在平台的发布。你可以将之视为类似 Google 和 Facebook 的应用程序,只是在分散式区块链平台上发布而已。这些应用程序可以帮助 Zilliqa 占据行业主导地位。

Jia 说:“如果将区块链比作操作系统,我们希望 Zilliqa 成为未来的 Android 或 iOS 平台。我们希望普通人能够轻松地使用和开发 dApps,并且注意到他们最喜欢的应用程序是建立在 Zilliqa 上的。”

未来,Zilliqa 还希望解决区块链中的开放问题,例如可扩展性解决方案、隐私和存储。

Jia 说:“这些问题不仅仅在行业内存在,学术界也同样存在。未来我们希望提供一个可扩展的区块链平台。同时,我们也希望进行研究并发表论文,多方位支持区块链产业发展,从而解决当前问题,共筑网络美好未来。”




原文发布时间为:2018-03-31
本文作者:实战
本文来源:微信公众号-区块链前哨,如需转载请联系原作者。

目录
相关文章
|
7月前
|
安全 JavaScript 前端开发
区块链钱包系统开发解决方案/需求设计/功能逻辑/案例详细/源码步骤
The development of a blockchain wallet system involves multiple aspects, and the following is the detailed logic for developing a blockchain wallet system:
|
区块链 安全 存储
带你读《区块链工程实践 行业解决方案与关键技术》之二:电力市场交易结算智能合约
本书是一部能全方位指导区块链项目落地的实操性著作。通过5个经典的行业案例,从总体设计、业务设计、功能接口设计、架构设计这4个维度详细讲解了如何构建一个完整的区块链行业解决方案,同时讲解了实现每个解决方案需要的关键技术和方法。
|
大数据 网络安全 区块链
区块链如何更好地改进云计算解决方案
目前区块链在提供运行大数据应用程序所需的计算能力方面,还远远不能取代云计算。但这并不意味着这项技术无法帮助它达到目标,也不意味着它在改善现有云计算基础设施方面没有起到任何作用。
252 0
区块链如何更好地改进云计算解决方案
|
Go 区块链
区块链金融风控系统开发解决方案(源码demo示例)
区块链金融风控系统是一种利用区块链技术建立的金融风控系统,旨在通过多种手段来保证金融交易的安全性和可信性。区块链技术具有去中心化、开放性、自治性和匿名性等特点,这些特性使得它能够保证数据的安全性和隐私性,并使得交易记录能够被全部追溯。同时,区块链技术还能够实现可编程性,从而使得金融交易能够按照事先设定的规则自动执行。
|
API 区块链 数据安全/隐私保护
为什么应用程序开发人员想要一个区块链支付解决方案
为什么应用程序开发人员想要一个区块链支付解决方案
|
大数据 区块链
阐述区块链项目DAPP系统开发技术解决方案
阐述区块链项目DAPP系统开发技术解决方案
146 0
|
存储 人工智能 安全
春藤8910DM芯片底层解决方案,软硬兼施破解区块链物联网融合难题
春藤8910DM芯片底层解决方案,软硬兼施破解区块链物联网融合难题 上云同时上链,首个Cat.1物联网芯片+区块链底层融合解决方案落地
330 14
春藤8910DM芯片底层解决方案,软硬兼施破解区块链物联网融合难题
|
区块链 数据安全/隐私保护
BlockChain:MIT教授、图灵奖得主Silvio Micali ,演讲题目《区块链的前景、挑战及Algorand的解决方案》听会记录
BlockChain:MIT教授、图灵奖得主Silvio Micali ,演讲题目《区块链的前景、挑战及Algorand的解决方案》听会记录
BlockChain:MIT教授、图灵奖得主Silvio Micali ,演讲题目《区块链的前景、挑战及Algorand的解决方案》听会记录
|
存储 运维 分布式计算
区块链系统开发解决方案
要开发一个DAPP,你首先得想明白该DAPP能解决什么问题,其次你要撰写一份项目白皮书,描述该DAPP使用的技术原理,共识机制等。想要从零开始开发一个完整的区块链项目太过复杂,所以目前普通的开发者大多会选择一个相对成熟的平台云之梦,依托区块链系统开发平台成熟的开发环境来开发自己的DAPP。如此以来,DAPP的开发工作就简单了不少。
267 0
|
供应链 区块链 数据安全/隐私保护
井贤栋再谈区块链:数字化时代信任机制的最佳解决方案
“区块链是数字化时代信任问题的最佳解决方案,区块链是重构生产关系的技术,其他技术则是改进生产力。”
2041 0
井贤栋再谈区块链:数字化时代信任机制的最佳解决方案