Talk的主题
这个talk想要解决的有以下几个问题:
1 区块链的局限
2 什么是Layer2
3 State channel
4 Plasma
区块链的局限
像以太坊这样的区块链系统的缺点就是又贵又慢。
下面是和其他一些系统在tps这个参数上的对比:
image.png以太坊网络由数量众多的,单个节点组成。不过实际上,算力已经集中在少数的矿池手里了,所以实际上下图的描述并不准确,或许更少的,大一些的节点更加准确。
image.png网络中的节点通过POW机制来争夺记账权,来负责打包区块,实际上就是完成网络的计算,记录,存储等工作;区块的打包就是网络工作的过程,因为每个块只能由单个节点来完成,所以以太坊网络处理工作的效率取决于单个节点的效率。
image.png解决方案一
最直接解决问题的方法就是,让单个节点处理问题的效率提上来。这个方案看起来不错,但同时就意味节点的运营成本会成倍增加,因为要更快的处理数据。
也就意味着,可能有很多节点无法承担增加的成本,而选择离开网络,网络会变得更加中心化,没有那么安全。
image.png image.png解决方案二
有两个更好的方向,也是有团队正在努力的方向:
1 Sharding
为什么不可以把工作分成不同的部分,然后分给不同的节点来完成呢?
image.png如果可以的话,两组节点并行处理工作,我们就可以double我们的吞吐量了
image.png这就是Sharding 这个方案的背后的实施逻辑。Sharding 也是ETH2.0方案的核心组成部分。
毛豆爸:但是这个方案要在正在运行工作的ETH上动手术,并不是那么容易。Nervos的Daniel 有个经典的比喻,拿来分享给大家:
这种试图在全球第二市值的系统上实现底层协议的大幅更替,从技术和社区方面都面临巨大的挑战,这不是在飞机的飞行当中更换引擎,而是在飞行的火箭上更换喷射器,必须小心翼翼,否则火箭会爆。
那么有没有更加可行,更能够彻底的提升网络效率的方案呢?
2 Layer2
我们知道,Layer1 ,也就是共识机制运行的区块链网络,自动按照预先写好的代码规则运行,这一点是毋庸置疑的。
我们可以把Layer1当做底层基础设施,为上层的应用和技术提供支持。
如果我们足够聪明,上层的技术和应用可以达到和Layer1及其接近的安全等级。
那么我们的网络结构就会变成下面的模样:
image.png我们大概了解了Layer2的样子,那么Layer2有哪些特征呢?
1 在Layer2 上搭载的app绝大多数的运行计算都发生在链下,无需Layer1的参与
2 通过和Layer1锚定,将Layer1的安全性传递给Layer2
3 尽量维持和Layer1接近的安全等级
上面的特点都不会改变Layer1本身,仅仅在有需要的时候,通过智能合约和软件向Layer1寻求交互和支持。
image.png说完Layer2的特征,那么我们来看看下面的两个例子,它们是不是我们所说的Layer2 呢?
第一个例子: Live off-chain demo 现实生活中的链下交易
我们把ETH存入自己的账户,然后把私钥写在纸上;接下来,我们可以根据自己的意愿,相互交换写着私钥的纸片,实际上也就交换了私钥的所有权,从而完成了资产的交易;
image.png第二个例子: 侧链
我们将资产转移到侧链中,因为侧链中的共识机制更为简单高效的共识机制,资产在测量中的交易效率是很高的;交易完成以后,再降资产转移到主链中来
image.png image.png image.png好了,还记得Layer2的特征吗? 显然这两个例子只满足了第一条,虽然工作都在链下完成。但是:
第一个例子,交易要安全的进行,人们必须互相信任,或者遵守法律,总之这个规则和Layer1完全没有关系
第二个例子,Layer2上的共识本身必须是可靠的,没有与Layer1的安全性没有锚定
image.png锚定
当我们说Layer2锚定(anchor)到Layer1时,太抽象了,我们来举个例子。
人们在日常的社会生活当中,其实不自觉都遵从法律的规定,比如不要侵犯人身安全,也不要偷盗他人的财产,因为习惯了,根本不需要法院来监督就会遵守,也很少和法院扯上关系。
但是人们知道,人身或者财产被损害或者可能被损害的时候,是可以去法院申诉,法院会为自己争取权利或赔偿。当然法院处理诉讼的周期一般来说都比较长,而且费用很高。
类比我们讨论的区块链系统的场景,以太坊就好像法院,又贵又慢;Layer2上的应用按照类似法律的既定规则运行,很少和以太坊交互。可是一旦Layer2上出现了争议,以太坊可以介入处理申诉。通过这种方式,以太坊可以保证Layer2环境的安全。
image.png因为时间原因,今天就写到这里,有时间了会继续更新。
网友评论