区块链技术架构研究BTC闪电区块链蓝海

也许 Layer2 才是区块链的未来

2018-08-26  本文已影响300人  蔣宏伟

也许 Layer2 才是区块链的未来

区块链要多快,才叫快!

在当前阶段,区块链大规模应用的最大瓶颈就是缺乏可扩展性。没有可扩展性,系统的吞吐量就上不去,因此一个“撸个猫”游戏就造成了整个网络的拥堵,更别谈,支持大规模的应用了。在互联网应用中,加几个服务器,就意味着多了几台服务器的吞吐量。但在区块链中,这招却不管用,因为区块链系统受限于可扩展性:

O(n) < O(c)

区块链系统中的任何一笔交易,都要网络中的所有节点进行确认。因此,区块链系统的计算能力(n),受限于单个节点的计算能力(c)。

2017年12月,比特币暴涨,它的日交易量,也达到了它的历史巅峰,为 424,579 笔。而以太坊的日交易量的历史巅峰数据是 1,349,890 笔。我们再讲讲淘宝双十一的日交易量数据大概是 1,480,000,000 笔,VISA 和淘宝是同一个量级的。而互联网每天的信息吞吐量大概是 2,000,000,000,000 次。折算成 TPS,比特币 5,以太坊 16,淘宝 17,000,全球 23,000,000。

光讲这些数据数据,你大概没有什么感觉。我们来对比一下,一个人跑步的速度,大概是 5m/s,好比比特币。优秀的自行车运动员的骑行速度大概是 14m/s,好比以太坊。而要达到 VISA 的速度,就要宇宙飞船了,旅行者1号在离开太阳系的速度是 17,000 m/s。要满足现有的全球的信息流通量呢?大概是 10^7 的量级,和光速 3*10^8 只相差一个量级。

Layer 1 改进包括,共识算法和底层区块链的架构。在 Layer 1 层,通过改良 POX 共识算法,比如 DPOS,充其量也就是自行车变汽车。架构上的改变,比如分片技术,1 个区块链和 100 个分片通讯,就算做速度再乘以 100X。因此,无论在 Layer 1 上怎么玩,顶多摸到宇宙飞船的尾巴,要想达到光速,对不起此路不通。

项目 交易/天 TPS(平均) 类比
比特币 424,579 4.9 汽车^1
以太坊 1,349,890 15.6 跑车^2
EOS - 1,932(最快) 航天飞机^3
VISA/淘宝 1,480,000,000 17,129 宇宙飞船^4
全球 2,000,000,000,000 23,148,148 光^8

只有 Layer 2 上做文章,才是唯一能够达到光速的手段!

Layer 2,主要是指在构建在区块链之上的可扩展性、计算、存储方面的基础设施。我们习惯把 Layer 2 叫做链下,相应地, Layer 1 就是链上。跳出 Layer 1,也就跳出了 Layer 1 的单节点限制问题。本文讨论的就是 Layer2 可扩展性问题的解决方案。在 Layer 2 层,用类似于传统互联网的手段,通过网络将所有节点连接起来。任意节点之间都可以随时发起交易,没有了单个节点的性能限制,就可以通过增加节点和通道的方式不断扩展,达到光速。

闪电网络

Layer2 最有名的可扩展项目,要属闪电网络了。

我们用 Bob 到 Cooffeeshop 买咖啡来举例子介绍闪电网络:

  1. 资金上链:Bob 存入 0.05 BTC 上链,Cooffeeshop 存入 0 BTC 上链,只有通道关闭时,链上资金才会被释放。此时,交易的初始信息为: Bob 0.05 BTC| Coffeeshop 0 BTC。
