链易区块链声明:积极响应国家监管要求利用区块链名义进行不法活动,本平台一律不予刊发,建议广大投资者保持理性,谨防上当受骗。

在不可能三角的限制设计一个高并发和快速确认的闪电网络

原创 技术 作者: 来源: 时间:2018-12-07 16:50:19

如何在不可能三角的限制下设计一个高并发和快速确认的闪电网络  不可能三角 : 一个分布式记账系统,不可能同时满足 可扩展性,安全性,和去中心化。


如何在不可能三角的限制下设计一个高并发和快速确认的闪电网络


  可扩展性 :指性能,或者并发能力


  安全性 :指账本一致


  去中心化 :这个最有迷惑性,因为人们会把去中心化当作目的。但是去中心的目的是提高生存能力,去中心化越彻底,生存能力越强。


  比特币如何选择


  以比特币为例,比特币选择了安全性和去中心化,因此牺牲了性能。但是从其诞生的时代和目的看,这种选择是合理的。比特币白皮书发布10年后,可以做一个乐观的预测,只要还有电脑和网络,比特币就不会被消灭。举个例子,你现在拿出一台有1T硬盘的电脑,有网络,就可以下载比特币的客户端和全部账本。就可以创建钱包,接受和发送比特币,还可以参与挖矿,无需任何人批准,不需要再花一笔钱。如果全世界矿池和专业矿工都放弃挖矿,你的笔记本电脑还能继续挖矿。


  不仅仅是比特币,包括以太坊,Zcash,Monero,Dash等基于 POW 算法的公链彻底死亡的概率都很小,甚至包括 DogeCoin。


  趋势


  会有更多的基于 POW 的区块链出现,会有基于 POW 的区块链项目逐渐消亡。成功的区块链项目会尝试提供快速确认机制,比如比特币闪电网络和 Liquid,还有以太坊的分片技术。也会有新的分布式账本系统提供快速确认的方案。


  什么样的闪电网络是相对安全的


  我们认为在闪电网络方向上的创新是有些是安全的,有些是危险的。


  安全的创新


  我们知道交易所本身经营好坏并不影响在交易所挂牌的企业。因为交易所只是一个高速交易平台,本身只提供记账,并因此获得收入。即使交易所逐渐没落,人们可以选择把股票寄存在其他交易所。企业也可以选择在别的地方挂牌。


  目前已经生存下来的比特币,以太坊等资产可以定义为某种资产,只提供资产交易机会的交易所,闪电网络是安全的,因为即使交易所或者闪电网络逐渐没落,人们的资产本身不受影响,依然可以提到其他地方。


  危险的创新


  有些闪电网络试图创建一种新资产,以某种价格与外界数字货币资产进行交换,我们认为这种方法是危险的,因为这种资产就是一种承兑债券。一旦企业陷入经营困境(从概率上看所有企业都会遇到这个问题),所有已经把资产投入该闪电网络的人就成了债主,而此时企业往往已经陷入困境,无法承兑了。


  即使该企业在没有经营困难的情况下想停止经营也是非常困难的,因为他发出去的债券已经在流通中,已经在别人钱包里面。企业始终欠着钱。


