图灵,计算机领域大神,在计算机科学、数理逻辑学领域,取得了瞩目的成就。他的一些科学成果,直接构成了现代计算机技术的基础,被称为计算机之父。
因此,很多计算机领域的模型或者理论都是以“图灵”来命名的,最经典的就是图灵机:
“所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。”
简单讲,图灵机模型描述的是一个计算程序,它可以像物理的电脑一样运作,完成一个电脑所能做的所有事情。
而所谓的图灵完备,即是能够实现所有计算机可以实现的功能。进而,所谓图灵完备的编程语言,即是能够实现所有计算机可以实现的功能的编程语言。
下个需要清楚的概念是“智能合约”。我我们通常使用的计算机编程语言入“Python”、“C++”等都是图灵完备的,因为他们都可以最大限度的发挥计算机的能力。但是,上面是单机情况下。但是,处在分布式情况下,需要考虑的因素就不是最大限度发挥计算机的性能,而是如何解决多节点不一致的关键问题。那么,可以解决分布式环境下实现一致性的语言,现在都被统称为“智能合约”。
那么总结下,所谓的“图灵完备智能合约”,就是指可以满足分布环境下,有效统一各节点进行一致运转的语言。比如,比特币脚本语言就是这样一种语言。它实现了非常安全的数字货币计算模型,保证了在不需要第三方机构的情况下,两方之间可以进行价值的转移。
但是,现实世界的需求是极其庞杂的,为了满足未来将区块链技术应用于更多场景的可能需要,比特币脚本语言是远远不够的。所以,如以太坊、EOS等基础链诞生,并致力于实现所有以前一个编程语言在单机上实现的功能,也即能尽最大限度满足现实应用场景的开发。