关于区块链中的停机问题

停机问题,指是否能在不执行完一个图灵完备的程序下判断程序能否终止。通过反证法可证明这是不可能的。而区块链中的智能合约,由于需要在众多节点中运行,能否停止这是需要考虑的。

一般,思路有三。计步器,通过计算程序执行步数限制程序停止。计时器,通过程序执行时间限制。图灵不完备,去掉循环类功能,程序本身的长度被限制。

各项目的解决思路

比特币:

图灵不完备,没有循环类功能。

以太坊:

使用虚拟机solidity,虚拟机内部计步。

EOS:

储存资源需要付费,CPU和网络资源采用抵押制。预先抵押一部分资金用于购买CPU和网络资源,一段时间后返还。

关键在于,CPU消耗采用计时的方法判断,不同机器不一样,采用抵押不扣费,促进合约使用者存入更多资金。

Fabric:

计时器,在peer节点中可配置链码执行超时时间,一般为30秒。

NEO:

多语言编译器,将各种语言翻译成NEO虚拟机支持的指令集。

其他:

Qtum使用solidity,IOTA使用abra语言,都是包含计步器的语言。

 

参考:

http://docs.neo.org/zh-cn/sc/introduction.html

https://blog.csdn.net/w7849516230/article/details/81108651

https://www.8btc.com/article/228911

https://blog.csdn.net/weixin_39842528/article/details/80922647

https://blog.csdn.net/ITleaks/article/details/80754175

https://blog.csdn.net/ITleaks/article/details/80743836

转载于:https://www.cnblogs.com/willaty/p/9766168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值