' D+ f% Z6 A2 O& p, a3 _
简单来讲,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。当然图灵完备也可能因为陷入死循环而导致程序崩溃。在某些场景中图灵完备需要限制语言,有循环执行语句,判断分支语句等。# K. m" q( z X% ^6 y5 n/ `
举个例子,如果有人说,我的东西是图灵完备的,也就意味着理论上它能够用来解决任何计算性的问题。此外,图灵完全性通常指具有无限存储能力的通用物理机器或编程语言。
# T* i2 ]3 u( H
与图灵完备相反的是图灵不完备,图灵不完备应该是不允许或限制循环。可以保证,每段程序都不会死循环,都有运行完的时候。比特币的脚本系统是图灵不完备的,而一些Token的智能合约系统是图灵完备的。
9 l' W6 l9 s( J; S( N
图灵完备和图灵不完备各有其优势,图灵不完备会更安全些,图灵完备会更智能些。+ q1 P) {5 N( j1 o
类似以太坊类似的图灵完备的脚本语言,包括了循环的逻辑。然而为了保持网络稳定性,Celes会对最大的循环次数做出一定限制。根据通用图灵机的概念,图灵完备就是现代编程语言所能拥有的,可以达到的冯诺伊曼体系结构所能达到的最高计算力。) n: ~- ]- M' M1 A# e5 L
一般来说,除了一部分脚本语言(如比特币自带的脚本语言)以外,大部分的计算机语言都是图灵完备的。使用图灵完备的脚本语言,可以在逻辑上做到和其他编程语言兼容,并在理论上能够实现任何其他语言所能实现的逻辑,以及最大限度的复制现实的商业逻辑。
9 T: C( T) F* }) g9 x( q* l+ W
Celes将会专门开发的一套脚本语言。这套脚本语言能提供“图灵完备”(Turing Complete)的逻辑,还留有与现实法律合规兼容的功能,这样使开发者可以开发完整的逻辑。
此外,针对所编写的逻辑,Celes会进行运行该逻辑所消耗的计算机资源进行评估。开发好的商业逻辑交给虚拟机在去中心化的网络内自动运行。商业逻辑一旦生成,就不能被篡改。
成为第一个吐槽的人