Java编程

什么是区块链中的图灵完备

价值可编程是分布式总账技术的一个重要的本质属性,直接决定平台对业务逻辑的表达能力,具体体现在“智能合约”上面。比特币BTC的内置脚本表达能力是极为有限的,所以比特币的脚本系统是图灵不完备的。瑞波XRP目前不支持智能合约。比特股的智能合约在运用上有很多限制,并不能自定义,因此仍然是图灵不完备的。而以太坊支持智能合约且达到“图灵完备”程度。夸张点的话,我们可以归纳为大部分拥有智能合约的Token,系统都是图灵完备的。

什么是区块链中的图灵完备

所以我们从本质上看智能合约,应该理解为一种预制的规则。从合约上,它是法律合约吗?不是,它是预制规则。从智能上,它非常智能吗?不是,有限的可编程性。从完备性上,它不是图灵完备的,更多的是采取非图灵完备的方式,比如一个法律条文,里面有无限的循环肯定是不行的,法律条文或者规则越清楚、越明确、越简单越好。从交互性上,它也不适合访问外部参数,它不是一个节点去执行,而需要上万个节点都去执行。

大家好,我是柯南,在之前介绍以太坊的视频中提到,V神在白皮书中描绘了以太坊的愿景,要打造一个新的图灵完备的区块链平台,让所有的开发者都能在这个平台上开发自己的区块链应用程序。做个类比,比特币就像是诺基亚,是功能机;而以太坊就像是IPhone,是智能机,可以在上面开发各种各样的应用。 那说到图灵完备这个词,可能有些朋友要懵逼了。说的简单些,能进行各种复杂编程计算的平台就是图灵完备的。说到这里,也少不了说一个人,没错,就是伟大的数学家、逻辑学家图灵。 图灵,1912年生于英国伦敦。二战爆发前夕,德国人采用了新式的密码机,这让英国人很头痛。那是一个动荡的年代,图灵决定为国服环华娱乐役,破译密码机。这么做不是因为他有多爱国,作为一个彻头彻尾地自由主义者,他一点不觉得哪个政府值得自己献身。他想的是,谋到一个好差事,不至于到战壕里当炮灰。由于破译工作的需要,他参与了世界上最早的电子计算机的研制工作,后协助军方破解了德国新式的密码机,帮助盟军取得了二战的胜利。因此,他也被称为计算机科学之父,人工智能之父。这一期视频就和大家深度聊一聊图灵完备。 图灵完备,在可计算性理论中,编程语言或任意其他的逻辑系统如果具有等用于通用图灵机的计算能力。也就是说,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机等)可以用来模拟单带图灵机,那么它就是图灵完备的。虽然图灵机会受到存储能力的物理限制,图灵完全性通常指具有无限存储能力的通用物理机器或编程语言。简单来说,一切可计算的问题都能计算,这样的虚拟机或者编程语言就叫图灵完备的。当然,图灵完备也可能因为陷入死循环而导致程序崩溃。因为图灵完备保证的是计算的可行性,但并不保证计算的效率及代码的可理解性、可维护性。 一个图灵完备系统意味着在这个系统中写程序能够找到解决方法(尽管不保证运行时和内存)。在某些场景中图灵完备需要限制语言,有循环执行语句,判断分支语句等。因此,如果有人说,我的新东西是图灵完备的,意思是在原则上(尽管不是经常在实践上)它能够用来解决任何计算性的问题。这里举个例子,比如有人讲,我的东西是图灵完备的,也就是意味着在理论上这个东西能够用来解决任何计算性的问题。 与图灵完备相反的就是图灵不完备,图灵不完备指不允许或限制循环。也就是可以保证每段程序都不会死循环,都有运行完的时候。那图灵完备和图灵不完备各有其优势,图灵不完备会更安全些,图灵完备会更智能些。为什么这么说呢? 循环或递归受限、无法实现数组或更复杂的数据结构等都会影响图灵完备的实现。图灵完备的智能合约有较强的适应性,可以对逻辑较复杂的业务操作进行编程,也就是更加智能,但却有陷入死循环的可能。相较之下,图灵不完备的智能合约虽然不能进行复杂的逻辑操作,但更加简单、高效、和安全。 价值可编程是分布式总账技术的一个重要的本质属性,直接决定平台对业务逻辑的表达能力,具体体现在“智能合约”上面。比特币BTC的内置脚本表达能力是极为有限的,所以比特币的脚本系统是图灵不完备的。瑞波XRP目前不支持智能合约。比特股的智能合约在运用上有很多限制,并不能自定义,因此仍然是图灵不完备的。而以太坊支持智能合约且达到“图灵完备”程度。夸张点的话,我们可以归纳为大部分拥有智能合约的Token,系统都是图灵完备的。

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注