问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

加密货币技术架构深度解析:BTC与ETH的对比

创作时间:
作者:
@小白创作中心

加密货币技术架构深度解析:BTC与ETH的对比

引用
CSDN
1.
https://blog.csdn.net/weixin_62724756/article/details/129338598

比特币(BTC)和以太坊(ETH)是区块链技术的两大支柱,它们不仅在加密货币领域占据重要地位,更在智能合约和去中心化应用方面展现出巨大潜力。本文将深入解析这两种加密货币的技术架构,帮助读者理解它们的核心原理和差异。

一、比特币(BTC)技术架构

(一)项目背景

比特币(BTC)是第一个基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币。作为世界上第一个加密货币,其市值毋庸置疑是最大的,并且历经13年的牛熊转换,稳坐最稳定加密货币的宝座。

(二)技术框架

如图所示,比特币系统分为6层,由下至上依次是存储层、数据层、网络层、共识层、RPC层、应用层。

  • 存储层:主要用于存储比特币系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和LevelDB。
  • 数据层:主要用于处理比特币交易中的各类数据,如将数据打包成区块,将区块维护成链式结构,区块中内容的加密与哈希计算,区块内容的数字签名及增加时间戳印记,将交易数据构建成Merkle树,并计算Merkle树根节点的哈希值等。个人理解,不同加密币之间,数据层框架基本类似,主要差异在于共识机制和合约部分。
  • 网络层:用于构建比特币底层的P2P网络,支持多节点动态加入和离开,对网络连接进行有效管理,为比特币数据传输和共识达成提供基础网络支持服务。
  • 共识层:主要采用了PoW(Proof Of Work)共识算法。在比特币系统中,每个节点都不断地计算一个随机数(Nonce),直到找到符合要求的随机数为止。在一定的时间段内,第一个找到符合条件的随机数将得到打包区块的权利,这构建了一个工作量证明机制。
  • RPC层:实现了RPC服务,并提供JSON API供客户端访问区块链底层服务。
  • 应用层:主要承载各种比特币的应用,如比特币开源代码中提供了bitcoin client。该层主要是作为RPC客户端,通过JSON API与bitcoin底层交互。除此之外,比特币钱包及衍生应用都架设在应用层上。

比特币源码网站:

二、以太坊(ETH)技术架构

(一)项目背景

以太坊(ETH)是由Vitalik Buterin(V神)于2013年受比特币影响,提出了下一代加密货币与去中心化应用平台,在2014年通过ICO众筹得以开始发展。2015年7月30日以太坊的公共区块链启动,并发行以太币。以太币是继比特币之后被最多人看好的加密货币,从诞生至今稳当币圈老二。以太坊也随着时间的推移不断在进化,去年火爆市场的NFT有7成以上都是使用ETH来交易。

(二)技术框架

以太坊是一个开放的公共区块链平台,其利用智能合约来实现对用户行为进行约束,通过其衍生的加密货币ETH,来为以太坊网络提供去中心化的以太虚拟机(EVM)来处理P2P的智能合约。

早期以太坊智能合约使用POW权益证明,ETH通过挖矿来获取。代价就是需要消耗大量电力资源生成足够的算力来挖矿,并因为传输速度、可扩展性、gas fee的问题常常被人诟病。为了解决这些问题,以太坊在2022年9月15日实行合并,从POW转为POS。