如何设计一个高并发和快速确认的闪电网络


  Mixin的选择


  Mixin 非常清楚任何产品都有生命周期,从尊重用户选择,保护用户资产的角度出发,以实现1秒确认,超大吞吐量为设计目标,舍弃终极的去中心化,追求可扩展性和安全性是非常合理的。


  基于这个前提,Mixin 节点的物理基础只能是高速,高性能服务器。这是一个重要假设,后面会提到。


  具体的思路:


  1,放弃账户思路,使用 utxo实现账户,意味着对账户余额或者其他属性有一个共识,该属性可变,导致账户就是一个状态机。就必然要求对账户的操作有一定的顺序,否则不同的节点上产生的结果会不一样。举个例子,一个商户,通过向 1000 个客户售卖虚拟商品,获得了 1000 个以太坊,假设该商户现在需要给另外 1000 个客户每人付款 1 个以太坊,商户的账户可以生成 1000 交易请求,然后将交易请求发送给 50 个全节点以加快速度,即使所有这些交易都是正确的,但是在账户模型体系下他们是不能同时被确认的,他们必然要按着顺序一个一个或者一批一批的确认。


  基于 utxo,这个账户已经拥有 1000 个有效的 utxo,他可以生成 1000 个有效的交易,而且这些交易请求直接发送给50个节点,所有交易都能立刻被确认,因为utxo 不需要账户。uxto 数据的特点是没有状态,甚至不能认为是数据库,因为只有添加操作,没有删除和修改操作。不存在状态共享,因此可以完全异步并发处理。


    2,使用 DAG,而不是 block 存储账本。


  DAG 本身是非常成熟的存储技术方案。Byteball,IOTA,NANO 都在使用。通过 DAG 实现了非线性存储,存储块不再按着单一顺序排列,而是可以随时插入。基于utxo 交易模型本身已经解除了交易顺序的依赖,再结合dag再可以实现无顺序依赖的存储单元。


  同时由于 DAG 结构里面后面的交易都要引用之前的交易,这使的篡改旧的交易记录变的极度困难。因为这需要我能够得到所有引用我交易的人的统一配合。


  3,用 BFT 确认交易,而不是依赖指定见证人,或者引用数。


  在使用 DAG 作为账本需要解决的问题是如何识别双花和影子链攻击。


  Byteball 的方案是引入可信见证人机制,两笔交易都被断定合理的情况下,拥有可信见证人多的那笔交易被认定为合理交易。IOTA 是通过算法来选定见证人。NANO 是通过 balance-weighted-voting DPOS 投票来处理双花。hashgraph 是节点根据 BFT 算法投票认定存储记录上的交易是否有效。


  Mixin 防止双花和影子链的方法是只有经过BFT签名过的交易才会被记录到 DAG 上。


    4,基于 BFT 和 utxo 可以实现1秒确认交易


  客户把交易发给某一个节点,该节点验证过之后先签名,然后将交易在节点群内广播,其他节点收到广播进行检查,检查通过的交易使用自己的私钥签名,然后发还给源节点。


  源节点根 BFT 统计节点签名结果就可以验证该交易是否有效,有效的签名结果将发送给所有节点进行持久化同步。根据要求,所有节点在收到持久化同步块的时候,会验证该块内的交易是否具有足够的签名,如果发现有错误的签名,那么将被认为是攻击块。回顾这个流程,我们可以发现 Mixin 节点在验证交易时只验证 utxo 是否有效,不做其他检查,工作量是几乎固定的。耗费时间只和cpu性能,和硬盘读取速度大小有关。还记得我们的假设么?Mixin 就是要用高速高性能服务器。Mixin 测试网的测试结果表明:服务器验证单一交易有效的往返传输时间最大在 300 毫秒,最快在 40 毫秒。所以 50 个节点 1 秒确认交易是完全可以做到的。


  结论

  通过这4个措施,结合我们的目标和设计前提,可以实现只受物理性能限制的交易系统,提高网速,加大内存,提高CPU性能,提高硬盘读写速度都可以有效的提高整体性能。


  去中心化程度/生存能力对比:

  Mixin 网络的生存能力弱于比特币网络,无审批机制使得其生存能力高于DPOS机制的高速转账网络。

  作者:mixin

声明
一、本文系链易原创稿件,版权属链易版权所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:链易",违者将依法追究责任。
二、凡本网注明其他来源的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网对其负责。
三、以上内容仅为信息传播之需要,不作为投资参考,区块链项目有风险,投资需谨慎!
参与评论
评论
阅读下一篇

欲借数字货币量化交易穿越牛熊 这些投资风险需注意

变化之中,新生事物往往对于人们有更强的吸引力,而危险性也往往蕴藏其中。如果你是一个数字货币的投资者,你可能会对此有更直接并且更深刻

中华人民共和国工业和信息化部备案号:蜀ICP备06006101号川公网安备 51010402000345号增值电信业务经营许可证:川B2-20170058号
中国互联网举报中心违法和不良信息举报电话:010-12377举报邮箱:jubao_department@chainease.net
返回
顶部