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