如图所示,以太坊架构分为7层,由下至上依次是存储层、数据层、网络层、协议层、共识层、合约层、应用层。

  • 存储层:主要用于存储以太坊系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和LevelDB。
  • 数据层:主要用于处理以太坊交易中的各类数据,如将数据打包成区块,将区块维护成链式结构,区块中内容的加密与哈希计算,区块内容的数字签名及增加时间戳印记,将交易数据构建成Merkle树,并计算Merkle树根节点的hash值等。与比特币的不同之处在于以太坊引入了交易和交易池的概念。交易指的是一个账户向另一个账户发送被签名的数据包的过程。而交易池则存放通过节点验证的交易,这些交易会放在矿工挖出的新区块里。以太坊的Event(事件)指的是和以太坊虚拟机提供的日志接口,当事件被调用时,对应的日志信息被保存在日志文件中。
  • 网络层:与比特币一样,以太坊的系统也是基于P2P网络的,在网络中每个节点既有客户端角色,又有服务端角色。
  • 协议层:是以太坊提供的供系统各模块相互调用的协议支持,主要有HTTP、RPC协议、LES、ETH协议、Whisper协议等。以太坊基于HTTP Client实现了对HTTP的支持,实现了GET、POST等HTTP方法。外部程序通过JSON RPC调用以太坊的API时需通过RPC(远程过程调用)协议。Whisper协议用于DApp间通信。LES的全称是轻量级以太坊子协议(Light Ethereum Sub-protocol),允许以太坊节点同步获取区块时仅下载区块的头部,在需要时再获取区块的其他部分。
  • 共识层:在以太坊系统中有PoW(Proof of Work)和PoS(Proof of Stake)两种共识算法。关于以太坊共识部分的源码分析,链接文章有较详细的介绍。https://blog.csdn.net/wcc19840827/article/details/90647000/
  • 合约层:分为两层,底层是EVM(Ethereum Virtual Machine,即以太坊虚拟机),上层的智能合约运行在EVM中。智能合约是运行在以太坊上的代码的统称,一个智能合约往往包含数据和代码两部分。智能合约系统将约定或合同代码化,由特定事件驱动触发执行。因此,在原理上适用于对安全性、信任性、长期性的约定或合同场景。在以太坊系统中,智能合约的默认编程语言是Solidity。
  • 应用层:有DApp(Decentralized Application,分布式应用)、以太坊钱包等多种衍生应用,是目前开发者最活跃的一层。

三、比特币 VS 以太坊

(一)主要作用

第一代区块链,其实就是以比特币为代表的加密数字货币,它的特点是点对点价值转移无阻隔,而且具有稀缺性。第二代区块链,主要是以太坊为代表的智能合约平台,能够通过区块链技术实现自动执行的电子合约,类似于手机里的安卓系统,后来区块链的大多数应用,都是基于智能合约的功能。

比特币主要是用作虚拟货币并存储价值,而以太坊也可以实现相同的功能,但是,去中心化的以太坊网络还可以实现部分其他的功能,例如创建和运行应用程序、签订智能合同以及进行其他类型的交易,而所有这些功能都是比特币所不具备的,后者只能实现有限的功能。而以太币的主要目的,并非把自己建成为支付替代物,而是使以太坊的运营便利化且货币化,从而使得开发人员可以建立并运行分布式应用程序。

(二)共识

比特币和以太坊的核心都是区块链技术。但是,当涉及到他们的共识算法时,可以观察到关键差异。以太坊和比特币都有自己独特的共识算法,这意味着它们验证添加到分类账的信息有效性的方式是不同的。

比特币的共识基于所谓的工作量证明(PoW)算法。在这个概念中,一个人挖掘一个区块的概率是基于他所做的计算工作量。挖矿奖励将授予第一个设法解决每个区块的复杂密码难题的矿工。根据PoW的概念,每个网络矿工都在使用计算能力方面与其他所有矿工竞争。

另一方面,以太坊基于另一种称为权益证明(PoS)的算法。在这种共识算法中验证新区块的概率取决于某个人持有的股份有多少,或者换句话说——他有多少硬币。在PoS算法中,区块验证者不会收到区块奖励——而是收取网络费用作为奖励。在以太坊的情况下,奖励称为gas。使用PoS,无需解决任何数学难题,并且以确定性方式选择新区块的创建者。

有趣的是,以太坊的区块时间相当快——验证区块所需的时间。根据BitInfoCharts的数据,比特币的平均阻塞时间目前略高于8分钟,而以太坊的阻塞时间约为25秒。

还有一点,比特币永远最多只能有2100万个,但是以太坊是无限的。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号