script pubkey:op _ dupop _ Hash 160 op _ equal verify op _ check SIG(script pubkey是上一个比喻中1 BTC上的脚本“lock”)script SIG:(script SIG是上一个比喻中发送方A提供的脚本“Key”)
比特币脚本的限制
为了保持比特币向前兼容、简单稳定,比特币开发者对其脚本做了很多限制。例如,脚本中没有loop语句。比如比特币核心客户端,目前只支持五种固定模式的脚本。一方面,这是历史包袱使然;另一方面,比特币的开发团队趋于保守稳健。
有些朋友可能知道,我们正在开发一个注册、管理和交易股权的区块链协议,——小蚂蚁。Ant复用了比特币的主要架构,包括脚本系统。在此基础上,Ant参考了Gavin Andresen提出的比特币改进建议BIP12,增加了一条OP_EVAL指令。我们先来看看小蚂蚁下的标准事务(Pay-to-Script-Hash)是如何工作的:
Script pubkey:op _ dupop _ Hash 160 op _ equal verify op _ evalscriptsig:redempt 尚力财经小编2022 Script:op _ 2op _ 3op _ checkmultisig比特币脚本BIP12=图灵完备
图灵完备是指能够计算每一个图灵可计算函数的计算系统。换句话说,图灵完备性使我们的脚本系统能够解决所有可计算的问题。一方面带来强大的处理能力;另一方面,这也使得脚本的静态分析变得不可能:除非我们实际执行它,否则我们永远无法知道脚本何时会停止。
比特币网络中的每一个节点在每一次交易中都要执行脚本,这就使得比特币脚本系统的设计需要足够精简。比特币作为一种点对点的电子现金系统,不需要更复杂的脚本系统。
Ant采用图灵的完全脚本方案,通过以下两种方法避免图灵的完全性带来的问题:限制每个脚本可以执行的步骤,一旦脚本执行超过限制,立即判定为验证失败。因为任何节点都会在广播事务之前对其进行验证,所以超过步骤限制的脚本不会影响整个网络中的所有节点。对于步骤多的交易,收取较高的手续费,从而减少通过构造复杂脚本发动拒绝服务攻击的情况。
解决了图灵完备性带来的问题后,蚂蚁的脚本系统可以应用于以下场景:智能合约:判断合同的条件,满足条件后自动执行合同条款,如股权质押贷款;更高级的权限管理:使用脚本为参与签名的密钥分配权限,完成比m-of-n更精确的权限管理;抽奖:脚本可以配合小蚁块中的强随机数实现抽奖功能;其他:图灵完备性是指你能想到的任何函数都可以实现。
这里就说说脚本和智能合约吧。如果这些对你来说太简单了,那么欢迎牛人加入小蚁团队。我们的官网是:https://www.antshares.com/;如果你想尚力财经小编2022了解更多区块链领域的创新和投资机会,请加入小蚁社区QQ群:23917224。10月,小蚂蚁的众筹计划将在那里首次公布。作者:达洪飞?张正文编辑:洒脱。来源:信息
标签: 2022