风险提示:理性看待区块链,提高风险意识!

区块链之图灵完备是什么?

2个回答

好合好散7星评价

2020-04-24 14:40:59

区块链之图灵完备是什么?

大家都知道SERO超零协议是:全球首个使用零知识证明技术实现隐私保护,支持图灵完备智能合约运行的分布式平台,那么到底什么是图灵完备呢”?

今天就来跟大家聊聊其中的图灵完备”

第一问:图灵是谁?

艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

在计算机的世界中,图灵声名赫赫,是大神级的存在。

他被誉为计算机之父”。计算机界的最高奖图灵奖”就以他的名字命名。

1999年《时代》周刊将图灵评为二十世纪最重要的一百人”之一。因为,今天我们每个人都工作在一台图灵机”上。

图灵更为传奇的故事发生在第二次世界大战。

他成功破译了纳粹德国复杂严密的密码系统,让希特勒的战争部署赤裸裸暴露在盟军面前。

可以说,他用自己的天才,改变了整个英国、乃至全人类的命运走向。

第二问:图灵完备是什么意思?

图灵完备性(Turing Completeness)是针对一套数据操作规则而言的概念。数据操作规则可以是一门编程语言,也可以是计算机里具体实现了的指令集,当这套规则可以实现图灵模型里的全部功能时,就称它具有图灵完备性。直白一点点说,图灵完备性就是我给你一工具箱的东西,包括无限内存、if/else控制流.while循环。。。那么你现在图灵完备了吗?

第三问:图灵完备vs图灵不完备?

图灵完备意味着你的语言可以做到能够用图灵机能做到的”所有事情,可以解决所有的可计算问题。

图灵不完备也不是没有意义, 有些场景我们需要限制语言本身。如限制循环和递归, 可以保证该语言能写的程序一定是终止的。

理解一下,就是说图灵完备的语言,有循环执行语句,判断分支语句等。理论上能解决任何算法。但有可能进入死循环而程序崩溃。

图灵不完备,应该是不允许或限制循环。可以保证,每段程序都不会死循环,都有运行完的时候。

第四问:什么是图灵完备的智能合约?

比特币的脚本系统是图灵不完备的,而一些Token的智能合约系统是图灵完备的。

现实世界的需求是极其庞杂的,为了满足未来将区块链技术应用于更多场景的可能需要,比特币脚本语言是远远不够的。这也是为什么以以太坊为代表的区块链技术,都宣称自己所采用的智能合约”语言是图灵完备的主要原因。

所以以太坊朝着这个目标在前进,也正是由于这个平台的强大,目前基于以太坊开发的区块链应用越来越多。为什么呢?通过上面的介绍就知道,以太坊的智能合约”语言是图灵完备的,而图灵完备的编程语言可以实现所有以前一个编程语言在单机上实现的功能,也即能尽最大限度满足现实应用场景的开发。

SERO和以太坊同样实现了图灵完备的智能合约”,而不一样的在于SERO在基于以太坊的现有功能上增添了信息隐私保护功能,这一块是目以太坊做不到的。关于SERO是如何做到隐私保护”咱们下节课再聊!

从上我们有理由相信,SERO的技术团队为区块链行业打开了另一个风口,那就是支持加密图灵完备智能合约分布式平台。为DAPP开发者创造了一个技术实现的天堂。


和国家队4f3星评价

2020-04-24 14:41:50

图灵完备(Turing Complete),图灵完备是指机器执行任何其他可编程计算机能够执行计算的能力。

图灵完备也意味着你的语言可以做到能够用图灵机能做到的所有事情,可以解决所有的可计算问题。

简单来讲,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。当然图灵完备也可能因为陷入死循环而导致程序崩溃。

在某些场景中图灵完备需要限制语言,有循环执行语句,判断分支语句等。

举个例子,如果有人说,我的东西是图灵完备的,也就意味着理论上它能够用来解决任何计算性的问题。

此外,图灵完全性通常指具有无限存储能力的通用物理机器或编程语言。

与图灵完备相反的是图灵不完备,图灵不完备应该是不允许或限制循环。可以保证,每段程序都不会死循环,都有运行完的时候。

比特币的脚本系统是图灵不完备的,而一些Token的智能合约系统是图灵完备的。

图灵完备和图灵不完备各有其优势,图灵不完备会更安全些,图灵完备会更智能些。

类似以太坊类似的图灵完备的脚本语言,包括了循环的逻辑。然而为了保持网络稳定性,Celes会对最大的循环次数做出一定限制。根据通用图灵机的概念,图灵完备就是现代编程语言所能拥有的,可以达到的冯诺伊曼体系结构所能达到的最高计算力。

一般来说,除了一部分脚本语言(如比特币自带的脚本语言)以外,大部分的计算机语言都是图灵完备的。使用图灵完备的脚本语言,可以在逻辑上做到和其他编程语言兼容,并在理论上能够实现任何其他语言所能实现的逻辑,以及最大限度的复制现实的商业逻辑。

Celes将会专门开发的一套脚本语言。这套脚本语言能提供“图灵完备”(Turing Complete)的逻辑,还留有与现实法律合规兼容的功能,这样使开发者可以开发完整的逻辑。

此外,针对所编写的逻辑,Celes会进行运行该逻辑所消耗的计算机资源进行评估。开发好的商业逻辑交给虚拟机在去中心化的网络内自动运行。商业逻辑一旦生成,就不能被篡改。