简析波卡平行链与以太坊 2.0 架构设计异同_ETH2:eth2.0币价会涨吗

昨晚,波卡生态链项目Moonbeam和Ownbit进行了技术交流,期望未来Ownbit对波卡生态链进行更好地支持。Moonbeam也将竞争成为第一批波卡平行链。借着交流的机会,我对波卡平行链也有了更深的理解,遂成此文。

ETH2.0和波卡平行链是未来的两个重要技术,他们虽分属于两个不同的重量级项目,但在设计上却有惊人的相似。

波卡平行链

在波卡的设计里,有两个重要的概念,一个是波卡平行链,另一个是波卡平行线程。理解这两个概念是理解整个波卡生态的重要环节。

波卡平行链,故名思议,是与波卡主链平行的其他链。要成为平行链,需要占用波卡系统的一个插槽。波卡系统的插槽数量是有限的。波卡设计出了一套插槽拍卖的系统,通过出价拍卖获得一个插槽有限的使用权。

因此每次插槽的占有都是有限时间内,到期后要重新进行插槽竞拍。用于竞拍的DOT将在插槽使用到期后归还,因此使用插槽,只是占用金额,而不花费资金。

Beosin:SheepFarm项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的SheepFarm项目遭受漏洞攻击,Beosin分析发现由于SheepFarm合约的register函数可以多次调用,导致攻击者0x2131c67ed7b6aa01b7aa308c71991ef5baedd049多次利用register函数增大自身的gems,再利用upgradeVillage函数在消耗gems的同时累加yield属性,最后调用sellVillage方法把yield转换为money后再提款。本次攻击导致项目损失了约262个BNB,约7.2万美元。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/16 13:10:39]

为什么要成为波卡平行链?

Beosin:BSC链上的gala.games项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BSC链上的gala.games项目遭受攻击,Beosin分析发现由于pNetwork项目的bridge配置错误导致pTokens(GALA) 代币增发,累计增发55,628,400,000枚pTokens(GALA),攻击者已经把部分pTokens(GALA) 兑换成12,976个BNB,攻击者(0x6891A233Bca9E72A078bCB71ba02aD482A44e8C1)累计获利约434万美元。Beosin Trace追踪发现被盗金额还存在攻击者地址中。

第一笔攻击交易:0x4b239b0a92b8375ca293e0fde9386cbe6bbeb2f04bc23e7c80147308b9515c2e

第二笔攻击交易:0x439aa6f526184291a0d3bd3d52fccd459ec3ea0a8c1d5bf001888ef670fe616d[2022/11/4 12:17:00]

成为波卡平行链主要获得两个好处:链本身更加安全,以及拥有和其他平行链的互操作性。

安全团队:LPC项目遭受闪电贷攻击简析,攻击者共获利约45,715美元:7月25日,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,LPC项目遭受闪电贷攻击。成都链安安全团队简析如下:攻击者先利用闪电贷从Pancake借入1,353,900个LPC,随后攻击者调用LPC合约中的transfer函数向自己转账,由于 _transfer函数中未更新账本余额,而是直接在原接收者余额recipientBalance值上进行修改,导致攻击者余额增加。随后攻击者归还闪电贷并将获得的LPC兑换为BUSD,最后兑换为BNB获利离场。本次攻击项目方损失845,631,823个 LPC,攻击者共获利178 BNB,价值约45,715美元,目前获利资金仍然存放于攻击者地址上(0xd9936EA91a461aA4B727a7e3661bcD6cD257481c),成都链安“链必追”平台将对此地址进行监控和追踪。[2022/7/25 2:36:51]

为了更好理解链更加安全这个概念,我们可以把波卡系统想象成可以容纳多条平行链的容器。每个平行链会有自己的共识机制,以及产生区块的方式。容器定时将所有平行链产生的区块收集起来,形成容器层面的区块。该容器在波卡中被称为:中继链。被中继链打包对于平行链而言,称为区块的finalize。

Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。

2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。

3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。

4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。

此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]

波卡中继链对平行连区块的最终确认让平行链更加安全。这样每个平行链可以得益于波卡系统的强大共识,而不用担心本链可能存在各种共识层面的攻击或问题。

