2021-11-11 16:09 | 出处: doter
最近最大的热点就是LRC了,这个路印之前在技术上频频被V神点赞,价格上更是以半个月底部上来10倍的涨幅震惊币圈。熟悉鸭哥的人都知道,我是路印的钛合金粉丝,也是国内第一个建立路印社区的KOL,17年高点18元没有卖出,坚守至今,终于迎来了高光时刻。静下心来,从路印暴涨的表象去深入研究基本面,这个从前被戏称为“阿斗印”的懵懂少年早已化身为黑暗骑士,正在对DEFI领域的城堡展开史诗般的冲击。
写这篇文章就是从0开始,带你全面了解路印的技术原理,这样持有LRC看着它暴涨的时候,能安静的点一杯咖啡,对周边羡慕你的人说一句,“价值回归而已啦”。
一、“不可能三角”
区块链自问世以来就被形容成一项无所不能的科技,被看好能影响各行各业,甚至重塑生产关系。然而区块链自身,却存在称为“不可能三角”的技术瓶颈,至今仍远远无法施展它的潜能。所谓的区块链“不可能三角”,也称为“三元悖论”,就是指区块链网络无论采用哪种共识机制来决定新区块的生成方式,皆无法同时兼顾吞吐量、安全性、去中心化这三项要求。
比如就比特币来说,虽然理论上可以在大量算力的基础上,对安全性和去中心化有较高保障。但缺点就是难以提升吞吐量,速度慢、成本高。而据称以提高吞吐量为重要技术突破的EOS则采用DPOS的共识机制,大大减少了节点数量,被批判牺牲了去中心化的本质。“万链之王”以太坊虽然有分片技术作为扩容的解决方案,但也由于技术难度太大而迟迟落不了地。
讲到路印之前,先看看区块链一个很难解决的问题。区块链自身,存在称为“不可能三角”的技术瓶颈,至今仍远远无法施展它的潜能。所谓的区块链“不可能三角”,也称为“三元悖论”,就是指区块链网络无论采用哪种共识机制来决定新区块的生成方式,皆无法同时兼顾吞吐量、安全性、去中心化这三项要求。
比如就比特币来说,虽然理论上可以在大量算力的基础上,对安全性和去中心化有较高保障。但缺点就是难以提升吞吐量,速度慢、成本高。而据称以提高吞吐量为重要技术突破的EOS则采用DPOS的共识机制,大大减少了节点数量,被批判牺牲了去中心化的本质。“万链之王”以太坊虽然有分片技术作为第一层扩容的解决方案,但也由于技术难度太大而迟迟落不了地。
路印使用“零知识证明”技术,在不牺牲去中心化的前提下极大的提高了以太坊吞吐量,可以说间接解决了困扰区块链行业多年的“不可能三角”难题。
更通俗的话来说,在以太坊上转账使用路印钱包可以做到秒到账,几乎零成本的手续费。听起来很不可思议对不对,那么我们继续探讨。
二、零知识证明
我们介绍下零知识证明的概念。零知识证明, 顾名思义,就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄露任何信息。
案例一:A要向B证明自己拥有某个房间的钥匙,假设该房间只能用钥匙打开锁,而其他任何方法都打不开。这时有2个方法:
①A把钥匙出示给B,B用这把钥匙打开该房间的锁,从而证明A拥有该房间的正确的钥匙。
②B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。
后面的②方法属于零知识证明。它的好处在于,在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。
案例二:这里有一个环形的长廊,出口和入口是同一个,但走廊中间某处有一道只能用钥匙打开的门,A要向B证明自己拥有该门的钥匙。采用零知识证明,则B看着A从入口进入走廊,然后又从出口走出走廊,这时B没有得到任何关于这个钥匙的信息,但是完全可以证明A拥有钥匙。
大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。那么路印又是如何利用零知识证明对以太坊进行扩容的呢?
三、Layer2扩容
如果直接通过修改区块链架构本身来提高吞吐量,是很难解决“不可能三角”问题的,毕竟节点越多,保证去中心化的前提下再提高TPS技术上非常难实现,但是路印想到了“曲线救国”方案,即不改变区块链的自身,通过设置第二层的架构来提高TPS。
这里还是通过生活中的案例进行说明:
如果把以太坊看成现实生活中的银行,在以太坊上进行转账操作,就好像在银行的柜台中办理转账业务,只不过区别是银行是中心化的,区块链是去中心化的。
在人不多的情况下,用户在银行办理转账业务很容易,可是人一旦多了起来,就容易排起长长的队伍,让排在后面的用户产生漫长的等待。区块链就像银行,转账排队的人一多就会产生阻塞。因此提高区块链的吞吐量类比起来就是如何提高银行办理转账业务的速度。
可是银行就那么大,银行的工作人员就这么些人(可以把银行工作人员类比成区块链的节点),想要让银行去提高办理转账业务的速度实在太难了。这让排在队伍后面的人怨气很大,但是又无可奈何。
终于,排在后面的人群中有个人等得实在忍受不了了,站出来说:“我们不能这么干等着,必须要自己想办法去提高效率。”众人反问,你又不是开银行的,有什么办法呢。于是,那个人自信的说,“大家看我的操作吧,都配合我就行”。
只见那人掏出一个记账的本本,从排队的第5个人开始,详细记录每个人转账后账户的余额,然后让每个人按手印确认这笔记账是得到授权的,那么到最后一个人记录完后,得到一个记录所有人账户最终余额的账本,这个账本虽然没有具体的转账记录,但是精准的记录了每个人转账后的余额。有的人虽然进行了多次互转,但是无论转账多少次,人们只会关心自己最终账户的余额。
那个人统计完之后,刚好,排队的第4个人在银行办理完转账。紧接着他拿着这个账本大摇大摆的走进了银行,说这是第5个人开始所有人的转账之后的账户余额,银行你只需要在系统中更改这些人账户的余额就行了。
银行一看,这还不简单,工作人员刷的一下,一下子把这些账户余额全部一次性改好,这样一来银行的办理转账的业务就提高了几百倍。
路印就是这么实现的,通过设置第二层,这个第二层叫做relay,让relay收集排队用户的账户转账信息并验证用户的签名,进行计算后,把最终的地址的代币余额等信息汇集成默克尔树提交到以太坊链上,然后一次性进行处理。
我们把这种提高以太坊吞吐量的方法叫做“Layer2扩容”。
本身这种方案乍一看很完美,可是实际操作上却有各种问题。比如:
1、银行如何相信这个拿着最终账本的人,确实是统计了所有排队人的转账请求呢?
2、如果这个人因为个人恩怨,故意对看不顺眼的人漏掉统计,怎么办?
3、如果这个人在送到银行的途中,偷偷的修改账户余额,怎么办?
这时候,零知识证明,就派上大用场了。
四、零知识证明在Layer2扩容的应用
要解决上面的问题,实际上就是解决信任的问题。银行不傻,让银行自己派出工作人员不就行了,银行派出的每个工作人员在出发之前,会颁发“工作证”以及一个带锁的打开的箱子。在给排队的人统计转账的时候,账本是安全的,因为人们都会监督他,统计到最后一个人的时候,工作人员会把账本装入带锁的箱子关闭。这样运送总账本去银行的途中,工作人员无法作恶,修改账本数据。到银行后银行只认“工作证”,确认是自己工作人员,不需要打开这个带锁的箱子就可以判定这个人确实是可信任的。
可以看到,在整个流程之中,银行得到的账本信息是零,但是却相信了这个人统计的转账数据是安全可靠的,这个就是零知识证明。
路印技术原理正是如此,以太坊在智能合约上会使用零知识电路生成叫PROOF的证书,relay在计算用户的转账数据的时候,会加上PROOF,并且把这个带总账本数据的默克尔树打包提交,智能合约接收到默克尔树数据后会验证PROOF的合法性,然后执行修改地址代币余额的计算最后在以太坊上广播到全节点。
但是还是有个问题没解决,就是工作人员如果故意漏掉看不顺眼的人的记账怎么办呢?或者说工作人员对用户索要小费,不给小费就不给记账,怎么办呢?
其实也好办,漏掉记账或者被索要小费的人肯定会生气的向银行进行投诉,银行核实后,只需要扣除工作人员的账户余额即可。
这里relay也会布置智能合约,如果relay不处理用户转账请求或者故意增加转账手续费,那么用户可以主动在智能合约上申请“提币”,把自己的币安全的提到以太坊上。
通过这个案例大家应该明白了,使用“零知识证明”技术的路印在安全性上是非常高的,可以说达到了以太坊主链的安全级别,不得不佩服。这样的路印,我把它比作币圈的支付宝,如果路印钱包达到了支付宝这样的市场占有率,以太坊不就真正实现扩容了吗?
我最近成立了链游GameFi社群,想加入我的交流群的,可以把这篇文章转发3个币圈群然后加我微信:cui1kcan2,发截图拉群。