什么是图灵完备智能合约

作者: higer | 来源:发表于2017-06-05 22:52 被阅读4216次

图灵,不用多介绍,是计算机领域的大神级人物,他在科学、特别在数理逻辑和计算机科学方面,取得了举世瞩目的成就,他的一些科学成果,构成了现代计算机技术的基础。

因此,很多计算机领域的模型或者理论都是以“图灵”来命名的,最经典的一个概念是“图灵机”:

所谓的图灵机就是指一个抽象的机器,它有一条无限长的纸带,纸带分成了一个一个的小方格,每个方格有不同的颜色。有一个机器头在纸带上移来移去。机器头有一组内部状态,还有一些固定的程序。在每个时刻,机器头都要从当前纸带上读入一个方格信息,然后结合自己的内部状态查找程序表,根据程序输出信息到纸带方格上,并转换自己的内部状态,然后进行移动。

图灵机

说白了,图灵机模型描述的是一个计算程序,它可以像物理的电脑一样运作,完成一个电脑所能做的所有事情。而所谓图灵完备的编程语言,即是能够实现所有计算机可以实现的功能的编程语言。

一般来讲,我们平常使用的计算机编程语言,比如C,GO,Java都是图灵完备的,因为它们都可以最大限度发挥计算机的能力。这些都是单机的情况,而在分布式下的情况如何呢,比如下面这个图(图片来自前期“如何从零动手写智能合约”的千聊课程):

分布式架构下的编程

很显然,在单机的情况下,实现所需要的功能是主要目的,而在分布式情况下如何解决上图中的不一致的问题才是最关键的考量。

我们知道,比特币诞生之后,大家逐渐发现了其底层的区块链技术的巨大价值,同时认为区块链技术才是分布式环境下解决这种一致性问题、可信的技术体系。

这种分布式环境下实现一致性的语言现在都被统称为“智能合约”。比特币脚本语言就是这样一种语言,它实现了非常安全的数字货币计算模型,保证了在不需要第三方机构的情况下,两方之间可以进行价值的转移。

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

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

而图灵完备语言最显著的一个特点是支持循环,所谓循环,就是程序能不断执行下去。那么在区块链支撑的分布式环境下,矿工如何判断一个程序何时结束呢?而图灵计算理论,也有人证明过,要证明一个程序能不能终止是不可能的(图灵停机问题),所以这种“智能合约”语言需要保证所写出的程序不能存在死循环。

这也是为什么以太坊语言会加入gas(汽油)的原因,通过加入gas,程序每个运算过程都会消耗一定成本,从而不会无限制地执行下去。

或许你还有不少疑问,比如什么是图灵停机问题?以太坊的智能合约怎么实现的?以太坊的gas机制到底是什么?

以后会为你一一分析,敬请期待。

相关文章

  • 2018-08-05小白学区块链——图灵完备

    前文说了智能合约是编写在区块链上的一套图灵完备的数字合约,那么什么是图灵完备呢?今天我们就了解一下什么是图灵完备。...

  • 什么是图灵完备智能合约

    图灵,不用多介绍,是计算机领域的大神级人物,他在科学、特别在数理逻辑和计算机科学方面,取得了举世瞩目的成就,他的一...

  • 区块链概念整理之图灵停机问题

    之前再更新“图灵完备智能合约”的时候,讲过了谁是图灵的问题,那么今天再看一下,当图灵+停机,又会产生什么概念。停机...

  • 区块链周刊(2019-01-06)

    新闻 Stratis发布侧链和图灵完备C#智能合约 Stratis发布第一个用于在链上执行.net代码的图灵完备智...

  • 以太坊智能合约的技术与组件

    要在以太坊上编写一个智能合约,所涉及的技术和组件有: Solidity,以太坊的图灵完备编程语言,用于编写智能合约...

  • 知识库-以太坊

    以太币/ Ether / ETH Ethereum (以太坊)是一种开源的、图灵完备的、智能合约公有区块链,基于区...

  • NGK公链项目风险分析

    NGK BlockChaln简称“NGK”,底层技术开源发布,拥有图灵完备的智能合约,支持C/C++的DAPP编程...

  • 整理| 什么是RSK根链?

    官方宣传视频链接:http://t.cn/RTuuyVL 【视频内容中译】: RSK是一个图灵完备的开源智能合约平...

  • 以太坊为何成为仅次于btc的第二大币

    1。实现了被称为区块链2。0的标志的智能合约,相对于btc的执行脚本,智能合约的底层支持语言图灵完备,无所不能。 ...

  • SERO超零简介

    1, 是啥?Super zERO SERO(Super zERO) 超零 为全球第一个支持图灵完备智能合约的隐私数...

网友评论

  • 币涨App:加油,赞赞赞!
  • 巍书生:一起践行,我们总会走自己的路啊
    higer: @巍书生 感谢有你,一路同行!我们一路同行!

本文标题:什么是图灵完备智能合约

本文链接:https://www.haomeiwen.com/subject/bluwfxtx.html