01.什么是以太坊
什么是以太坊¶
- 全球的去中心化计算架构
- 执行成为 智能合约 的程序
- 它使用区块链来从同步和存储系统 状态,
-
ether 加密货币来计量和约束执行资源成本
-
去中心化应用程序可以减少或消除审查机构,第三方接口和对手方风险。
与比特币的比较¶
区块链的组件¶
开源、公开的区块链通常包括以下组件:
- 一个连接参与者,并传播交易和包含已验证交易的区块的点对点网络,基于标准的“gossip“协议。
- 状态机中实现的一系列共识规则。
- 消息,以交易的形式表示,代表状态转移。
- 根据共识规则处理交易的状态机。
- 分布式数据库,区块链,记录所有状态转移的日志。
- 共识算法(例如,Proof-of-Work),通过强制参与者竞争并使用共识规则约束他们
- 上述内容的一个或多个开源软件实现。
所有或大部分这些组件通常组合在一个软件客户端中。
限定词来帮助我们理解这些区块链的特征,例如 开源,公开,全球,分散,中立和抗审查等,以确定这些组件给予“区块链”系统的重要涌现特征。
并不是所有的区块链都是相同的。当你被告知某样东西是区块链时,你还没有得到答案,你需要问很多问题来澄清“区块链”是什么意思。首先询问上面组件的描述,然后询问这个“区块链”是否显示了 开源、公开 等特性。
以太坊的开发¶
以太坊的目标和构建在很多方面都和之前的开源区块链有所不同,包括比特币。
以太坊的目的主要不是数字货币支付网络。但数字货币_ether_对于以太坊的运作来说既是不可或缺的也是必要的,以太也被视为一种_实用货币_来支付以太坊平台的使用。
与具有非常有限的脚本语言的比特币不同,以太坊被设计成一个通用可编程区块链,运行一个_虚拟机_,能够执行任意和无限复杂的代码。
以太坊:通用的区块链¶
以太坊也是一个分布式状态机。但是,不仅仅追踪货币所有权的状态,以太坊追踪通用数据存储的状态转换。通常我们指的是任何可以表示为 键值对 key-value tuple_的数据。键值数据存储简单地存储任何通过某个键引用的值。例如,存储由“Book Title”键引用的值“Mastering Ethereum”。在某些方面,这与通用计算机使用的 _Random访问存储器(RAM) 的数据存储模型具有相同的用途。以太坊有 memory 存储代码和数据,它使用以太坊区块链来跟踪这些内存随着时间的变化。就像通用的存储程序的计算机一样,以太坊可以将代码加载到其状态机中并运行该代码,将结果状态更改存储在其区块链中。与通用计算机的两个重要差异在于,以太坊状态的变化受共识规则的支配,并且状态通过共享账本全球分布。以太坊回答了这样一个问题:“跟踪任何状态并对状态机进行编程,以创建一个在共识之下运行的全球计算机会怎样?”。
¶
从通用区块链到去中心化应用 (DApps)¶
DApp至少是一个智能合约和一个web用户界面。更广泛地说,DApp是一个基于开放的,去中心化的,点对点基础架构服务的Web应用程序。
DApp至少由以下部分组成:
- 区块链上的智能合约
- 一个Web前端用户界面
另外,许多DApp还包括其他去中心化组件,例如:
- 去中心化(P2P)存储协议和平台。
- 去中心化(P2P)消息传递协议和平台。