image-20180826105016706
  1. 链下白条交易:Bob 和 Cooffeeshop 建立支付通道(例如,通过 IP/TCP 协议建立支付通道),在该通道内的双方通过相互在白条上签名来完成交易。每次交易,双方都保存一份相同的带有双方签名的白条。保存的白条,是处理后续交易,解决交易纠纷的关键。比如 BoB 通过白条支付给 Coffeeshop 0.005个 BTC,双方的白条信息就此更新为: Bob 0.045 BTC| Coffeeshop 0.005 BTC
image-20180826105548485
  1. 关闭链下通道:任何一个人都可以随时关闭链下支付通道。比如BoB 可以拿着白条:Bob 0.045 BTC| Coffeeshop 0.005 BTC,到链上申请关闭链下支付通道,并进行交易结算,结算完成后 Bob 可以拿到 0.045 BTC,Coffeeshop 拿到 0.005 BTC。上述结算的前提是,提出结算的一方是诚实可信的,但是现实中,只要有利可图,就有造假的风险。
    如果 Bob 实际买了 10 杯咖啡,双方真正的余额是 : Bob 0 BTC| Coffeeshop 0.05 BTC,但是 Bob 却打起了歪脑筋,用第一次买咖啡的白条 Bob 0.045 BTC| Coffeeshop 0.005 BTC,到链上申请结算。如果任由咋骗的情况发生,扩容网络也就废了。
    闪电网络提出的方案就是,提出关闭通道一方 Bob,后进行链上资金结算,另一方 Cooffeeshop 先进行链上资金结算。举个例子,Bob 提出关闭通道,那么 Bob 要 100 小时小时后才能进行链上资金结算,而 Cooffeeshop 立刻能够取到链上资金。这样 Cooffeeshop 可以在 100 小时内,拿着第十次 Bob 买了 10 倍咖啡的白条 Bob 0 BTC| Coffeeshop 0.05 BTC,去链上申请仲裁,取到本应该属于他的资金。
    链下通道安全性的关键就是:链下如何给链上提供欺诈证明。闪电网络的假设是,参与发 Bob 或 Cooffeeshop 在指定时间内,比如 100 个小时内,不会一直掉线,然后在 100 个这小时内,后退出的一方可以到线上申请仲裁。
image-20180826111229008
  1. 双人通道 => 多人通道。Alice 和 Bob 已经建立"支付宝"支付通道,Bob 和 Carol 已经建立"微信"支付通道。如果 Alice 给 Carol 之间要进行交易,有两种方案,第一种是 Alice 和 Carol 再建立一条“Apple”支付通道,另外一种方案是通过 Alice 和 Carol 通过 Bob 进行桥接支付。 任何交易双方都需要建立一个一对一的通道,这显然会带来很多麻烦。闪电网络支持中间人桥接建立支付通道,步骤如下:

    1. Alice 要给 Carol 支付现金,要通过中间人进行桥接支付。但是中间人不一定可靠,那么 Carol 就和 Alice 约定一个“谜题”,如果 Alice 从 Bob 哪里收到的 “答案”能够解开“谜题”,就说明 Bob 真正的把资金给了 Carol。
    2. Alice 把“谜题”和转账信息给了 Bob。
    3. Bob 和 Carol 进行协商转账,如果 Carol 把“答案”告诉 Bob,Bob 就把钱给 Carol 转过去。这实际上也就和输入秘密进行支付一样。
    4. Alice 和 Bob 进行了同样的协商转账,如果 Bob 把“答案”告诉 Alice,Alice 就把钱给 Bob 转过去。

    需要注意的是,第 3 步和第 4 步的先后顺序,是 Bob 先垫付的资金,然后 Alice 才把资金给了 Bob。也就是说 Alice 需要给 Carol 支付,需要动用整条价值传输链路上的资金。 在只有一个中间人 Bob 的时候,Alice 和 Bob 的资金都被动用了。如果有 10 个中间人,那么动用的资金量就是 Alice 直接支付给 Carol 的 11 倍!理解这一点,判断链下状态通道好坏的关键。

    Network

