《关于防范以“虚拟货币”“区块链”名义进行非法集资的风险提示》

有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)

网络转载 48923 2021-04-08 08:18

以太坊


本文的上篇《有了ChainLink,以太坊layer 2能为Filecoin引流吗?(上)》分析了提高以太坊可扩展性的关键点——交易记录中的数据项,而单笔合约创建交易代码体积超过所在区块整体体积一半大小,极大地影响了网络可扩展性。通过把IPFS作为以太坊的存储Layer 2,托管合约代码,只保留代码哈希(-99.9%),降低区块大小。将更多交易打包进区块,增加可扩展性。那么究竟该如何实现呢? Filecoin+ChainLink IPFS网络节点或Filecoin的检索矿工可以作为ChainLink节点提供高效、安全、稳定的外部数据服务,并获得相应奖励。通过将合约数据托管到一个去中心化的预言机网络连接的存储网络,在降低合约交易的数据量,提高以太坊可扩展性的同时,还能保证和以太坊相同的安全性。 

一、切入

一般的合约交易的目的都是调用(call)目标合约账户中合约代码的函数(Function),而我们这次讨论的切入点点一类特殊的交易——合约创建交易。(如果对细节不感兴趣的同学这部分可以先跳过)

在一个合约被调用前,首先应该通过发送一笔交易被创建出来。这类交易与普通交易存在两点不同:

  1. 接收人。创建合约交易的接收方地址为固定的零地址——0x0;
  2. 合约代码。交易的“数据”项中的代码并不是合约代码,而是需要经过EVM执行计算后的结果。


文章的上半部分给出了一笔以太坊交易的数据结构,下面我们来具体解刨一下合约创建交易中的数据项:

{“data”: DeployCode+ ContractCode + auxdata}

  • Deploy code只在合约的初始化和部署时被执行,具体来说它的作用分为两点:
  1. 运行构造函数(可以分为constructorCode和constructorData),并设置初始存储变量(如contract owner);
  2. 将ContractCode部分复制并放入内存 ,将其返回给EVM作为合约代码。
  • ContractCode就是合约被创建部署后会被调用的合约代码;
  • Auxdata是加密指纹的源代码,用于验证。


注:Deploy code虽然只使用一次便被搁置了,但是由于区块中交易树的根哈希形成了存储在块头的一部分,因此有必要将合约创建数据保留作为交易的一部分。 为了更加直观的展示,我们创建了一个空合约C:

以太坊

并将它部署在以太坊测试网:

以太坊

// Deploy code(只使用一次,用于初始化)60606040523415600e57600080fd5b5b603680601c6000396000f300// Contract code(被调用)60606040525b600080fd00 注意,在区块链的一笔交易记录中,代码就是数据。而在合约执行或被调用时,数据就是代码。 

二、合约代码体积

然而,一个正式部署在以太坊主网的合约是这个样子的……

以太坊

来源链接:https://etherscan.io/tx/0x0c8bf04e67d62923f8c8ecc1409b68d42adfd6e2cf102f7d7c9141a1472e408e 这笔合约创建交易的代码部分共计28,224字节,而包含这笔交易的区块大小36,405字节,占比77.5%。

很显然,一笔合约创建交易占用了过多的区块空间,使得单个区块包含的交易数下降,很大程度上影响了以太坊的可扩展性! 

三、IPFS来了

由此,我们想到可以把交易数据项中的代码存储在IPFS网络中,在数据项中只保留代码的哈希值。

如此一来,在上面的例子中代码被代码哈希取代,由36,405字节缩减为32字节,体积仅为原来的0.088%。可以为原来区块让出更多交易空间。

以太坊注:只要代码大于32字节,就可以把它替换成它哈希

 然而,由于IPFS网络节点目前并不稳定,并且以太坊源码中并不包含托管合约的代码。因此,为了实现合约代码在链下高效、安全、稳定的托管。

四、Chainlink来了

IPFS网络节点或Filecoin的检索矿工可以作为ChainLink节点提供外部数据服务,并获得相应奖励。通过将合约数据托管到一个去中心化的预言机网络连接的存储网络,在降低合约交易的数据量、提高以太坊可扩展性的同时,还能保证和以太坊相同的安全性。

Chainlink工作流 结合Chainlink工作流,代码的托管流程流程如下:

