ArcBlock 创始人:论ETH支持smart contract 嵌套组合有没有意义

Connor 火币app下载 2022-10-25 118 0

ArcBlock 创始人:论ETH支持smart contract 嵌套组合有没有意义

免责声明:本文旨在传递更多市场信息,不构成任何投资建议ETH。文章仅代表作者观点,不代表MarsBit官方立场。

小编:记得关注哦

来源:Twitter

原文标题:ArcBlock 创始人:论ETH支持smart contract 嵌套组合有没有意义

Robert Mao:

jolestar你好,读了你的几篇文章引发一些思考想请教和讨论一下ETH。主要是这篇“从智能合约的演进看 Move 的架构设计”,与这篇“为什么是 Move 之编程语言的生态构建”:

我很赞同智能合约的可组合性是一个重要的特点,Ethereum的 DeFi繁荣很大程度来自其智能合约可组合带来的特性ETH。 但是,我对Eth的这种设计合理性产生了一些怀疑(可能会被ETH支持者口水淹死)

我想思考一个问题ETH,究竟eth那样的支持smart contract 嵌套组合有没有意义? 那是一个bug 还是一个feature?

Eth这种嵌套导致可以实现“闪电贷”这类DeFi,然而闪电贷也许在现实世界应该视为一种金融的bug,而不应该作为featureETH。在有监管的世界,我甚至怀疑这样行为是否合法。

jolestar

中国房市,贷款买房,又是通过房本抵押贷款,不就是闪电贷么ETH。看问题要看本质。

又国家强力控制你在一个transaction里先贷款,再拿到房本,再回过头来用房本抵押ETH

Robert Mao

ETH这种的嵌套组合方式还导致了一些常见的不安全合约pattern,例如通过一个合约调用另一个抽奖合约,来破解其利用区块hash产生的随机数(本来这是个很好的链上确定性随机数产生方法)ETH。 这导致eth 在需要随机的时候,必须靠第三方预言机才可能安全,这导致整个系统架构的不必要负责性以及更为缓慢。

jolestar

同一个交易里的多个合约用的是同一个种子,所以有这个问题ETH。维护一个全局的自增序列,每次调用 + 1, 这样一定程度能避免这个问题。但这种方式也只能用在小应用的场景,毕竟矿工是知道结果的。

Robert Mao

其他一些用法是把某些合约的部分作为共享lib,用来减少gas fee,减少重复部署,但这可以认为是eth的一个设计缺陷才导致的,因为ETH不能支持代码模块,gas机制,以及需要大量重复部署合约,这是一种work aroundETH。 Partity钱包事件说明了这个问题的严重后果。

还有一个用处是实现upgradable 合约, 但这又是一个ETH的设计缺陷的work around,因为智能合约显然有升级的需求和必要(bug fix,需求改变),但eth却把这个设计为不可升级(最容易实现)ETH

那么这种ETH的嵌套智能合约有有没有正面积极有价值的例子呢? 我觉得ETH的设计就如同PHP语言一样,快糙猛,但其市场占有说明了其作为“最好的语言”有很多做对的地方ETH。 在讨论一个新的链、新的合约语言的时候 ,客观讨论一下其利弊。

评论