- A+
区块链是一个分布式计算架构,每一个网络节点都执行并记录相同的交易信息,并把结果打包到块(block)中。同一时间只有一个块可以被添加,每一个块都包含通过前一个块计算出来的数学证明。以这种方式,整个网络中的数据块数据库都会保持一致。个人用户以强大的加密技术与账本进行交互。网络通过奖励机制来促进每个节点维护和验证的行为。
在比特币中,分布式数据库被设计成账户余额表,或者叫做账本,个人之间通过比特令牌的转移来进行交易。
在2013年底,以太坊的创始人Vitalik Buterin提出,区块链上层加入可编程功能可以用来构建很多其他的项目。在2014年,以太坊的创始人Vitalik Buterin,Gavin Wood 和Jeffrey Wilcke有雄心实现下一代区块链技术,实现一个图灵完备的智能合约平台。任何人都可以在这个平台上构建和使用基于区块链技术的分布式应用。
以太坊是一个可编程的区块链,而不是给用户提供一组预设的操作(比如:比特币交易)以太坊允许用户创建任意复杂度的操作。在这种方式下,区块链就成为一个分布式应用的平台,可以实现但不局限于加密货币。
狭义上,以太坊是一套可以实现分布式应用的平台协议。它的核心是可以执行任意复杂算法的以太坊虚拟机(EVM)。在计算机科学方面,以太坊是图灵完备的。开发人员可以使用现有的语言(如:Javascript和Python)方便地创建运行于EVM上的应用程序。
以太坊也包含一套P2P协议,以太坊区块链数据由网络上的节点进行维护和更新。网络上的每一个节点都运行着EVM并执行相同的指令。因这个原因,以太坊经常被描述为“世界电脑”。
以太坊网络中大规模的并行计算并不是为了计算更高效,事实上,这个过程让计算速度比传统的计算更为低效。另一方面,以太坊中的每一个节点都运行EVM目的是保持整个区块链的共识。分散式的共识机制给予了以太坊极其高的容错能力,确保零宕机,并且使存储于区块链的数据永远不可更改并且可被审查。
以太坊平台本身是无特征的或无价值的。类似于编程语言,由企业和开发者决定应该如何使用。然而,很明显某种类型的应用程序更能从以太坊平台上获得收益,具体来说,以太坊更适用于自动化对等体之间直接交互或通过网络来协调的应用程序,例如:p2p的市场应用或复杂金融合同的自动化。比特币允许个人不通过像银行、金融机构或政府等第三方担保进行现金交换业务。以太坊等影响可能更加深远,理论上可以在以太坊之上运行代码,自动可靠地执行任何复杂性等财务交互或交换。除了金融方面,任何依赖于信任、安全和永久性的情景,都会受到以太坊平台的巨大冲击。