区块链学习之以太坊

如果说比特币是区块链1.0的产物,那么以太坊就可以看做区块链2.0的代表,即实现了将区块链技术应用于数字货币之外的领域之中。

那什么是以太坊?

以太坊(Ethereum)的目标是打造一个运行智能合约的去中心化平台(Platform for Smart Contract),平台上的应用按照程序设定运行,不存在停机、审查、欺诈、第三方人为干预的可能。智能合约开发者可以再其上使用官方提供的工具,来开发支持以太坊区块链协议的应用(即所谓的DAPP)。

1

以太坊的特点

作为一个可编程、可视化。更易用的区块链,以太坊允许任何人编写智能合约和发行代币,其特点主要包括:

1、单独为智能合约指定编程语言Solidity;

2、使用了内存需求较高的哈希函数:避免出现算理矿机;

3、uncle块激励机制:降低矿池的优势,减少区块产生间隔为15秒;

4、难度调整算法:一定的自动反馈机制;

5、gas限制调整算法:限制代码执行指令数,避免循环攻击;

6、记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端;

7、为执行智能合约而设计的简化的虚拟机EVM。

2

ETH的核心:以太坊虚拟机(EVM)

以太坊狭义上是指一系列定义去中心化应用平台的协议,它的核心是以太坊虚拟机,其主要工作是执行智能合约的字节码。开发者可以使用类似于现有的JavaScript和Python等语言为模型的其他友好的编程语言,创建出在以太坊模拟机上运行的应用。

和其他区块链一样,以太坊也有一个点对点网络协议。以太坊区块链数据库由众多连接到网络的节点来维护和更新。每一个网络节点都运行着以太坊模拟机并执行相同的指令。因此,人们有时形象地称以太坊为“世界电脑”。

3

以太坊的架构

一般情况下,区块链由六层结构组成,即:

数据层、网络层、共识层、激励层、合约层、应用层。

数据层:是一个区块+链表的数据结构,本质是一个分布式区块链;

网络层:p2p网络;

共识层:制定区块链的获取货币的机制。比如比特币用的是PoW(Proof of Work 工作量证明机制):电脑的性能越好,越容易获取到货币奖励。还有PoS(Proof of Stake 权益证明机制):类似于众筹分红的概念,会根据你持有的货币数量和时间,给持有者发放利息。当然还有其他的机制,如PBFT(拜占庭容错)等

激励层:挖矿机制;

合约层:合约层的出现,使得在其他领域上使用区块链成为了现实,比如用于IOT。以太坊中这部分包括了EVM和智能合约两部分。

应用层:区块链的展示层。如以太坊使用的是truffle和web3.js。区块链的应用层可以是移动端,web端,或是融合进现有的服务器,把当前的业务服务器当成应用层。

4

以太币(ETH)和比特币(BTC)

以太币作为以太坊体系中的流通货币,经过4年的发展,已成为仅次于比特币的第二大虚拟货币体系。ETH和BTC之间的区别主要有以下几个方面:

1、代币总量:比特币是固定的2100万枚,而以太币初期发售是6000万枚,但每年会增发1500万枚左右。

2、发行机制:比特币是每四年减半,而以太币是固定值。

3、区块时间:比特币是每10分钟出一个区块,以太坊则是12-15秒出一个区块。

4、区块奖励:比特币的区块奖励是12.5个,而以太坊则是5个。

5、挖矿收益:比特币矿工的收益包括挖矿的奖励以及在区块中的交易所产生的手续费。以太坊的收益来源除了挖矿的收益,还包括引用最近两个叔块的奖励,以及区块中运行合约的Gas。

作者简介

007写作者,终身践行者;践行用小步快跑、快速迭代的互联网思维打造小而精的人生。

长按加关注!

成长是种状态,更是种心态!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180520G1GHEK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

同媒体快讯

扫码关注腾讯云开发者

领取腾讯云代金券