专栏名称: 春来冬往
春来冬往,冬去春来
目录
相关文章推荐
营销案例精选  ·  金佰利发起全球媒体与创意比稿,价值上亿美元 ·  昨天  
发财老博士  ·  嘎嘎!杀疯了!! ·  3 天前  
发财老博士  ·  嘎嘎!杀疯了!! ·  3 天前  
顶尖广告  ·  被劳斯莱斯一句广告词暴击5次?反转来了! ·  5 天前  
樊登读书  ·  双11大捡漏!「买一送一」回归!速抢!! ·  1 周前  
樊登读书  ·  双11大捡漏!「买一送一」回归!速抢!! ·  1 周前  
51好读  ›  专栏  ›  春来冬往

一文读懂区块链之 - 什么是图灵完备

春来冬往  · 公众号  ·  · 2017-09-22 19:57

正文

我们在看到区块链或比特币、以太坊相关的资料的时候,总是看到资料会提到,比特币不是图灵完备的,以太坊是图灵完备的。


那么,图灵完备是什么意思呢?


要解释清楚这个概念其实并不容易,需要读者了解很多其他的概念,如自动机、状态机等,但本文不会长篇大论对这些概念都去介绍,而是用尽量最简单的语言,使读者有一个简单的概念。


最简单的说法是,图灵完备意味着你的系统可以做到图灵机能做到的所有事,即可以解决所有的可计算的问题。


简单的理解就是,如果一个语言是图灵完备的,需要该语言支持循环语句,支持分支语句,支持循环和递归,理论上可以解决任何算法,但也有可能进入死循环而导致系统崩溃。


那么图灵不完备,就是限制了循环或者条件判断或递归,可以保证系统的每段程序都不会陷入死循环,都会有运行结束的时候。


所有的通用编程语言和现代计算机的指令集都是图灵完备的,也是当前这些通用语言或指令“可用”的最基本要求。


比特币脚本不是图灵完备的,因为它没有条件判断语句,不能执行循环,也不会产生递归。

以太坊是图灵完备的,因为它支持刚刚提到的这些特性,这可能也是使以太坊迅速发展壮大原因之一吧。


但这并不是说图灵不完备就是不好的,而是各有各自的运行场景,各自满足了各自的某方面的需求。


比如从2008至2009年面世起,图灵不完备的比特币,已经近乎完美地运行了近十年,几乎没出过什么大的问题,也已经成为了目前市值最大的虚拟货币。


当然了,图灵完备只保证计算的可行性,但不会保证计算的效率,也不保证编程语言的可理解性和可维护性等。


就像比特币,虽然是图灵不完备的,但是为了解决安全性、重复支付等问题,采用了POW模式(挖矿),每秒只支持7笔左右的交易,这使它目前几乎不可能成为一个通用的支付工具,因为用的人一多起来,比特币网络就被卡成翔了,转一次币几天到不了账的情况也不是没有发生过。


而图灵完备的以太坊虽然处理交易的速度比比特币快得多,但在status众筹的时候依然卡得让人想捶电脑。


另外,也不是所有问题都是图灵完备就可以解决的,这里不再深入展开,有兴趣的读者可以自行探索,也欢迎随时与交流。