专栏首页华仔的技术笔记Ethereum架构的分析

Ethereum架构的分析

架构.jpg

顶层架构设计上

区块链可以简单的分为三个层次,协议层、扩展层和应用层。其中,协议层又可以分为存储层和网络层,它们相互独立但又不可分割。

以太坊最上层的是DApp,它是整个区块链的展示层,通过Web3.js和智能合约层进行交换,如以太坊使用的是truffle和web3-js,区块链的应用层可以是移动端,web端,或是是融合进现有的服务器,把当前的业务服务器当成应用层。

所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC(Remote Procedure Call Protocol,远程过程调用直观说法就是A通过网络调用B的过程方法)。

在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)。

blockchain.png

从数据结构来看

协议层,是最底层的技术。这个层次通常是一个完整的区块链产品,类似于我们电脑的操作系统,它维护着网络节点,仅提供Api供调用。网络编程、分布式算法、加密签名、数据存储技术等4个方面,分布式算法基本上属于业务逻辑上的实现,什么语言都可以做到,加密签名技术是直接简单的使用,数据库技术也主要在使用层面。

存储层:一个区块(Block) + 链表及区块链数据结构。以太坊中使用的数据库是levelDB。

网络层:p2p网络,P2P网络的实现和并发处理才是开发的难点,所以对于那些网络编程能力强,对并发处理简单的语言,Nodejs开发区块链应用,逐渐变得更加流行,Go语言就开始很火了。

共识层:也就是激励层,通过挖矿机制,制定区块链的获取货币的方式。比如比特币用的是POW(Proof of Work工作量证明机制):电脑的性能越好,越容易获取到货币奖励。还有POS(Proof of Stake权益证明机制):类似于众筹分红的概念,会根据你持有的货币数量和时间,给持有者发放利息。

扩展层:

类似于电脑的驱动程序,以太坊中这部分包括了EVM(以太坊虚拟机)和智能合约两部分。是为了让区块链产品更加实用,比如以太坊的“智能合约”的概念,这是典型的扩展层面的应用开发。

合约层:以往的区块链是没有这一层的。所以最初的区块链只能进行交易,而无法用于其他的领域或是进行其他的逻辑处理。但是合约层的出现,及智能合约”就是“可编程合约”,或者叫做“合约智能化”,其中的“智能”是执行上的智能,也就是说达到某个条件,合约自动执行使得在其他领域使用区块链成为了现实。

应用层:

类似于电脑中的各种软件程序,区块链的展示层。DAPP产品其实也是这个层面的应用,将智能合约发布到区块链上,人们通过地址对这个区块进行访问继而和智能合约交互,以太坊使用的是truffle和web3-js.区块链的应用层可以是移动端,web端,或是是融合进现有的服务器,把当前的业务服务器当成应用层。基于此开发的DAPP其实就是在智能合约基础上封装了一层Web应用,发行代币等都是在这个层面,通过DAPP提供的Web应用和智能合约交互。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 以太坊白皮书(原版译文)以太坊(Ethereum ):下一代智能合约和去中心化应用平台

    rectinajh
  • Ethereum的理解

    rectinajh
  • 一些基本比特币概念

    rectinajh
  • 以太坊、EOS、Hyperledger、Cosmos和Cardano等区块链的比较

    不同的区块链智能合约和区块链技术现在风靡一时。越来越多的人出于某种原因试图进入这个神奇的世界。如果你是这项技术的新手并正在寻找基于区块链的开发平台的快速入门,那...

    笔阁
  • 如何面试中判断区块链以太坊工程师是否优秀 原

    对优质区块链开发人员的需求很大,这是有充分理由的。区块链和ICO领域在过去几年中爆炸式增长。越来越多的人试图进入并在该领域中扬名立万。但是,为了获得成功,他们拥...

    笔阁
  • 1分钟链圈 | JPM Coin不是加密货币;比特币宜晚上交易;“以太坊2.0”今明两年不会来

    据bitcoinexchangeguide报道,根据CoinMap的数据,自2013年12月以来,全球接受比特币(BTC)的商店和商家的数量增长了约700%。目...

    区块链大本营
  • 区块链开发实战:如何从零打造一个去中心化应用

    区块链大本营
  • 用对这30种秘密武器, 你也能成为区块链高手!

    本文将对区块链开发使用的技术、工具、语言、平台做一次全景扫描,并对其应用状况进行分类。点评来自迅雷链总工程师来鑫,京东区块链JD Chain首席架构师黄海泉,百...

    区块链大本营
  • 如何招聘完美的以太坊开发者

    对优质区块链开发人员的需求很大,这是有充分理由的。区块链和ICO领域在过去几年中爆炸式增长。越来越多的人试图进入并在该领域中扬名立万。但是,为了获得成功,他们拥...

    搜云库技术团队
  • 以太坊发展简史

    一起来看看以太坊都经历了哪些升级或分叉, 他们都发生的时间在什么时间,加入了哪些特性。

    Tiny熊

扫码关注云+社区

领取腾讯云代金券