认识以太坊


前言

以太坊又称之为世界计算机,那么以太坊是啥嘞?我们简单看一下~


一、以太坊的定义

  以太坊(英文Ethereum)是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币以太币(Ether,简称“ETH”)提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约。
  以太坊是区块链的实现的一种,是在众多节点相连构成的(在此,我们可以想象成蜘蛛网那样的)。

二、以太坊的结构

1.图示

  以太坊的图示如下图所示:
以太坊结构图示
  其中,EVM是以太坊虚拟机;P2P(Per to Per)点对点技术,没有中心化服务器,依靠用户节点进行信息交互的对等式网络,区别于C/S中心化服务器结构。(如需了解C/S,可以参考本文
  以太坊的节点的软件栈有以下两个核心功能:
  1、数据存储
  2、合约的代码执行

2.相关tips

  1、每个以太坊的全节点中都保存有完整的区块链数据。
  2、以太坊不仅将交易数据保存在链上;编译后的合约代码同样也保存在链上。
  3、以太坊的全节点为的是提供虚拟机来执行合约代码。

3.交易数据

  以太坊的每笔交易数据都存储字区块链上,区中,交易可以理解为在部署合约时,完成一次部署就是完成一笔交易,例如:典型的投票系统,当为勾选这投票时,一次选票就是一笔交易。且以上交易都是公开的,每个人都可以看见,验证且交易内容无法进行篡改。
  以太坊中的各个节点(参考上图)所有节点都有着同一份数据的拷贝且没有向数据库中写入无效数据——>从而可以保证以太坊目前使用和工作量证明算法(POW(proof of work))来保证网络安全——>即通过矿工挖矿(Mining)来达成共识(consensus)。
几个概念的介绍:
  1、共识我们可以理解为将所有数据同步到所有节点的操作。(指各节点达成一致)
  2、POW(工作量证明算法)不是达成共识的唯一算法,参考下图所示:
POW
  POW是实现在非可信的交易环境下的可信交易。
  3、共识是目的POW是手段。
  4、矿工挖矿,矿工在我们生活中山是指的是挖煤工人,而在区块链的大环境下,矿工的概念指的是从事虚拟货币挖矿的人;而矿工的主要工作是交易确认和数据的打包(其中交易确认的实现是使用的哈希算法)。

3.合约代码

  在此,再次声明,以太坊上的链上存储的是交易记录以及合约代码
  在数据库的层面上,区块链的作用简单来说就是存储交易记录。
  在以太坊这个平台的基础上可以使用Solidy语言来编写业务逻辑/应用代码。开发过程如下图所示:
在这里插入图片描述  【P.S.】编写合约的语言有很多,到那时目前来说Solidy是最流行的选择。

4.以太坊虚拟机

  以太坊区块链不仅存储数据和代码,每一个节点还包含一个虚拟机(EVM:Ethereum Virtual Machine)来执行合约代码(这是区别于比特币最重要的一点)
  在此提一个概念——JS开发库,它存在的意义是便于构建基于Web的DApp,一天发过提出的JavaScrpt库web3.js就是一个非常便捷的存在。
  其中,web3.js可以在常用的JS框架中直接引入该库来构建去中心化应用,封装了以太坊节点的API协议。
  开发过程可如下图所示:
web3.js

总结

  以上内容是根据汇智网内容进行学习笔记记录总结,本人初学者欢迎批评指正。

猜你喜欢

转载自blog.csdn.net/weixin_43900035/article/details/115173997
今日推荐