近日,我们从BSV/DEVS的推特上得知,有个开发者发布了一款BSV的脚本编辑器,可以提供带有GUI的编辑器环境,让用户使用高级语言,来编写复杂的比特币脚本,目前支持BSV的脚本操作码,部分兼容BTC和BCH操作码。这其实是一种使得比特币区块链上的复杂智能合约变得可能的一个方法。
比特币脚本
比特币的脚本语言,定义了一组基本的操作码,这些操作码围绕着一个STACK和另外一个ALT-STACK进行操作,即可完成计算。我们所熟知的P2PK、P2PKH、P2SH交易,都是使用比特币的脚本语言而实现的。比特币交易里的锁定脚本和解锁脚本其实就是区块链领域最早的智能合约了,以太坊将它变得更加强大,专门嵌入了一个EVM虚拟机环境,来执行更加复杂的智能合约。
理论上,只要有足够大的内存空间和足够的时间,图灵机能够完成任何计算,之前人们讨论了很多比特币脚本的图灵完备性,如果能够使用比特币的脚本语言,达到其它高级语言的效果,那么它就是图灵完备的,但通过阅读图灵机的模型定义,我们认为比特币的脚本语言,能够达到图灵设想的纸带机的效果,它应该是图灵完备的。
其中,比特币的脚本语言,就像汇编语言,每个操作粒度很细,而高级语言表达能力更强,往往一个语句,对应汇编语言十几个指令,写起来更有效率。有一个