图灵机是什么?
图灵完备,从字面上就可以看出,这个名词是和图灵有关的。他是英国的牛人,是数学家/逻辑学家/密码学家,叫阿兰•麦席森•图灵(1912~1954),他在二战期间提出一种抽象计算模型——将人们传统的使用纸笔进行数学运算的过程,进行抽象,由一个虚拟的机器替代人们进行无数次的数学运算。这也是现在计算机的雏形,这个人就被称为计算机科学之父,大家就把这个虚拟的机器叫图灵机。现在有一些人工智能领域的人也认为图灵是人工智能之父,因为人工智能也是为了达到让机器替代人运算做事的目的。
图灵机能解决什么问题呢?
理论上讲,只要在数学领域、计算机领域、自动化领域等,只要是可以计算的问题,那图灵机都可以来计算。比如说给你一个数判断是基数还是偶数,让你算一加一等于几,这种可以计算能够得出结果的问题,图灵机都可以解决。那图灵机有没有解决不了的问题呢?有,比如说“今天晚上吃什么”,这不是一个纯粹的可以计算的问题,图灵机就解决不了。简单说,对于一个问题,只要你能输入一些图灵机可以识别的数据,问题是可以计算的,图灵机就能给你一个结果。
图灵完备是什么呢?
图灵完备和图灵机不是一回事。我们说计算机发展的越来越强大,会有很多操作系统。码农写了一些代码一些规则,图灵完备就是指程序员编写的各种代码语言,再加上一种运算规则,能再图灵机这种虚拟机中完美的运算,这些编程语言就叫图灵完备。
图灵完备的代表是以太坊,以太坊这个用区块链的方式连接了全球所有的机器,组成了一个强大的硬件基础,在以太坊系统中,设置了虚拟计算程序。以太坊做了一个内置了多种编程语言的区块链协议,这些编程语言都是图灵完备的,可以支持条件分支、循环、跳转、函数调用等复杂的运算逻辑,理论上可以在以太坊区块链上运行任意的应用。
当然也有非图灵完备,比特币就是非图灵完备的,也就是说目前比特币系统上面支持不了开发复杂的应用。
图灵完备有何优缺点?
比特币由于其设计上的非图灵完备性,加上中本聪大幅删减了许多脚本指令,所以其安全性是极高的,从2009年诞生至今8年多的时间里,平安经历了无数次的黑客攻击,从未因比特币区块链和脚本本身的原因出现过资金损失。之前强哥和大家说的交易所的比特币被盗,也并非是比特币本身的代码安全问题,而是交易所的安全问题。比特币这样的非图灵完备的区块链代码协议可以认为是简单、高效、安全。
以太坊这样的图灵完备,是一个复杂的开发语言和协议,你可以在我这里根据我提供的语言进行二次开发,实现很多很复杂的功能。但是,很明显,复杂的协议在设计和编码过程中难以避免人工失误,一旦被黑客找到漏洞,损失往往是巨大的。比如去年以太坊Parity钱包被盗十几万个以太币,这就是代码的安全漏洞导致的。
所以说,图灵完备各有优缺点,图灵不完备会更安全些,图灵完备会更智能些。但强哥还是认为图灵完备的开发语言是未来的主流,因为大家都希望实现的功能很丰富。当然,未来科技发展好了安全也应该会得到更好的保障。