5 Y, c' Z7 D* F$ e3 L+ e
! ?3 J# d7 i5 G! a8 N# L
简单来讲,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。当然图灵完备也可能因为陷入死循环而导致程序崩溃。在某些场景中图灵完备需要限制语言,有循环执行语句,判断分支语句等。
" g0 l) _1 [; }' P" b: }* c d7 G
举个例子,如果有人说,我的东西是图灵完备的,也就意味着理论上它能够用来解决任何计算性的问题。此外,图灵完全性通常指具有无限存储能力的通用物理机器或编程语言。, Q$ S" @1 H( n' ?' T0 Z
* E: O" U4 e- v- q8 z$ I
与图灵完备相反的是图灵不完备,图灵不完备应该是不允许或限制循环。可以保证,每段程序都不会死循环,都有运行完的时候。比特币的脚本系统是图灵不完备的,而一些Token的智能合约系统是图灵完备的。# X" E/ [; L5 ]8 }4 Z, P
% j1 o6 G" j% ~3 d
图灵完备和图灵不完备各有其优势,图灵不完备会更安全些,图灵完备会更智能些。. E/ b. [/ P4 C4 s4 O1 V5 Q' i& F
" w8 b# ? f6 n9 K9 h
类似以太坊类似的图灵完备的脚本语言,包括了循环的逻辑。然而为了保持网络稳定性,Celes会对最大的循环次数做出一定限制。根据通用图灵机的概念,图灵完备就是现代编程语言所能拥有的,可以达到的冯诺伊曼体系结构所能达到的最高计算力。/ c; H0 W" O) F
* u) Q0 v4 i9 N% }: ~
一般来说,除了一部分脚本语言(如比特币自带的脚本语言)以外,大部分的计算机语言都是图灵完备的。使用图灵完备的脚本语言,可以在逻辑上做到和其他编程语言兼容,并在理论上能够实现任何其他语言所能实现的逻辑,以及最大限度的复制现实的商业逻辑。4 v+ a2 b, ^" I) R d" X
$ L/ h0 z U5 Q3 n# V4 p
Celes将会专门开发的一套脚本语言。这套脚本语言能提供“图灵完备”(Turing Complete)的逻辑,还留有与现实法律合规兼容的功能,这样使开发者可以开发完整的逻辑。
此外,针对所编写的逻辑,Celes会进行运行该逻辑所消耗的计算机资源进行评估。开发好的商业逻辑交给虚拟机在去中心化的网络内自动运行。商业逻辑一旦生成,就不能被篡改。
成为第一个吐槽的人