在传统互联网的信息传输中,只需中间人越少速度越快,也就是最短路径算法。但是区块链是价值传输,因此不仅要考虑最短路径,还有考虑最短路径上节点的有没有可以使用的资金。不然就会出现 Bob 虽然支付宝支付通道上有钱,但是微信支付通道上面没钱,导致整个 Alice 不能通过 Bob 支付 Carol 资金的尴尬 。链下通道关键就是:如何在整体上保证传输消耗的资金量最少(最短路径),且维护整个网络中通道资金的平衡(且资金链不断裂)。闪电网络,只是做了一些非常简单的处理,比如选择多条最短路径,但这不能从根本上解决问题。

  1. 多人通道 => 支付网络: 既然多人之间可以建立状态通道,那么推广开来,在更多人之间就可以建立起一个支付网络来。现在闪电网络也已上线。下图就是闪电网络主网,它有 2934 个参与者,参与者之间建立 8041 个一对一的支付通道。目前上面的流通资金量还是非常少的,只有 81 个比特币。
image-20180820182305607

Layer 2 的难题

从技术角度看,闪电网络的可扩展性,其实是牺牲了用户的可用性,并且是需要大量流动性资金做支持的。

image-20180820183502770

其他 Layer2 的解决方案

在如何提高用户可用性和减少流动性资金的需求,有很多 XXX Network 的解决方案。其中,比较出名的有 Liquidity Network 和 Celer Network。

Liquidity Network 也是一个 Layer 2 的项目,因为看 V 神点了赞,丹华也投资了,我也就拿过来研究了。延续闪电网络中,提高的 Layer2 上解决可扩展性问题的两个关键:

Liquidity Network 白皮书中并没有提到如果保证链下安全性的。但在如果提高链下速度上,有着非常详细的描述,还提出了 REVIVE 路由算法,其核心思想,就是“分而治之”

其官网的宣传图片,很好的介绍了路由的思想。地球一共七洲,每个大洲上都有几个 Liquidity Network 的枢纽,枢纽的概念有点像交易所。每个大洲上都有几个国家级的交易所,平时大家都在交易所中进行交易,交易所进行交易的速度非常快,能很好的满足大家的日常需求。每个交易之间,也会通过特殊的通道进行连接,组成一个全球的交易网络。

[图片上传失败...(image-27f7ce-1535297135203)]

实际上,Liquidity Network 的枢纽和交易所还是有很大区别的,枢纽中并没有一个中心化的机构掌握金钱。另外和去中心化交易所,也有点区别,他的支付行为是在链下发送的,而不是在链上进行的。

但是个人感觉 Liquidity Network 路由算法局限性很大。这个算法的前提在于,交易双方在一个枢纽中效率才是最高的。但是区块链本来就是个全球性的东西,将更多的交易双方尽可能集中在一个枢纽之中是很难实现的。因此该路由算法的局限性非常大。

Celer Network 是我个人非常看好的一个项目。任何 Layer2 的可扩展解决方案,都会牺牲了用户的可用性 ,并且是需要大量的流动性资金做支持的。而 Celer Network 提出的经济模型,很好的弥补了可用性和降低流动性资金的要求。另外路由算法,也是非常牛逼的。Celer 在这篇文章中就不具体展开了,后续有机会可以细谈。

Lightning Network Liquidity Network Celer Network
支持公链 BTC... ETH... ETH...
通道 支付通道 支付通道 通用状态通道
信任模型 时间换安全 HTL 未知 时间换安全 HTLR
用户掉线 不支持 未知 支持
链下 App 不支持 不支持 支持
链下支付 支持 支持 支持
路由 Flare: 最短路径 Revive: 分制+再平衡 cRouter: 拥堵梯度(高山流水)
资金利用率 低 5% 高 90%
吞吐量 慢 1X 快 20X
是否上线 已上线 已上线(不可用) 未上线
市值 未知 61M 150M
融资 未知 65% 30%
上一篇下一篇

猜你喜欢

热点阅读