波卡平行链和其他平行链的互操作性是另一个优点。波卡在系统层面设计了一套消息传递系统,可以让各平行链之间相互传递消息、执行指令、转移token等等。各平行链根据XCMP定义自己可以接收处理的消息类型,便可以让自己拥有和其他平行链的互操作性。

如果把平行链比喻成操作系统里的进程,那么XCMP可以理解为进程间通信机制IPC(InterProcessCommunication)。

平行链资源是有限的

因为平行链资源有限,大部分链可能无法竞拍到平行链插槽。这时,波卡官方给出的方案是,使用测试网络KUSAMA,或者平行线程。

平行线程和平行链之间的区别仅在于一点:平行链永久占用中继链资源,而平行线程只在需要时占用。平行线程需要中继链对其区块进行确认时,便提出请求,并给予一定的费用。因为同时会有多个平行线程提出确认需求,中继链会按照给予的费用高低进行优先选择。如下图所示:

比起平行链而言,使用平行线程,无需参与插槽竞拍,因此无需大额的启动资金。对于一些不需要频繁确认的应用,使用平行线程更加适合。

ETH2.0

ETH2.0的线路图按照分片技术在前进。分片技术最早出现在数据库技术中。为了让数据库拥有更大的执行查询或插入的能力,将一个数据库拆分成多个数据库,并且部署到多个机器上,让执行能力成倍地提升。

ETH2.0将以太坊网络拆分成多片,将以太坊的执行能力提升相应的倍数。每个分片就是一个子网络。处理ETH2.0共识,以及系统各个子分片之间通信的模块被成为:BeaconChain,这相当于波卡网络里的中继链。ETH2.0分片示意图如下:

可以看出,在大的架构方面,ETH2.0和波卡有着惊人的相似。但在细节和理念层面又有很多的不同。

波卡平行链VSETH2.0

从设计目的而言,波卡平行链主要是为了跨链目的,通过平行链水平扩张,进而解决性能吞吐问题。而ETH2.0的设计完全是为了解决性能吞吐问题。

波卡和ETH2.0都有状态确认的功能。ETH2.0每一个时代finalize一次,一个时代定义为64个区块,所以6-12分钟finalize一次。而波卡网络的finalize时间则更短,一般1分钟以内。

从共识机制而言,ETH2.0和波卡也有明显的区别。ETH2.0采用PoS机制。质押32ETH可以成为验证者。每个分片至少需要256个验证者才能进行finalize操作。以64个分片计算,ETH2.0需验证者16,384名。而波卡采用提名者PoS机制,所需验证者数量远小于ETH2.0,大约每个平行链需10个验证者,以整个系统100个平行链计算,共需1000个验证者。

另外一个不同点在于,波卡是不同系统间互联的框架。而ETH2.0是同一套系统间互联的框架。

波卡更关注其他链,而ETH2.0只是更关注本身,这也反应出它们对未来不同的展望。波卡打造的是多链并存、互联互通的场景。而ETH2.0则打造的强大统一的底层区块链系统,上层繁荣的DApp则通过应用接口彼此互通的场景。

跨链

波卡对于平行链之间,天然具有跨链优势。而ETH2.0不具有跨链能力。但这并不意味这波卡比在跨链方面ETH2.0强大很多。

例如对于跨链比特币网络而言,波卡需要使用比特币桥才能完成跨链。而这点,跟以太坊跨链比特币方案是一致的。因此,对于跨链而言,波卡只是对于未来部署在波卡网络上的平行链之间才具有优势。

结语

目前波卡生态的平行链项目正如火如荼地进行。它们是否会在未来占有非常重要的地位,将是区块链最大的看点之一。

从时间而言,波卡主网的上线时间较迟,错过了以太坊发展的这几年黄金时间。然而,ETH2.0上线又将是2年以后的事情,而波卡平行链项目有望在今年年底或明年初上线波卡主网。这也给波卡留下了更多追赶以太坊的时间。所以未来波卡网络能否像以太坊那样大放异彩,非常值得我们关注!

原文标题:《波卡平行链与ETH2.0》撰文:谈国鹏,Ownbit创始人

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-3:683ms