首页>>科技 >>内容

布尔代数与图灵机,什么是图灵机和图灵完备

发布时间:2023-09-16 20:08:32编辑:温柔的背包来源:

布尔代数与图灵机,什么是图灵机和图灵完备

很多朋友对布尔代数与图灵机,什么是图灵机和图灵完备不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

在了解区块链的过程中,我们经常听说以太坊是图灵中完整的区块链平台。图灵完备性一般被用作描述一个系统或一组语言的特征。这么说吧,我们“人”也可以说是图灵完全性。每一个会做决策,会思考的人,抽象的来说都可以看作是一台图灵机,就像李笑来曾经说过的,“每个人都有自己的操作系统,因为有了元认知能力,他可以升级自己的操作系统。”

但是,这样简单粗暴的理解当然是不够的。我们来详细解释一下什么是图灵机和图灵完备性。什么是图灵完全性?

说到图灵完备性,首先要提到图灵机的概念。图灵机是由英国数学家艾伦麦吉森图灵于1963年提出的一种抽象计算模型,旨在研究可计算问题。——抽象了传统的人用纸笔进行数学运算的过程,一个虚拟机代替人进行无数的数学运算。这个虚拟机就是图灵机,也就是现在计算机的雏形。

如下图,虚构的图灵队长长这样。形象地说,它就像一台老式的电传打字机:一个读写头和一条纸带(可以是任何长度)。读写头不断读取纸带上的符号,并根据内部状态转移规则改变当前状态,同时做一些动作,如擦除或重写当前字符、向前/向后移动读写头或保持不动。

所以图灵完备本来就是一个来自计算机的概念,是程序员编写的各种代码语言,加上一个可以在图灵机这样的虚拟机中完美运行的运算规则,所以符合这样要求的逻辑系统、设备或者编程语言就叫做图灵完备。简而言之,图灵完备性是指它能做图灵机能做的一切事情,解决所有可计算问题的逻辑系统、设备或程序语言称为图灵完备性。

根据图灵机和图灵完备的定义,图灵完备语言包括循环执行语句、判断分支语句等,理论上可以求解任何算法。那么它的显著特点就是支持程序持续运行。缺点是可能进入无限循环,导致程序崩溃。相反,图灵的不完全性意味着不允许或限制循环,这可以保证每个程序不会无限循环,会在某个时间用完。

那么,在区块链支持的分布式环境中,区块链是如何应用图灵完备性的呢?它解决了区块链的什么问题?为什么区块链工业需要图灵来完成?

说起区块链,第一个想到的肯定是比特币网络。众所周知,到目前为止,比特币系统上几乎不支持开发程序应用。这是因为中本聪出于安全考虑,在设计比特币时只使用了一种堆栈语言,这种语言无法做到图灵能做到的一切。所以我们说比特币体系不完整。

然而,诸如比特币的非图灵完全区块链码协议的优点是它非常安全。自2009年诞生以来的10年间,区块链发生了无数起黑客攻击事件,但比特币几乎从未因自身脚本而遭受财务损失。

那么问题来了。比特币虽然安全,但无法在其系统上开发复杂的逻辑程序,这使得区块链早年的落地场景和应用非常少。随着区块链的发展,这些需求不断被提上日程,人们逐渐需要一个能够支持区块链应用开发和运行的系统,于是区块链引入了图灵完备性的概念。比特币之后,为了实现更丰富的功能和使用场景,一些图灵完全区块链系统应运而生。

其中,最为人熟知和最具代表性的就是以太坊。以太坊采用智能契约语言,这是一个图灵完全区块链系统,其虚拟机可以运行智能契约,理论上可以解决所有可计算的问题,从而最大程度的满足各种实际应用场景的开发。

程序员不仅可以利用以太坊的智能合约编写数字资产的代码,创造新的数字资产;还可以通过编写智能合约来创建非数字资产的功能,比如目前市面上的各种DApps。

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

图灵完整技术的特点导致以太坊从一开始就有大量的商业应用,区块链落地场景也逐渐增多。目前已经诞生了200多个基于以太坊的应用,并且随着摩根大通、微软、英特尔、三星、丰田等众多企业巨头的加入,以太坊从最初的虚拟代码技术逐渐成为虚拟世界中最大的“高速公路”,被赋予了巨大的创新商业价值,因此以太坊一般被称为区块链2.0。

然而,与此同时,图灵的完备性有陷入无限循环的风险。因此,为了保证编写的程序没有死循环,以太坊在“智能契约”语言中加入了气体的概念。加上气费,程序在每次运行过程中都会消耗一定的成本,不会无限执行。摘要

虽然以太坊可以承载很多应用,但是复杂协议的设计和编码很难避免人为错误,所以黑客往往会找到漏洞发动攻击,造成巨大损失。例如,在著名的道事件中,道基金池中价值超过6000万美元的乙醚硬币在6小时内被洗劫一空。

无论如何,技术提供了便利,但无论什么技术都有两面性,无论是图灵完美还是区块链。图灵完整的开发语言在未来仍将是主流,因为大多数项目都希望实现多样化的功能和丰富的使用场景。但无论做什么项目,安全一定是不可忽视的考虑因素。

以上知识分享希望能够帮助到大家!