主页 > imtoken钱包安装下载 > 我们经常听到的“图灵完备性”是什么意思?

我们经常听到的“图灵完备性”是什么意思?

imtoken钱包安装下载 2024-01-26 05:15:30

t币和比特币是一样吗_比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗

欢迎来到比特学校。 谈到以太坊的智能合约,我们经常会听到“图灵完备”这个词。 那么图灵完备到底是什么意思呢?

比特币脚本语言是图灵完备的吗_t币和比特币是一样吗_莱特币和比特币是通用货币吗

什么是图灵完备?

让我们从图灵本人开始。 艾伦·马西森·图灵是英国著名的数学家和逻辑学家。 他被称为计算机科学之父和人工智能之父。 图灵对人工智能的发展做出了很多贡献,并提出了一种判断机器是否智能的测试方法,即图灵测试。 至今,每年都有测试赛。 作为计算机领域的神级人物,他在科学领域取得了举世瞩目的成就,尤其是在数理逻辑和计算机科学领域。 他的一些科学成就构成了现代计算机技术的基础。

t币和比特币是一样吗_莱特币和比特币是通用货币吗_比特币脚本语言是图灵完备的吗

t币和比特币是一样吗_莱特币和比特币是通用货币吗_比特币脚本语言是图灵完备的吗

因此,计算机领域的很多模型或理论都是以“图灵”命名的。 过程被抽象出来,用虚拟机代替人进行数学运算。

如何计算呢? 它有一条无限长的纸条,纸条被分成小方块,每个方块的颜色都不同。 有一个机头在纸带上来回移动。 机头有一套内部状态,和一些固定的程序。 机头每时每刻都需要从当前磁带中读入一个格子信息,然后根据自身的内部状态查找程序表,根据程序向磁带格输出信息,并对其内部状态进行转换,然后移动。 这台机器的每一部分都是有限的,但它有一个潜在的无限长的纸条,所以这台机器只是一个理想的设备。

图灵相信这样的机器将能够模拟人类可以执行的任何计算过程。

莱特币和比特币是通用货币吗_比特币脚本语言是图灵完备的吗_t币和比特币是一样吗

比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗_t币和比特币是一样吗

这个概念上简单的机器理论上可以执行任何直观可计算的功能。 而如果一种编程语言和指令集能够实现图灵机模型中的所有功能,或者能够满足任意数据并按一定顺序计算结果; 我们可以称之为图灵完备性。

分布式系统中的图灵完整性

一般来说,我们平时使用的计算机编程语言,比如C、GO、Java比特币脚本语言是图灵完备的吗,都是图灵完备的,因为它们可以最大限度地发挥计算机的能力。 这些都是单机的情况,那么分布式的情况呢?

比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗_t币和比特币是一样吗

t币和比特币是一样吗_比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗

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

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

在这种分布式环境中实现一致性的语言,现在统称为“智能合约”。 比特币脚本语言就是这样一种语言,它实现了非常安全的数字货币计算模型,确保价值可以在双方之间转移,而不需要第三方。 然而,现实世界的需求极其复杂。 为了满足未来将区块链技术应用于更多场景的可能需求,比特币脚本语言是远远不够的。

这也是以以太坊为代表的区块链技术声称其采用的“智能合约”语言是图灵完备的主要原因。

莱特币和比特币是通用货币吗_比特币脚本语言是图灵完备的吗_t币和比特币是一样吗

图灵完备与图灵不完备

但是,图灵完备的通用性保证了计算的可行性,但不保证计算的效率和代码的可理解性和可维护性; 所以它可能无法满足某些领域的特定需求。 当需求之间存在冲突时,语言开发人员必须进行权衡和优化设计,以降低问题解决的复杂性。

此外,图灵完备语言最显着的特点之一就是它支持循环。 所谓循环,就是程序可以一直往下执行。 这就造成了,理论上图灵完备的语言可以解决任何算法,但也有可能进入死循环,程序崩溃。

例如,在区块链支持的分布式环境中,矿工如何判断一个程序何时结束? 利用图灵的计算理论,有人已经证明比特币脚本语言是图灵完备的吗,证明一个程序是否可以终止是不可能的,所以这种“智能合约”语言需要保证写出的程序不存在死循环。 这就是为什么以太坊语言会加上gas limit(以太坊的gas limit是什么)。 通过加入gas limit,程序的每一个运行过程都会消耗一定的成本,这样就不会无限执行下去了。

t币和比特币是一样吗_比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗

与以太坊不同,比特币的脚本系统是图灵不完备的。 比特币脚本语言包含许多操作,但它们都被有意地限制在一个重要的方式中——除了复杂的流量控制功能外,没有循环或条件流量控制。 这保证了脚本语言的图灵不完备性,这意味着脚本的复杂度是有限的,交易执行的次数也是可预测的。

脚本不是通用语言,施加这些限制是为了确保该语言不能用于创建无限循环或其他类型的逻辑炸弹,这些炸弹可能会植入交易中以通过导致拒绝服务来攻击比特币 互联网. 受限语言可防止交易激活机制被用作薄弱环节。

比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗_t币和比特币是一样吗

比特币脚本语言是图灵完备的吗_莱特币和比特币是通用货币吗_t币和比特币是一样吗

喜欢姐姐的声音就关注我吧

过去精选: