主页 > imtoken安卓ico > 区块链 | 以太坊学习笔记(一)——基本概念与架构

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

imtoken安卓ico 2023-08-05 05:14:36

介绍了区块链2.0的特点、以太坊的关键支撑技术(非对称加密、哈希算法、共识机制、P2P机制、以太坊虚拟机(EVM)、智能合约编程语言(Solidity),最后介绍了以太坊的6层架构。

本节向读者介绍以太坊的基本概念、支持技术和架构。

一、区块链2.0的特点

1.支持智能合约

2. 更快的交易速度

通过采用PBFT(实用拜占庭容错)、POS(权益证明)、DPOS(分布式权益证明)等共识机制,峰值达到3000TPS(每秒处理的交易数)。

3.支持信息加密

【区块链|以太坊学习笔记(一)——基本概念与架构】你可以通过智能合约自定义发送和接收信息的加密和解密。

4、绿色环保

与比特币所使用的算力(每天耗电2000MWh)相比,采用上述共识机制不再需要耗电量来达成共识。

2. 以太坊关键支撑技术

1、非对称加解密

(1) 包含两个密钥:公钥和私钥。 公钥和私钥是一对。 公钥加密只能用对应的私钥解密; 如果数据是用私钥加密的,只有对应的公钥才能解密。 加密和解密使用不同的密钥,因此称为非对称加密算法。

(2) 区块链采用非对称加密建立用户账户,对交易和消息进行签名和签名。

2.哈希算法

(1) 是一种单向密码体制,是明文到密文的不可逆映射,只有加密过程,没有解密过程。

(2)哈希函数可以改变任意长度的输入,得到固定长度的输出(这个输出称为:哈希值)。

(3) 哈希值是唯一的,不能找到两个不同但具有相同哈希值的输入。

(4)哈希算法在区块链中得到了广泛的应用以太坊多久出一个区块,如区块、交易号(地址)和内容验证、矿工节点搜索随机数、共识机制中的区块哈希验证等。

(5) 常见的哈希算法有SHA1、SHA256、SHAS512,以太坊中使用的是SHA256。

3.P2P网络

(1)对等计算机网络是一种在对等节点之间分配任务和工作负载的分布式应用架构,是在应用层由对等计算模型形成的组网或网络形式。

(2) 本网络的参与者既是资源、服务和内容的提供者(Server),也是资源、服务和内容的获取者(Client)。

(3) 区块链网络是一个P2P网络以太坊多久出一个区块,每个区块链网络节点都是一个Peer。

4. 共识机制

(1) 共识机制是区块链交易达成分布式共识的数学算法。

(2) 区块链系统约定在相似时间段内发生的交易顺序。 这种在一个时间窗口内就交易顺序达成共识的算法称为“共识机制”。

(3)区块链中常用的共识机制主要有工作量证明(POW)和权益证明(POS)。

5. 以太坊虚拟机(Ethereum Virtual Machine,EVM)

以太坊客户端软件提供完备的系统功能,可以灵活支持各种去中心化应用的代码执行环境。

开发人员使用高级编程语言来创建运行在 EVM 上的应用程序。

6. 智能合约语言——Solidity

Solidity 是一种面向对象的编程语言,用于在大方编写智能合约。 Solidity 可用于在各种区块链平台上实现智能合约的编程。 Solidity 是一种类 JavaScript 的语言,支持图灵完备的程序代码设计。

3. 以太坊架构

从架构的角度来看,以太坊共有 6 层结构。 以太坊通过6层技术架构的明确分工协作,有效保证了区块链技术体系的系统性、完整性、灵活性和开放性。 区块链技术的不断发展、演进和广泛应用奠定了坚实的基础。

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

文章图片

1. 数据层 以太坊的数据层是“区块”+“链”的数据结构。 它本质上是一个分布式区块链。 数据账本决定了一个网络,每个区块链中的数据都不容易被篡改。

2、网络层 以太坊网络层遵循P2P协议,保证网络的开放和稳定,互联网用户的自由和平等参与,以及区块链数据的同步。

3. 共识层 共识层决定了区块链的记账权获取机制。 使用POW,计算机性能越好,越容易成功封装区块,获得“虚拟货币”奖励; 使用POS,类似于股份公司中的股权概念,会根据“股权”持有“虚拟货币”的数量和时间,持有人按照自己的“股权”比例获得区块封装权,并获得根据封装区块挖矿奖励。

4. 激励层 激励层是以太坊的挖矿机制,是对为网络提供计算和验证服务的矿工的一种激励措施。 目前以太坊对网络成功封装确认一个区块的奖励是系统通过增发方式授予矿工5个“虚拟币”,同时矿工获得当前区块内所有交易所发送的燃料。 此外,以太坊还对已成功开采打包但未纳入主链的“叔块”进行奖励,奖励金额为正常区块的87.5%。

5.合约层

合约层的出现使得区块链在“虚拟货币”以外的其他领域成为可能,例如物联网(IOT)。 在以太坊中,这部分包括以太坊虚拟机和智能合约两个组件。

6. 应用层 区块链的表现层和业务层。 以太坊通过使用Web3.0等应用程序接口将各种应用程序与区块链集成。 区块链的应用层可以是移动端、Web端,也可以直接集成到现有的业务服务器中,将当前的业务服务器作为应用层。

(本节结束)

下节以太坊学习笔记(二)——以太坊的工作原理