什么是图灵完备?简单粗暴的了解一下!


什么是图灵完备?简单粗暴的了解一下!

我们现在如果在看一些比较牛叉的区块链项目,比如以太坊、OK公链等,都会看到这么一个名词:图灵完备。很高大上的样子有没有?特别是一些所谓的公链或者只能合约,肯定是图灵完备的。

有一些还会这么解释,比如支持 c++、java 什么的。给我们的第一个感觉就是,图灵完备好像就是支持多种开发语言。

那到底是不是这么一回事呢?今天我们就一起来学习一下,什么是图灵完备。

大家可能知道,图灵是一个计算机科学家。图灵确实是一个人,一个英国的哥们。他生活在 20 世纪初,1912 年和 1954 年之间。他的头衔是数学家、逻辑学家、密码学家。也被称为计算机科学之父、人工智能之父。

什么是图灵完备?简单粗暴的了解一下!

你们应该也听说一个奖叫做图灵奖,就是以他的名字命名的。这是一个计算机行业的诺贝尔奖,虽然说奖金不高但确实是一个极高的荣誉。

现在应该这么说吧,如果能扯上图灵这两个字,都是非常牛叉,非常厉害的。比如什么图灵机、图灵机器人什么的。

那图灵完备到底是一个什么样的厉害东西?

我们都听说过万能钥匙吧,电视剧里经常看到。理论上来讲,假设你有一把万能钥匙,世界上任何的一把锁你都是可以打开的。

咱们这位图老师构想了这么一种机器,叫做图灵机。图灵机是干嘛用的呢?非常牛叉。不管是数学领域、计算机领域、自动化领域还是其他什么领域,只要是能被计算的,图灵机都能计算。

那什么是能被计算,什么是不能被计算的呢?能被计算的,比如一加一等于多少。那什么是不能被计算的,比如今天晚上吃什么。

我们把万能钥匙比作图灵机。

图灵机不是能计算任何可计算的东西吗?那万能钥匙也是能打开任何可以被打开的锁。

但是,你有没有想过这么一个问题,世界上的万能钥匙都是一样的吗?或者说万能钥匙有没有品牌?不同品牌的万能钥匙是不是一样的?他们长得一样吗?上面的那些纹路一样吗?工作原理一样吗?

什么是图灵完备?简单粗暴的了解一下!

那我们这样假设,假设万能钥匙是有品牌的。假设市面上有这么几个品牌的万能钥匙,张三牌万能钥匙、李四牌万能钥匙和王五牌万能钥匙。他们的外观、工作原理、用料可能都是不一样的。

假设有一天,这三个品牌合并了,他们共同来生产一种品牌的万能钥匙。你觉得,他们共同生产的这个万能钥匙,还能不能顺利的开启天下的任何一把锁?

但估计是不能,因为他们的专利可能都是不一样的,,至少要经过一段时间的磨合。

你想想,就从外观上来讲,假设张三的万能钥匙是 L 型的,因为从他的经验来讲 L 型更好开锁。李四说,我的 S 型的也不赖,而且还更好看。王五说,你们都弱爆了,我是 U 型的,是最顺手的。

好了,最后这把万能钥匙是长这样的。有一个地方是 L 型,一个地方是 S 型,一个地方是 U 型。你可能会想,那这把万能钥匙估计不能用了。那万一真的能用呢,真的能顺利的开锁呢。那张三李四和王五的这些经验 专利,就可以称为图灵完备。

现在计算机行业有很多种开发语言,像 C 语言、java、python、C++ 等。如果说这些语言写的程序,根据一定的运算规则,都能在某个机器上完美运行,那这些编程语言就是图灵完备的编程语言。

比特币算不算图灵完备的平台呢?其实不算,它是非图灵完备的平台。

但是以太坊就是图灵完备的平台,主要是体现在它的智能合约语言是图灵完备的语言。

以太坊这个用区块链的方式连接了全球所有的机器,组成了一个强大的硬件基础。在以太坊系统中,设置了虚拟计算程序。以太坊做了一个内置了多种编程语言的区块链协议,这些编程语言都是图灵完备的。可以支持条件分支、循环、跳转、函数调用等复杂的运算逻辑。

理论上可以在以太坊区块链上运行任意的应用。

那为什么比特币不搞图灵完备呢?其实,图灵完备并不是就比非图灵完备好。在这个世界上,鱼和熊掌都是不可兼得的。

图灵完备是更加智能了,但是相对也更加不安全了。非图灵完备虽然没那么智能,但是安全性相对较高。

以太坊这样的图灵完备,是一个复杂的开发语言和协议。你可以在我这里根据我提供的语言进行二次开发,实现很多很复杂的功能。

但是很明显,复杂的协议在设计和编码过程中,难免会出现有人工失误等情况,一旦被黑客找到漏洞,损失往往是巨大的。

大家应该理解什么是图灵完备了吧。

什么是图灵完备?简单粗暴的了解一下!



分享到:


相關文章: