区块链|以太坊学习笔记(一)—基本概念与体系结构

介绍了区块链2.0的特征、以太坊关键支撑技术(非对称加密、散列算法、共识机制、P2P机制、以太坊虚拟机(EVM)、智能合约编程语言(Solidity)、最后介绍了以太坊的6层体系结构。
通过本节介绍读者对以太坊的基本概念和支撑技术以及体系结构会有基本概念。
一、区跨链2.0特征
1、支持智能合约
2、交易速度更快
通过采用PBFT(实用拜占庭容错)、POS(权益证明)、DPOS(分布式权益证明)等信的共识机制,峰值3000TPS(每秒处理交易数)。
3、支持信息加密
【区块链|以太坊学习笔记(一)—基本概念与体系结构】可以通过智能合约对发送和接收的信息进行自定义加密和解密。
4、绿色环保
相对比特币使用算力(每天耗电2000MWh),采用上述共识机制不再需要耗电达成共识。
二、以太坊关键支撑技术
1、非对称加解密
(1) 包括两个钥匙:公钥和私钥。公钥和私钥是一对,公钥加密只有对应私钥才能解密;如果用私钥对数据加密,只有对应公钥进行解密。加密和解密用的不同秘钥,故此称为非对称加密算法。
(2) 区块链使用非对称加密来建立用户的账户,并对交易和消息签名和签收。
2、散列算法
(1)是一种单向密码体制,它是一个从明文到密文不可逆映射,只有加密过程,没有解密过程。
(2)散列函数可以将任意长度的输入经过变化后得到固定长度的输出(这个输出称为:散列值)。
(3)散列值是唯一的,找不到两个不同的输入,但散列值相同。
(4) 散列算法在区块链中获得了广泛的应用,如区块、交易的编号(地址)和内容验证、共识机制中挖矿节点对随机数的搜索与区块散列验证。
(5)常见的散列算法有SHA1 、SHA256 、SHAS512 , 在以大坊中就运用了SHA256 。
3、P2P网络
(1)即对等计算机网络, 是一种在对等者( peer )之间分配任务和工作负载的分布式应用架构, 是对等计算模型在应用层形成的一种组网或网络形式。
(2)在此网络中的参与者既是资源、服务和内容的提供者( Server ),又是资源、服务和内容的获取者( Client ) 。
(3)区块链网络就是一个P2P网络,每个区块链网络节点就是一个Peer。
4、共识机制
(1)共识机制是区块链事务达成分布式共识的数学算法。
(2)区块链系统对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制” 。
(3)区块链常用的共识机制主要有工作量证明( POW )和权益证明( POS )等。
5、以太坊虚拟机( Ethereum Virtual Machine, EVM )
由以大坊客户端软件提供的具有完整系统功能,可灵活支持各类去中心化应用的代码执行环境。
开发人员使用高级编程语言创建运行在EVM上的应用程序。
6、智能合约语言-Solidity
Solidity是以大坊中用于编写智能合约的面向对象的程序设计语言。Solidity 可用于各类区块链平台智能合约的实现编程。Solidity是一种类JavaScript语言,支持图灵完备的程序代码设计。

三、以太坊体系结构
从体系结构上来看,以太坊共包括6层结构,以太坊通过6层技术架构的清晰分工协作,有效地保证了区块链技术体系的系统性、完整性、灵活性与开放性,将为区块链技术不断发展、演变和广泛应用奠定坚实的基础。
区块链|以太坊学习笔记(一)—基本概念与体系结构
文章图片

1、数据层 以太坊数据层是一个“区块”+“链”的数据结构,本质是一个分布式区块链,以非对称加解密、散列计算等技术为基础,确保一个区块链数据账本决定一个网络, 每个区块链的数据不易篡改。
2、 网络层 以太坊网络层遵循P2P协议,确保网络的开放和稳定服务,互联网用户的自由、平等参与和区块链数据的同步等。
3、共识层 共识层决定区块链的记账权获取机制。采用POW ,电脑的性能越好,封装区块越容易成功并获得“虚拟币”奖励;采用POS,类似股份公司股权的概念,会根据持有的“虚拟币”数量和时间,由“股权”拥有者按其“ 权益”比例获得区块封装权利, 并根据封装区块获得挖矿奖励。
4、激励层 激励层即以太坊的挖矿机制,是对为网络提供计算及验证服务的矿工的奖励措施。当前以太坊对成功封装并被网络确认一个区块的奖励是系统通过增发授予矿工5个“虚拟币”,同时矿工获得当前区块所有交易所发送的燃料。此外,以太坊对成功挖矿并成功封装区块但未被纳入主链的“叔区块”也有奖励, 奖励金额为正常区块的8 7.5 % 。
5、合约层
合约层的出现,使得在“虚拟币”以外的其他领域使用区块链有了可能,比如用于物联网( IOT ) 。在以太坊中,本部分包括了以太坊虚拟机和智能合约两个组成部分。
6、应用层 区块链的展示层与业务层,以太坊通过使用Web3等应用接口,使各类应用与区块链集成, 区块链的应用层可以是移动端、Web端,或是直接融合进现有的业务服务器, 把当前的业务服务器当成应用层。

(本节完)
下一节以太坊学习笔记(二)—-以太坊工作原理

    推荐阅读