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