求教智能合约的设计

这个点挺有意思,作为图灵完备的合约系统,肯定是可以实现的,不过我不建议用 auto_exec 合约,因为那是系统级别的服务不应该开放给普通合约,而且 quota limit 有限制,很容易超。

这个需求本质上是在原有账户余额基础上增加债务余额,并注册偿还路径。所以标准的外部账户无法满足这个要求,只能使用合约账户。

具体来说合约账户有两个支付动作,一个是标准付款,扣除账户余额资金,一个是债务付款,在余额充足情况下优先扣除余额,不足则记录一笔债务,并记录债权人信息。任何时候该合约收到一笔付款,即优先向债权人列表中的债权人偿付债务。如果债权人提供的收款地址也是一个类似的合约,则可实现“自动逐级偿付”的功能。

忘记时间需求了,在签署债务支付时增加一个时间点即可。麻烦的在于偿付触发。在账户收到一笔新款时触发时间(区块高度)判断相对容易,此外可以通过合约写明在账户对外付款时必须先偿付所有欠款。但要想实现用户余额充足,到期自动还款还是需要有个触发动作的。建议债权人主动触发。

不知道这个想法技术上能否实现?

我算是看明白需求了,我得仔细想一下才行。

用这个是考虑到条件触发的原因。
对,不用这个功能就需要外部因素来主动触发,就像:

需要一个统一的合约模板(统一的函数入口),这个可能需要一个 类似 erc20 的标准

查了下资料,请问这篇文章的描述的情况准确吗?现有智能合约没有想像中这么『智能』?

智能合约,smart contract,这里的smart理解为忠实执行可能语境更好一些。智能在中文的含义里面有些自己能够感知的意思。
交易的产生虽然由用户发起,但是我们可以把用户想象成一些机器,比如在设备里就存有私钥,当支配设备做某项事件时,就会触发一笔交易发送到合约而执行后续操作。因为过去只有人才能控制资产,而现在机器也可以有资产。https://www.iqiyi.com/v_19rrdl57u0.html