长推:以太坊智能合约可组合性的利弊探讨
ArcBlock 创始人Robert Mao对话jolestar:究竟eth那样的支持smart contract 嵌套组合有没有意义? 那是一个bug 还是一个feature?
原文作者:Robert Mao、jolestar
原文来源:Twitter
Robert Mao:
jolestar你好,读了你的几篇文章引发一些思考想请教和讨论一下。主要是这篇“从智能合约的演进看 Move 的架构设计”,与这篇“为什么是 Move 之编程语言的生态构建”:
我很赞同智能合约的可组合性是一个重要的特点,Ethereum的 DeFi繁荣很大程度来自其智能合约可组合带来的特性。 但是,我对Eth的这种设计合理性产生了一些怀疑(可能会被ETH支持者口水淹死)
我想思考一个问题,究竟eth那样的支持smart contract 嵌套组合有没有意义? 那是一个bug 还是一个feature?
Eth这种嵌套导致可以实现“闪电贷”这类DeFi,然而闪电贷也许在现实世界应该视为一种金融的bug,而不应该作为feature。在有监管的世界,我甚至怀疑这样行为是否合法。
jolestar
中国房市,贷款买房,又是通过房本抵押贷款,不就是闪电贷么。看问题要看本质。
又国家强力控制你在一个transaction里先贷款,再拿到房本,再回过头来用房本抵押。
Robert Mao
关于【长推:以太坊智能合约可组合性的利弊探讨】的延伸阅读
长推:复盘精彩刺激的 $RCH 大战
昨晚,$RCH与BTW进行了精彩的大战,项目方上线了产品并给LP添加了700ETH,但被聪明钱抢跑。随后,神盘出现,币价从0.2上涨到1u。项目方背景强大,有大机构背书,链上交易活跃。Sofa.org推出了两个产品,Earn和Surge,用户可以利用期权策略进行理财和预测未来走势。产品实力强大,能力超过web3团队。
长推:$RCH 能不能到20亿?无预留、无权限、燃烧通缩、上所才是起点
$RCH是新兴项目,初始加入池子的ETH价值300万,现市值7000万。若跌回1块,市值为2000万,上限无法预测。项目方烧了750ETH,加其他支出,合计400万。预计市值达15M,产品和资方有潜力,交易量高,无VC抛压和项目方币。预计上市后,市值5亿-40亿。
ETH这种的嵌套组合方式还导致了一些常见的不安全合约pattern,例如通过一个合约调用另一个抽奖合约,来破解其利用区块hash产生的随机数(本来这是个很好的链上确定性随机数产生方法)。 这导致eth 在需要随机的时候,必须靠第三方预言机才可能安全,这导致整个系统架构的不必要负责性以及更为缓慢。
jolestar
同一个交易里的多个合约用的是同一个种子,所以有这个问题。维护一个全局的自增序列,每次调用 + 1, 这样一定程度能避免这个问题。但这种方式也只能用在小应用的场景,毕竟矿工是知道结果的。
Robert Mao
其他一些用法是把某些合约的部分作为共享lib,用来减少gas fee,减少重复部署,但这可以认为是eth的一个设计缺陷才导致的,因为ETH不能支持代码模块,gas机制,以及需要大量重复部署合约,这是一种work around。 Partity钱包事件说明了这个问题的严重后果。
还有一个用处是实现upgradable 合约, 但这又是一个ETH的设计缺陷的work around,因为智能合约显然有升级的需求和必要(bug fix,需求改变),但eth却把这个设计为不可升级(最容易实现)。
那么这种ETH的嵌套智能合约有有没有正面积极有价值的例子呢? 我觉得ETH的设计就如同PHP语言一样,快糙猛,但其市场占有说明了其作为“最好的语言”有很多做对的地方。 在讨论一个新的链、新的合约语言的时候 ,客观讨论一下其利弊。
责任编辑:MK
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:Robert Mao、jolestar,如有侵权请联系删除。转载或引用请注明文章出处!