以太坊


  1. 合约的创建者将代码托管在IPFS网络中,并在User-SC合约中发布托管需求;
  2. Chainlink网络节点中的预言机拍下托管需求,并作为IPFS或Filecoin节点存储代码或代码碎片;
  3. 所有Chainlink节点互相验证代码是否被保存在,如果验证通过则返回Yes代表代码被成功托管。否则失败节点罚没保证金;
  4. 发放代码托管奖励给Chainlink节点,保持代码托管的稳定和高效;
  5. 将代码哈希值放入交易的数据项,并提交至区块等待被矿工打包。

 矿工打包时,只打包哈希值。由于存档节点仍然保存全部完整交易、状态和收据,随时可以验证。虽然在IPFS网络检索的时间会降低单个交易被打包进区块链的时间会增加,但是由于区块体积的下降,单个区块可以打包更多的交易,降低网络的拥挤。代码托管扩展了更大的存储和检索网络,结合哈希寻址的特性,帮助节点更快同步数据。 

相应地,代码调用流程:

根据合约账户中代码的哈希在IPFS或Filecoin网络中检索相应代码。其中,deploy code不用下载,只用验证哈希。Contract code需要被下载至EVM,计算后返回状态。 

以太坊


综上,面对每月百万级的合约创建量,和占据区块大小过半的合约代码。通过将以太坊区块中体积较大的合约代码托管至链下,链上交易数据可以只保留代码哈希的方法给交易瘦身(99.9%)。托管工作由IPFS/Filecoin和Chainlink共同负责的,前者负责代码的存储和检索,后者(去中心化预言机)负责前者和以太坊区块链的交互,以及对存储网络节点发放奖励保持代码托管的高效和稳定。最终,达到增加单块的交易数,提高以太坊的可扩展性的目的。 

引用:

https://github.com/ethereumbook/ethereumbook/blob/develop/06transactions.asciidoc

https://fullstacks.org/materials/ethereumbook/14_evm.html

https://ethereum.org/en/developers/docs/blocks/

https://ethereum.org/en/developers/docs/nodes-and-clients/

https://medium.com/@hayeah/ping-into-the-ethereum-vm-part-5-the-smart-contract-creation-process-cb7b6133b855

https://medium.com/paradigm-fund/chainlink-detailed-review-on-the-project-9dbd5e050974

/End.

以太坊声明:本文系IPFS原力区原创稿件,版权属IPFS原力区所有,未经授权不得转载,违者将依法追究责任。

提示:投资有风险,入市须谨慎。本文不作为投资理财的建议。

以太坊

声明

1. 本文经授权发布,如若转载,请标注文章来源和作者;

2. 伊甸网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述;

3. 文章内容仅供参考,不构成投资建议,投资者据此操作,风险自担。

相关文章
潘超:另类央行的演进之路
信任是运行一套健全货币系统的基石。
分析:15.5亿美元比特币期权将于周五到期,后市更为看跌
15.5亿美元的比特币期权将于4月23日到期,最近比特币暴跌至5.1万美元,使空头有3.4亿美元的优势。
BTC空头比特币 04-22 10:08
对话币安投资副总裁Ling:拆解币安的投资方法论
NFT下一个真正的爆发点一定是具有财富效应和流量输入结合的结果,比如那些把NFT作为基础形态去和DAO、DeFi结合的产品, 给非标资产进一步提供载体和交易场景。
币安以太坊NFT 04-22 09:28
关注 UNI V3?那么 Visor 值得你了解
Visor保管库是NFT个人保管库,您可以在其中存储资产,以便与智能合约和外部DeFi协议安全地进行交互。
UNISWAPDEFINFT 04-22 08:56
NFT热潮真的是泡沫吗?看20余位业内外专家如何评说
NFT的火爆极大地丰富了加密市场商品种类,根据长尾理论,这给整个加密市场带来一个巨肥巨长的尾巴。
DeFiNFT资产上链 04-22 08:26
去中心化交易所Uniswap周交易量再创纪录,达到100亿美元
去中心化交易所Uniswap一直是一年来DeFi爆发的中心。
交易量UNISWAPDEFI 04-22 08:17
速览 BTC、BCH、BSV 三者的分歧处以及各自优劣势
2017 年从 BTC 中分叉出 BCH,2018 年 BCH 分裂为比特大陆系 BCHABC(前者后来拿回 BCH 称号)与 Nchain 系 BCHSV(后来命名为 BSV
Dapper Labs 75亿美元的估值是“玩”出来的?
伊朗男孩和他的75亿美元NFT帝国。
打破科技巨头的垄断,开启一场去中心化互联网的革命
去中心化网络的优势在互联网的未来中逐渐显现。
三分钟读懂 NuCypher 与 Keep Network 合作推出的 tBTC v2
tBTC 即将回归,能撼动 WBTC 的垄断地位吗?
7x24H 快讯