当前位置:首页 > 物联网 > 区块链
[导读] 在了解区块链的过程中,我们经常会听到介绍说以太坊是图灵完备的区块链平台。图灵完备一般作为一个特点用来形容一个系统或者一套语言,这么说吧,我们“人”本身也可以说是图灵完备的,我们每一个会决策、会思

在了解区块链的过程中,我们经常会听到介绍说以太坊是图灵完备的区块链平台。图灵完备一般作为一个特点用来形容一个系统或者一套语言,这么说吧,我们“人”本身也可以说是图灵完备的,我们每一个会决策、会思考的人,都可以抽象地看成一个图灵机,就像李笑来曾经说的,“每个人都有自己的操作系统,因为有元认知能力,还可以自己升级操作系统。”

但是,这么简单粗暴地理解当然是不够的,下面给大家详细讲解到底什么是图灵机和图灵完备。

什么是图灵完备?

说到图灵完备一般得先提到图灵机的概念,图灵机是英国数学家阿兰·麦席森·图灵在1963年提出的、为了研究可计算问题而构思的抽象计算模型——将人们传统的使用纸笔进行数学运算的过程,进行抽象,由一个虚拟的机器替代人们进行无数次的数学运算。这个虚拟的机器就是图灵机,也就是现在计算机的雏形。

如下图,虚构的图灵机长这个样子。形象地来说,它就像是老式的电传机:一个读写头,一根纸带(可能任意长),读写头不断读取纸带上的符号,并根据内在的状态转换规则转换当前状态,同时进行一些动作,比如擦除或改写当前字符,向前/向后移动读写头或保持不动等。

所以图灵完备(Turing Complete)原本是来自计算机的概念,是程序员编写的各种代码语言,再加上一种能在图灵机这种虚拟机中完美地运算的运算规则,因此满足这样要求的逻辑系统、装置或者编程语言就叫图灵完备。

简而概之,图灵完备的意思就是可以做到图灵机所能做到的所有事情,解决所有的可计算问题的逻辑系统、装置或者编程语言就叫做图灵完备。

根据图灵机与图灵完备的定义,图灵完备的语言有循环执行语句、判断分支语句等,理论上能解决任何算法。那么它的一个显著特点就是支持程序循环不断地运行下去。缺点就是其有可能进入死循环而导致程序崩溃。

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

那么在区块链支撑的分布式环境中,图灵完备是如何应用在区块链中的?它解决了区块链的什么问题?

为什么区块链行业需要图灵完备?

说到区块链,第一个肯定想到比特币网络。我们都知道,一直到目前为止比特币系统上是几乎不支持开发程序应用的,这是因为当初中本聪出于安全问题的顾虑,在设计比特币时只采用了一种堆栈语言,不能做到图灵机所能做到的所有事情,所以我们说比特币系统是图灵不完备的。

不过比特币这样的非图灵完备的区块链代码协议的优点是很安全,从2009年诞生至今近10年的时间里,区块链中发生过无数起黑客攻击事件,但比特币几乎从未因本身脚本原因出现过资金损失。

那么问题来了,比特币虽然安全,但是在其系统上不能开发复杂的逻辑程序,这就使得早些年区块链的落地场景和应用十分少。而随着区块链的发展,这些需求不断提上议事日程,人们开始逐渐需要能够支持区块链应用开发运行的系统出现,于是区块链就引入了图灵完备的概念。

在比特币之后,为了能实现更丰富的功能和使用场景,一些图灵完备的区块链系统应运而生。

其中众所周知的且最具代表性的就是以太坊。以太坊采用的是智能合约语言,它是一个图灵完备的区块链系统,其虚拟机可运行智能合约,理论上能够解决所有的可计算问题,从而尽最大限度满足各种现实应用场景的开发。程序员既可以利用以太坊的智能合约来编写数字资产的代码,创建新的数字资产;也可以通过编写智能合约的代码,创造非数字资产的功能,例如目前市场上的各种DApps。

总的来说,假如我们把比特币的区块链当做是一种数字资产的协议技术,那么以太坊的区块链则可以说是这个数字资产协议的协议。

图灵完备这一技术的特性使得以太坊上从一开始就涌现了大批商业应用,区块链落地场景也逐渐增多。目前已有远超200个基于以太坊的应用诞生,而随着摩根大通、微软、英特尔三星、丰田等众多企业巨头的加盟,以太坊已逐渐从一开始的虚拟代码技术,成为了虚拟世界最大的一条“高速公路”,被赋予了巨大的创新商业价值,所以以太坊一般也被称为区块链2.0。

但是,与此同时,图灵完备有陷入死循环的风险。所以以太坊为了保证所写出的程序不存在死循环,就在“智能合约”语言中加入了gas的概念,通过加入gas费用,程序每个运算过程都会消耗一定成本,就不会无限制地执行下去。

总结

以太坊虽说可以搭载很多应用,但是复杂的协议在设计和编码过程中难以避免人工失误,因此常常被黑客找到漏洞发起攻击,损失巨大。比如著名的The DAO事件,The DAO资金池中价值6000多万美元的以太币在6个小时里被洗劫一空。

不管怎样,技术是提供便利的,但无论什么技术都多少有双面性,不论是图灵完备还是区块链。图灵完备的开发语言将仍然是未来的主流,因为大多数项目都希望实现多样的功能,有丰富的使用场景。但是不管做什么项目,安全性一定是不容忽视的考虑因素。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