智能合约初探

什么是智能合约

新技术的诞生总会带来一堆概念,理解了这些概念才能看懂技术本身。区块链就带来了智能合约的概念。

智能合约初探_第1张图片
图片发自App

有些合约,比如公司合同,需要人为判断,人为审批,人为执行,特别是国企里签一份合同,付一笔款,流程会走得你吐血。

有些是自动执行的合约,比如马路边的自动售货机就是写好了合约(选饮料-付钱-出饮料),并自动执行。小区里的收货快递柜也类似,写好了合约(输验证码-开柜拿货-关门结束),并自动执行。

自动执行的合约能提高效率,但解决不了信任问题,账目不透明,数据很容易被篡改,依(yang)靠(zhe)权威机构成本高昂。

区块链提供了一个公开透明且不可篡改的账本,在区块链之上执行合约会大大减少人力成本,减少信任的成本。

智能合约是利用区块链记录数据,并自动触发执行的协议。

智能合约有句口号“code is law”,它一旦签订,就会义无反顾地执行。


智能合约初探_第2张图片
图片发自App

比特币、以太坊、EOS的智能合约功能

比特币中有个很巧妙的设计,让你不仅能支付比特币给别人账户,还能支付给一段代码(听起来非常极客吧),具体详情参考《精通比特币》一书。比特币给出了智能合约的雏形,但只局限在货币支付领域,很难扩展到复杂的合约中。

以太坊天生就是为了执行智能合约而设计的。在以太坊中发行Token让区块链在2017年火了一把,还衍生出Token经济学的说法。但以太坊的效率问题严重限制了智能合约真正商用,曾被一只“猫”卡死了。

EOS是为了智能合约商用而生,采取“多中心化”而不是“去中心化”的方式解决效率问题。系统目前还未上线,潜力无限,很可能会让智能合约广泛落地。

智能合约编程学习

一个领域是不是未来趋势,有个方法,就是看优秀的人和公司是不是往那里聚集。目前虽然没有杀手级的应用,但各大互联网公司都在布局区块链,能写智能合约代码的优秀程序员被抢破头,可见码农改变世界的机会又来了。有个学习智能合约编程的网站cryptozombies,有一点编程经验就能轻松入门智能合约。

CryptoZombies是个在编游戏的过程中学习Solidity智能协议语言的互动教程。

为了完成教程中的僵尸游戏,有一大堆逻辑要处理,教程把智能合约语言solidity的语法都拆分到每节课中。

智能合约初探_第3张图片
图片发自App

左边的知识栏提供了完成作业的必要知识,学完后马上在右边编程完成作业。每课都比较简单,作业提供了即时学习反馈,结束一节lesson后可以感觉到学了很多。特别是看着自己写的长长的代码和增长的进度条,成就感很强烈。

除了cryptozombies智能合约教程,还有很多知识要学,下面是一些资料(将持续更新):
深入浅出区块链
EOS智能合约
DAPP介绍

对智能合约的一点思考

智能合约一旦部署很难再修改,有时需要绝大部分区块链节点达成共识才能修改。这是优势也是劣势。优势在于合约不会被少数作恶者破坏,每个节点都是平等的。劣势是在部署之前要仔细检查代码,但代码是人写的,人就是会犯错。曾经DAO事件中,代码漏洞让以太坊接近崩溃。

在区块链上部署智能合约不像普通软件,一有问题就更新升级,而更像是硬件,出厂前需要仔细检查,一有问题很难召回。一个智能合约的漏洞会使得用户损失资金,毁坏开发者的声誉。

智能合约通过区块链技术解决了合约中最重要的信任问题,虽然也带来了一些问题,但发展才能解决发展中的问题。智能合约时代的到来,你可以两耳不闻,当做什么都没有发生,也可以保持学习,增长一个新维度上的认知。这两种人会进化成完全不同的生物,虽然都是人类。是否会打字,是否会用搜索引擎,是否会用英文,是否会写作,都把人塑造成完全不同的生物。又到了一个分叉路口,你选哪个方向进化?

你可能感兴趣的:(智能合约初探)