1. 链一财经首页
  2. 资讯

Code is Law!这就是传说中的\”链外扩容\”

题 记

自从本体技术视点栏目创立以来,我们感受到了本体技术社区开发者的热情,也陆续接到了一些技术爱好者和我们栏目互动的请求。

在今天的本体技术视点中,我们刊登由本体技术爱好者 RandX 发来的一篇技术投稿,谈谈他对区块链链外扩容的一些思考和认识。

我们欢迎本体技术爱好者和我们积极互动,并将对高质量的内容给予激励。

在一些区块链技术文章中看到链外扩容的思路,把比较复杂的业务逻辑放到链外去做,然后把业务验证和真正需要共识的操作放到链上,作为一个 dApp 设计与开发者,也想借本体技术视点谈一下自己对于区块链链外扩容的一些思考。

01 链外扩容的意义

区块链技术为用户提供了一个 trustless 的计算环境。对于 dApp 用户,通常使用区块链的方式如下图所示:

Code is Law!这就是传说中的\"链外扩容\"

用户将自己签名的交易直接发送到区块链网络中,密码学可以保证用户的签名不会被伪造。Trustless 的区块链环境将保证用户的请求被正确的智能合约(链上代码)处理。

但是,由于链上智能合约的运行一般是基于所消耗的计算量计费,如果采用智能合约实现复杂业务逻辑,那么用户在每次使用 dApp 时都将需要支付一笔不少的费用。这将增加用户使用此 dApp 的负担,且不利于 dApp 推广。因此,现实中大多数 dApp 开发者一般会在链外实现自己的复杂业务逻辑,而只在链上(使用智能合约)完成业务结果验证和 Token 结算相关的工作。当前大多数 dApp 工作方式如下图所示:

Code is Law!这就是传说中的\"链外扩容\"

而且为了进一步降低费用,同时也是方便 dApp 的迭代开发规避智能合约的安全风险,通常情况下 dApp 开发者希望所有业务逻辑都在链下完成,只在链上完成 Token 结算,只有在有必要时(需要解决链下争议时)才调用链上的业务结果验证逻辑,即我们当下所讨论的链外扩容方式。

02 构建链下 Trustless 计算环境

从上图我们可以看出,从用户角度看,trustless 计算环境包括了区块链和链外两部分。在此场景下,用户将自己的交易发送到链外计算,由 Off-Chain code 处理,当用户对于 Off-Chain code 的处理结果存在争议时,将把 Off-chain 状态发送到 On-Chain code 处理,On-Chain code 负责解决用户的争议。在这里,On-chain code 主要指 dApp 智能合约,Off-chain code 主要指链下代码中结果验证部分,而非指所有 dApp 业务逻辑。

在区块链上,Code is law。这个 Code 只限于是区块链平台上运行的 Code,主要包括区块链上智能合约,虚拟机和账本状态管理相关的代码。可以看到在我们当前的链外扩容的设计中,On-chain code is law,但  Off-chain code is NOT law。

因此,在实际设计中就要求 On-chain code 和 Off-chain code 需要保持实现逻辑的等价。对于 On-chain code,由于 On-chain code is law,可以采用标准智能合约的开发测试流程完成业务验证逻辑的开发。但是,对于 Off-chain code,由于不需要使用智能合约实现,其编码实现应该是更简单和方便的。但是,通常是事与愿违的。由于 On-chain code 已经定义好相关逻辑,就要求 Off-chain code 必须与 On-chain code 的逻辑完全一致,即 Off-chain code 必须保证下图中(1)和(4)的状态,而不可以存在(2)和(3)的状态,否则用户将可以利用这其中的不一致性进行欺诈性行为,而 On-chain code 也无法分辨此欺诈性行为。

Code is Law!这就是传说中的\"链外扩容\"

03 总结

通过以上思考,我们认为要在链下环境中维持 trustless 的计算环境,dApp 业务逻辑中的业务验证部分在链上和链下必须是保持一致。在现实开发工作中,如何保持这种理论上的一致性?对于此问题,社区中通常采用的一个很好的设计方法,就是 CounterFactual Instantiation。CounterFactual,用简单的一句话就是,链下行为可以由用户方便地推送至链上,即可以认为 On-chain code 和 Off-chain code 等价。在保证了链上链下的一致性后,dApp 进一步通过协议机制的设计使绝大多数用户都倾向于通过 Off-chain code 处理自己的请求,从而实现链外扩容。

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论