区块链基本概念

形而上者谓之道;形而下者谓之器。(《周易·系辞上》)

以太坊是什么

以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。

对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用。

在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等(很多山寨币就是这样,改改就出来一个新币)。

以太坊平台对底层区块链技术进行了封装,让区块链应用开发者可以直接基于以太坊平台进行开发,只要专注于开发应用本身逻辑的智能合约,这样就可以大大降低开发难度。

目前围绕以太坊已经形成了一个最为完善的开发生态:有很多经过测试和验证的开发库、有完善的开发者文档(中文的也很多)及开发测试工具。

智能合约

那么什么是智能合约呢?以太坊网络上运行程序就称之为智能合约, 它和其他的程序一样,也是代码和数据(状态)的集合。

智能合约(Smart Contract)和人工智能(Artificial Intelligence )的智能没有关系,智能合约最早尼克萨博在95年就提出,它的概念很简单,就是将法律条文写成可执行代码。让法律条文的执行中立化,这个理念和区块链上的程序可以不被篡改、不被干预(只有有人触发交易,它将自动执行)的执行不谋而合,因此区块链引入了这个概念。

在前面介绍比特币脚本的时候,我们讲到过比特币的交易也是可以编程的,但是比特币脚本有很多的限制,能够编写的程序也有限,而以太坊程序则是“图灵完备的”,因此理论上让我们可以来编写可以做任何事情的程序。

智能合约非常适合对信任、安全和持久性要求较高的应用场景,比如:数字货币、数字资产、投票、保险、金融应用、预测市场、产权所有权管理、物联网、点对点交易等等。
目前除数字货币之外,真正落地的应用还不多(就像移动平台刚开始出来一样),相信1到3年内,各种杀手级会慢慢出现。

进一步了解智能合约,可以阅读完全了解智能合约运行原理

参考

以太坊是什么 - 以太坊开发入门指南
深入以太坊智能合约 ABI