一、BTC(比特币)

(一)项目背景

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

(二)技术框架

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

其中,存储层主要用于存储比特币系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和 LevelDB。

数据层主要用于处理比特币交易中的各类数据,如将数据打包成区块,将区块维护成链式结构,区块中内容的加密与哈希计算,区块内容的数字签名及增加时间戳印记,将交易数据构建成 Merkle 树,并计算 Merkle 树根节点的哈希值等。个人理解,不同加密币之间,数据层框架基本类似,主要差异在于共识机制和合约部分。

区块构成的链有可能分叉,在比特币系统中,节点始终都将最长的链条视为正确的链条,并持续在其后增加新的区块。

网络层用于构建比特币底层的 P2P 网络,支持多节点动态加入和离开,对网络连接进行有效管理,为比特币数据传输和共识达成提供基础网络支持服务。

共识层主要采用了 PoW(Proof Of Work)共识算法。在比特币系统中,每个节点都不断地计算一个随机数(Nonce),直到找到符合要求的随机数为止。在一定的时间段内,第一个找到符合条件的随机数将得到打包区块的权利,这构建了一个工作量证明机制。

RPC 层实现了 RPC 服务,并提供 JSON API 供客户端访问区块链底层服务。

应用层主要承载各种比特币的应用,如比特币开源代码中提供了 bitcoin client。该层主要是作为 RPC 客户端,通过 JSON API 与 bitcoin 底层交互。除此之外,比特币钱包及衍生应用都架设在应用层上。

比特币源码网站:

https://github.com/bitcoinhttps://github.com/bitcoin

以太坊源码网站:

ethereum/go-ethereum: Official Go implementation of the Ethereum protocol (github.com)https://github.com/ethereum/go-ethereum

二、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 协议、Whipser 协议等。

以太坊基于 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/https://blog.csdn.net/wcc19840827/article/details/90647000/

合约层分为两层,底层是 EVM(Ethereum Virtual Machine,即以太坊虚拟机),上层的智能合约运行在 EVM 中。智能合约是运行在以太坊上的代码的统称,一个智能合约往往包含数据和代码两部分。智能合约系统将约定或合同代码化,由特定事件驱动触发执行。因此,在原理上适用于对安全性、信任性、长期性的约定或合同场景。在以太坊系统中,智能合约的默认编程语言是 Solidity。

应用层有 DApp(Decentralized Application,分布式应用)、以太坊钱包等多种衍生应用,是目前开发者最活跃的一层。

三、比特币 VS 以太坊

(一)主要作用

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

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

(二)共识

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

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

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

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

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

加密货币技术架构(一)——BTC、ETH相关推荐

  1. 加密货币技术架构(二)——BNB

    BNB(币安币)作为币安交易所(区块链交易平台)发行的平台代币,在本人整理资料时市值居于TOP5. 一.发展历程 BNB链和BNB代币的创建始于币安中心化交易所的推出.币安交易所由赵长鹏于2017年创 ...

  2. 央行数字货币技术架构---HashGraph共识算法1

    最近央行动作在数字货币领域动作频频,在2019年下半年,大有加快数字货币研发的趋势,有可能正式推出央行数字货币CBDC.虽然目前还不确定央行数字货币的具体技术架构,但是从央行数字货币研究所前所长姚前, ...

  3. 构建现代应用程序:区块链和加密货币架构

    作者:禅与计算机程序设计艺术 本文是结合互联网和金融领域相关的专业背景知识,对比分析区块链和加密货币技术在不同场景下的应用以及优劣势,从而阐述如何构建现代应用程序.我们将阐述以下几个方面: 1)什么是 ...

  4. 加密货币为什么有价值?

    货币为什么有价值? 稀缺性.信任和共识为货币赋予价值. 货币的本质是交换价值的工具. 只要当地社区达成共识,任何物品均可作为支付商品和服务的货币. 在人类文明的早期,各种各样的物品扮演了货币的角色,其 ...

  5. 对冲制裁风险:央行储备中的加密货币(1-4节)

    适度的制裁风险会显着增加黄金和比特币的最佳配置.如果一家中央银行无法获得足够的实物黄金来对冲其制裁风险,则最佳比特币份额会进一步上升,这表明黄金和比特币互为不完全替代品.我的结论是,制裁风险可能会削弱 ...

  6. 7所大学提供区块链、加密货币及金融科技相关线上课程

    点击上方"蓝色字"可关注我们! 暴走时评:在区块链和加密货币这个相对年轻的市场中,找到特定主题的准确信息可能非常耗时,甚至结果也不尽如人意.目前,部分大学提供了一些线上课程,并与e ...

  7. 苹果CEO库克:苹果不会效仿Facebook推出加密货币,货币权应该留在国家手中

    "苹果目前还没有推出数字加密货币的计划." 本文经转自:腾讯科技,内容旨在传递更多市场信息,不构成任何投资建议. 腾讯科技讯,据外媒报道,苹果公司CEO蒂姆·库克(Tim Cook ...

  8. 《Nodejs开发加密货币》之十九:签名和多重签名

    前言 加密货币是一种数字资产,随着区块链等相关技术的创新和突破,很多有形或无形资产实现了去中心化.比如我们这里分享的 亿书 就是要把数字出版物版权进行保护,实现去中心化,解决业界多年来版权保护不力的难 ...

  9. 超24亿美元的BTC、ETH、XRP等加密货币在衍生品交易所被清算

    UTC时间03:38,比特币在Bitstamp交易所跌至一周低点33447美元.根据Bybt提供的数据,随后有超过24亿美元的BTC.ETH.XRP和其他加密货币在衍生品交易所被清算.比特币从1月8日 ...

最新文章

  1. 5G NGC — 关键技术 — R15 SBA
  2. Python全栈开发 day3
  3. JVM堆新生代分配比例
  4. Cambridge hpc
  5. Java通用流行框架大全,绝对干货
  6. 2011.11.2 try
  7. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据编辑...
  8. map java 初始化赋值_Java 中 HashMap 初始化时赋值(示例代码)
  9. 乱码385b1b926a38153d38957556c0dc55b5
  10. 【Git/Github学习笔记】Git常用命令(版本回退)
  11. 优秀在线答题小程序汇总分享
  12. 苹果官方下载_苹果官方发布的2018年应用榜单里,有安卓也能下载的抠图神器!...
  13. 资源---vc++2010学习版---注册码(注册码密匙)
  14. cadence使用教程
  15. 利用python实现m4a格式到MP3的转换
  16. easyExcel自定义背景颜色easyPoi自定义修改表头背景色
  17. php mysql 站内消息_php如何开发网易云信消息抄送功能之聊天室消息保存到本地数据库...
  18. hbase java api样例(版本1.3.1,新API)
  19. 使用思博伦Avalanche进行HTTP双向吞吐量测试 _双极未来
  20. vulnhub_GoldenEye: 1

热门文章

  1. visio2013发生2503错误
  2. Borland编译器,在windows7的命令行中运行C++
  3. 【论文写作】相关内容
  4. 2021年华南师范大学软件学院电子信息专硕上岸贴
  5. Windows环境下Sphinx的安装
  6. Could not find method uploadArchives() for arguments [build_9y1ozxjm08lb8wodb59629wm8$_run_closure3
  7. 一、UNIX发展过程
  8. 阿里P7Android社招面试的经历,最全Android知识总结
  9. 全民奇迹修复云服务器跨服,传送受限攻防逆转 全民奇迹跨服那些事儿
  10. oracle 输出字体颜色,PS改变字体颜色方法图解