区块链技术研究区块链学习

【原创】(刘胜)图灵完备的智能合约不是区块链的必由之路

2018-08-16  本文已影响42人  大圣2017

2018-08-02 石榴区块链B16视频 刘胜 | 首席架构师的颠覆观点:图灵完备的智能合约不是区块链的必由之路 | 梳理编辑:赵黎 | 视频制作:于戈

活动行 B16 Talk:区块链的新启蒙时代(6月16日)
活动行 B16 区块链思想节:开启区块链的新启蒙时代(7月16日) <<<
活动行 B16 区块链思想节:开启区块链的新启蒙时代(8月12日)

image.png

关于区块链1.0、2.0、3.0的概念,最早在《区块链:新经济蓝图及导读》一书中提出。本书把比特币为代表的密码学数字货币归为区块链1.0,把以太坊为代表的智能合约平台归为区块链2.0,而对于区块链3.0并没有给出严格的定义,只说了“超越货币、经济、市场”的公证类应用和协作类应用。

对于区块链3.0是什么,我们先不讨论。

我们发现一个现象,目前很多已上线的公有区块链(简称公链)都说自己是区块链3.0。这其中就隐含一个假设,即大家默认了区块链3.0是包含区块链2.0的。而区块链2.0的代表——以太坊(Ethereum),其作为“下一代智能合约和去中心化应用平台”,最大的特点就是支持图灵完备的智能合约。

换句话说,很多人潜意识就认为——“图灵完备的智能合约是区块链的必由之路”。

但这个观点正确么?

接下来刘胜讲的内容,就是要挑战这个观点!

PS:公链三大法宝——多链+智能合约+跨链

刘胜,B16思想节讲者,联动优势的首席架构师

在次之前,我们需要先了解几个概念——
● 什么是图灵完备?
● 什么是智能合约?
● 什么是图灵完备的智能合约?
这里,就不得不说到很重要的三个人物。

01 阿兰·图灵(Alan Turing)提出图灵机模型,奠定了现代计算机的理论基础

阿兰·图灵(Alan Turing)

第一个人物是阿兰·图灵(Alan Turing),他是一位英国的数学家,是现代计算机科学之父,也是人工智能之父。在二战期间,他带领同事研制出的密码破译机,可高效地破译当时德军最强大的“谜”式密码机,并在盟军诺曼底登陆等重大军事行动中发挥重要作用,被誉为二战英雄。历史学家认为,他让二战提早了2年结束,至少拯救了2000万人的生命。

1936年,他提出 “图灵机(Turing Machine)”的概念。

图灵机有点像一个水泵,一头是输入,一头是输出,除此之外,它还有一个存储器能保存一些内部状态,以及一个控制器可以读取预置程序代码并加以执行,来控制输出的结果。现在大家经常用的计算机、笔记本电脑、智能手机都是基于图灵机模型的。对于计算机来说,鼠标、键盘等都是输入设备,屏幕、声卡等都是输出设备,内存是保存内部状态的存储器,CPU就是程序控制器。其实从某种意义上来说,“人”本身,也是基于图灵机模型的。

图灵机模型的形式化解释

那么,什么是“图灵完备(Turing- Completeness)”呢?

图灵完备,就是指一切“可计算”的逻辑都能被计算

如果一个计算系统具备图灵完备性,意味着该系统功能和通用图灵机相当,可以互相模拟。

如果一个计算机语言具备图灵完备性,意味着该语言能够和通用图灵机完美结合,这也是现代计算机语言所能拥有的最高能力。

那么,什么是“可计算(Computable)”的呢?

“可计算理论”是数学的一个小分支,但它为“计算机科学”的独立发展打下了基础。

太形式化的解释,这里就不讲了,我举一个“不可计算”的例子。

比如,“今天晚上吃什么饭?”,这个问题就是不可计算的,任何计算机程序都是算不出来的,因为这里存在太多的假设。

但是,如果我们增加了足够的前提条件和判断规则,比如, “工作日晚上吃快餐面,周末在家吃米饭”、“今天7月16号是周一”、“周一是工作日”,那么,这个问题就是可计算的了,能够产生确定的结果——“吃快餐面”

02 尼克·萨博(Nick Szabo)提出智能合约概念

尼克·萨博(Nick Szabo)提出智能合约概念

第二个人物是尼克·萨博是智能合约之父。他在1994年提出“智能合约(Smart Contract)”的设想,并在1996年发表论文来阐述该概念。文中解释到,“一个智能合约就是一系列数字化形式的承诺集合,还包含一系列相关协议,以确保各参与方能够履行这些承诺”。

可以把智能合约与传统合约做一些对比。与传统合约不同的是:

这里面,最基本理念,就是要 把这些合约条款嵌入到软件或者硬件里面去。

传统合约通常都会涉及资金或资产。而典型的智能合约应用,也和数字化资金或数字化资产密切相关。

普及智能合约的障碍和新的转机

普及智能合约时存在很多障碍。

我们发现,智能合约的概念提出的前20年,智能合约在商业领域的实践几乎停滞

为很么实践严重落后于理论?至少有三个方面的障碍:

但是,比特币系统的可编程脚本存在一个严重的限制,即缺失图灵完备性。

因此,有很多人甚至认为,

“不具备图灵完备性,是比特币系统的一大缺陷(BUG)”

03 维塔利克·巴特林(Vitalik Buterin)发起以太坊项目,意图解决比特币非图灵完备的"缺陷"

维塔利克·巴特林(Vitalik Buterin)

第三个人物是维塔利克·巴特林(Vitalik Buterin),他是一个90后,17岁开始研究比特币,18岁创办了《Bitcoin Magazine》杂志,并发表了很多观点性文章,成为当时很有影响力的一位意见领袖。当他看到由于比特币系统功能过于固化,导致众多山寨币系统泛滥,因此提出要做“下一代智能合约和去中心化应用平台”,并发起了以太坊(Ethereum)项目,受到众多人追捧。

这所谓“下一代智能合约”,实际上就是“支持图灵完备的智能合约”。

一个支持图灵完备的智能合约模型,是这么样一个东西:

但是,智能合约支持图形完备性,有利也有弊。

复杂性带来恶劣的效果,就是低效和不安全。

04 安全问题是图灵完备智能合约永远的痛

我们先来看几个智能合约的安全事件:

最近,安全公司知道创宇(KnownSec)发布了《区块链安全风险白皮书(2018)》,其中一些数据显示,在2108年上半年,区块链安全事件数量及损失金额都远超之前几年的数倍甚至数十倍。从事件类型上来看,今年由于区块链自身机制导致的安全事件,其数量虽然比区块链生态要少,但金额却远超42%,而其中,区块链自生机制安全问题,智能合约的问题排在首位。

所以智能合约本质上,应该是一种预先设置好、确定的规则,而不是任意的逻辑。

05 重新理解智能合约

不同行业有不同的思维模式。

由于图灵完备的智能合约引入了太多的不确定性和安全隐患,因此它不适合比较严肃的金融场景。将智能合约用于一些不涉及“钱”的简单场景,如在线预约等,是否支持图灵完备并不重要;但是一旦用于金融场景,则需慎重、再慎重。

不同行业有不同的思维模式

根据我们的实践经验来看,将智能合约用在金融场景上,一定要做好限制、做好隔离,提升安全性和可控性。

总之我们需要重新理解“智能合约”。它是运行在区块链之上,由多方自主执行的预置规则,用于对交易进行检查和限制。

这种场景下,它不需要太“智能”,更不需要具备“图灵完备性”。

(END)

上一篇下一篇

猜你喜欢

热点阅读