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

有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)
本文的上篇《有了ChainLink,以太坊layer 2能为Filecoin引流吗?(上)》分析了提高以太坊可扩展性的关键点——交易记录中的数据项,而单笔合约创建交易代码体积超过所在区块整体体积一半大小,极大地影响了网络可扩展性。通过把IPFS作为以太坊的存储Layer 2,托管合约代码,只保留代码哈希(-99.9%),降低区块大小。将更多交易打包进区块,增加可扩展性。那么究竟该如何实现呢? Filecoin+ChainLink IPFS网络节点或Filecoin的检索矿工可以作为ChainLink节点提供高效、安全、稳定的外部数据服务,并获得相应奖励。通过将合约数据托管到一个去中心化的预言机网络连接的存储网络,在降低合约交易的数据量,提高以太坊可扩展性的同时,还能保证和以太坊相同的安全性。 一、切入一般的合约交易的目的都是调用(call)目标合约账户中合约代码的函数(Function),而我们这次讨论的切入点点一类特殊的交易——合约创建交易。(如果对细节不感兴趣的同学这部分可以先跳过)在一个合约被调用前,首先应该通过发送一笔交易被创建出来。这类交易与普通交易存在两点不同:
文章的上半部分给出了一笔以太坊交易的数据结构,下面我们来具体解刨一下合约创建交易中的数据项:{“data”: DeployCode+ ContractCode + auxdata}
注:Deploy code虽然只使用一次便被搁置了,但是由于区块中交易树的根哈希形成了存储在块头的一部分,因此有必要将合约创建数据保留作为交易的一部分。 为了更加直观的展示,我们创建了一个空合约C:有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)并将它部署在以太坊测试网:有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)// Deploy code(只使用一次,用于初始化)60606040523415600e57600080fd5b5b603680601c6000396000f300// Contract code(被调用)60606040525b600080fd00 注意,在区块链的一笔交易记录中,代码就是数据。而在合约执行或被调用时,数据就是代码。 二、合约代码体积然而,一个正式部署在以太坊主网的合约是这个样子的……有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)来源链接:https://etherscan.io/tx/0x0c8bf04e67d62923f8c8ecc1409b68d42adfd6e2cf102f7d7c9141a1472e408e 这笔合约创建交易的代码部分共计28,224字节,而包含这笔交易的区块大小36,405字节,占比77.5%。很显然,一笔合约创建交易占用了过多的区块空间,使得单个区块包含的交易数下降,很大程度上影响了以太坊的可扩展性! 三、IPFS来了由此,我们想到可以把交易数据项中的代码存储在IPFS网络中,在数据项中只保留代码的哈希值。如此一来,在上面的例子中代码被代码哈希取代,由36,405字节缩减为32字节,体积仅为原来的0.088%。可以为原来区块让出更多交易空间。有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)注:只要代码大于32字节,就可以把它替换成它哈希 然而,由于IPFS网络节点目前并不稳定,并且以太坊源码中并不包含托管合约的代码。因此,为了实现合约代码在链下高效、安全、稳定的托管。四、Chainlink来了IPFS网络节点或Filecoin的检索矿工可以作为ChainLink节点提供外部数据服务,并获得相应奖励。通过将合约数据托管到一个去中心化的预言机网络连接的存储网络,在降低合约交易的数据量、提高以太坊可扩展性的同时,还能保证和以太坊相同的安全性。Chainlink工作流 结合Chainlink工作流,代码的托管流程流程如下:有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)
 矿工打包时,只打包哈希值。由于存档节点仍然保存全部完整交易、状态和收据,随时可以验证。虽然在IPFS网络检索的时间会降低单个交易被打包进区块链的时间会增加,但是由于区块体积的下降,单个区块可以打包更多的交易,降低网络的拥挤。代码托管扩展了更大的存储和检索网络,结合哈希寻址的特性,帮助节点更快同步数据。 相应地,代码调用流程:根据合约账户中代码的哈希在IPFS或Filecoin网络中检索相应代码。其中,deploy code不用下载,只用验证哈希。Contract code需要被下载至EVM,计算后返回状态。 有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)
综上,面对每月百万级的合约创建量,和占据区块大小过半的合约代码。通过将以太坊区块中体积较大的合约代码托管至链下,链上交易数据可以只保留代码哈希的方法给交易瘦身(99.9%)。托管工作由IPFS/Filecoin和Chainlink共同负责的,前者负责代码的存储和检索,后者(去中心化预言机)负责前者和以太坊区块链的交互,以及对存储网络节点发放奖励保持代码托管的高效和稳定。最终,达到增加单块的交易数,提高以太坊的可扩展性的目的。 引用:https://github.com/ethereumbook/ethereumbook/blob/develop/06transactions.asciidochttps://fullstacks.org/materials/ethereumbook/14_evm.htmlhttps://ethereum.org/en/developers/docs/blocks/https://ethereum.org/en/developers/docs/nodes-and-clients/https://medium.com/@hayeah/diving-into-the-ethereum-vm-part-5-the-smart-contract-creation-process-cb7b6133b855https://medium.com/paradigm-fund/chainlink-detailed-review-on-the-project-9dbd5e050974/End.有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)声明:本文系IPFS原力区原创稿件,版权属IPFS原力区所有,未经授权不得转载,违者将依法追究责任。提示:投资有风险,入市须谨慎。本文不作为投资理财的建议。有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)

未经允许不得转载: » 有了ChainLink,以太坊layer 2能为Filecoin引流吗?(下)

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址