这个以太坊,可以认为是一个数据库状态机,每个块就是一个数据库的快照,即数据库的一个状态,这个状态机的输入呢就是交易;每次块打包的那些交易都都会导致数据库进入一个新的状态。这个状态机有一个特点是,只能一直向,就是形成一条链,不会形成闭环,所以我们叫它区块链。

总结一下,我认为可以把以太坊称之为数据库状态机。

第二部,我们把这个系统进行一下分层,分别看一下每一层有啥作用。

dapp层:智能合约,就是区块链上的分布式应用程序。

共识层:共识算法层,例如以太坊现在是pow,通过共识算法,可以使用整个网络达成一致的共识,使系统状态保持一致。

P2P:以太坊的网络层,kademlia协议。

EVM:对交易进行解析,然后存储到数据库中,更新以太坊系统的状态。

存储:系统的存储模块,存储系统的状态,随着交易的不断发生,状态更新,存储的内容也在不断更新。存储会有快照,因为区块链会有分叉或者contract解析出现错误,都会导致状态的回滚。

EVM的作用其实就是对交易和智能合约进行解析,把各种更新到数据库;可以认为EVM就是状态机的核心,更新状态用的;存储只是用来存储状态的;

以太坊 什么是以太坊相关推荐

  1. 以太坊是什么 - 以太坊开发入门指南

    本文首发于深入浅出区块链社区 原文链接:以太坊是什么 - 以太坊开发入门指南 很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及 ...

  2. 《我学区块链》—— 十九、以太坊安全之 以太坊浏览器Mist漏洞

    十九.以太坊安全之 以太坊浏览器Mist漏洞 2017年12月15日,以太坊基金会发布消息显示,以太坊浏览器 Mist 有可能导致私钥被盗的风险,这一漏洞被定义为非常严重,所有版本的 Mist 都会受 ...

  3. geth 以太坊钱包_以太坊Geth节点RPC API中文文档

    Geth除了支持官方的DApp API开发接口,还支持额外的管理API接口.类似于DApp API,这些管理API也是通过JSON-PRC协议提供,并且遵循同样的规范.Geth内置的控制台支持所有这些 ...

  4. 以太坊白皮书_以太坊发展历程

    2013年 年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,在全球的密码学货币社区陆续召集到一批认可以太坊理念的开发者,启动了项目. 2014年 2月,Vitalik在迈阿密比 ...

  5. api php usdt 以太坊_php调用以太坊geth API说明

    上一篇我们开始ph以太坊环境构建,并做了一些基本的API调用. 这次我想再挖一下API的调用. 1.上次的补充 2.关于API的种类 3.从PHP调用 1.上次的补充 上一次,说明了geth的开始选项 ...

  6. 以太坊概述和以太坊账户(一)

    以太坊概述 比特币和以太坊是两种最主要的加密货币 比特币被称为区块链1.0,以太坊被称为区块链2.0 以太坊的设计上针对比特币的运行过程中出现的一些问题进行了一些改进, 说出块时间,比特币的区块时间是 ...

  7. 以太坊导以太坊导_以太坊网络钓鱼诈骗在Facebook上的剖析

    以太坊导以太坊导 One of the things that scares me about wide-spread blockchain adoption are phishing scams t ...

  8. 使用C# 和基于.Net的以太坊库Nethereum以太坊及智能合约交互实战篇(一)

    官网:Nethereum官网 Github地址:Github上的Nethereum库 简介: Nethereum是用于Ethereum的.Net集成库,可简化智能合约管理以及与以太坊节点的交互,无论这 ...

  9. 以太坊是什么——以太坊创始人 Vitalik Buterin 的亲自解答

    简而言之,以太坊(Ethereum)是将比特币中的一些技术和概念运用于计算领域的一项创新.比特币被认为是一个系统,该系统维护了一个安全地记录了所有比特币账单的共享的账簿.以太坊利用了很多跟比特币类似的 ...

最新文章

  1. git init 会不会清空_Git命令:git pull amp; git fetch
  2. office技巧——编号与文字之间的空白大小调整
  3. BCB key事件中判断Shift、Alt、Ctrl状态
  4. 一个docker镜像中的目录删除不了问题
  5. 关于MySQL的SLEEP(N)函数
  6. 9.4-6 kill killall pkill
  7. netflix数据处理2(转)
  8. ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
  9. vSAN其实很简单-如何处理“vSAN磁盘写满”问题?
  10. Leetcode二叉树递归:563.binary-tree-tilt(二叉树的坡度)
  11. Android之仿ele地图定位效果
  12. 记录一次挖坑过程,idea git 代码分支合反了,如何补救
  13. 华为linux服务器系统安装,linux服务器系统安装
  14. Android多开/分身检测
  15. 微信小程序圣诞帽_完成圣诞快乐Web应用程序界面
  16. Unity动画系统-配置Avatar
  17. 怎样获取Atlantic免费一年的VPS主机
  18. [虚拟机][linux]虚拟机VMware桥接模式无法上网问题
  19. 在WPS表格里制作连接到openGauss的实时刷新报表
  20. Excel 中如何去掉数值中出现的 E +,网上的方法都试过了不管用,改变单元格格式等都无效

热门文章

  1. 计算机网络之GBN协议
  2. 【WebGIS】JavaScript地理坐标的转换:GCJ-02火星坐标系和WGS-84坐标系转换关系
  3. 短暂人生,我们可以这样活!(二)
  4. 算法之路,带你轻松学废算法系列之字符串匹配(中)
  5. word格式转换成pdf格式转换器
  6. Pandas 秘籍:1~5
  7. Java BIO NIO
  8. php对象如何转化为数组,php如何将对象转换为数组
  9. mysql数据库计数器_简单易用的计数器(数据库)
  10. 公示后需要注意的事情