前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ethereum架构的分析

Ethereum架构的分析

作者头像
rectinajh
发布2018-05-17 16:30:09
1.6K0
发布2018-05-17 16:30:09
举报
文章被收录于专栏:华仔的技术笔记

架构.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应用和智能合约交互。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 顶层架构设计上
  • 从数据结构来看
    • 扩展层:
      • 应用层:
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档