好好学习,天天向上

  • 后端开发
    • Rust
  • 区块链
    • BTC
    • Layer2
  • 经济投资
  • 文学创作
    • 哲学思考
    • 随笔
HhxxTtxs
人生到处知何似,应似飞鸿踏雪泥。
区块链

JMT——JellyfishMerkle树

前言 树形数据结构在区块链开发中有着十分重要的作用,常见的包括Merkle tree、Trie、Patricia Tree、Merkle Patricia Trie等等。其中最为熟知的当属Merkle tree与Merkle Patricia Trie—MPT,其中Merkle tree用于快速计算状态根,MPT则综合了Patricia Tree和MPT的优势,不仅可以快速计算得到状态根,而且可以做到快速的状态数据增改查,但实现起来较为困难,例如以太坊中关于MPT的实现就十分复杂难懂。而JMT(JellyfishM…

19 9 月, 2025 0条评论 10点热度 0人点赞 hhxxttxs 阅读全文
区块链

并行VM的常见设计:悲观执行与乐观执行

前言 在区块链模块化设计模式下,链的开发被分为以下四大主要模块:执行层、结算层、共识层、数据可用性层(DA层)。这种划分带来的明显好处是降低链开发代码的耦合性,各个模块可以专注于自己模块所负责功能的实现,通过提供接口与外部进行交互,模块替换与升级也可以做到更加丝滑。除此之外,各个模块独立的性能提升,对整体区块链的性能提升可能是倍数级别的。 对于执行层来说,传统的串行执行设计极大的限制了整体链的性能,所以基本后发的区块链都集成了并行 VM 执行引擎,其中最具代表性的方式就是:悲观执行与乐观执行。悲观执行引擎认为并发操…

14 9 月, 2025 0条评论 12点热度 0人点赞 hhxxttxs 阅读全文
BTC

理解共识算法----Narwhal与Tusk&BullShark共识算法

前言 前面文章提到的PBFT、Tendermint、Hotstuff共识算法都是BFT类的共识算法,应用到区块链当中时,共识形成的整条“链”是单一的“一条链”。而Tusk以及Bullshark是基于DAG-BFT类的共识算法(同样在3f+1个验证节点中,最多容忍f个拜占庭节点。),其形成的“链”是一个DAG(有向无环图)。 DAG-BFT类的共识的优点在于,通过将交易的传播与排序相分离,所有的验证者节点能够并行的出块,极大的提升链的TPS,以下是Bullshark论文中关于Hotstuff、Bullshark、Tu…

19 8 月, 2025 0条评论 21点热度 0人点赞 hhxxttxs 阅读全文
L2

理解共识算法----Hotstuff

什么是Hotstuff共识算法 HotStuff也是一种基于拜占庭容错(BFT) 的区块链共识算法,由VMware Research团队于2019年提出,后成为Libra 区块链的核心共识协议。其核心创新在于通过线性视图切换(Linear View Change) 和门限签名(Threshold Signatures) 实现高效流水线化处理,大幅降低传统BFT算法的通信复杂度。 这里主要有两个关键的优化点: 引入了门限签名减少通信复杂度。门限签名:允许一组参与者合作生成一个有效的数字签名,但只要达到预定的门限数量(…

18 8 月, 2025 0条评论 19点热度 0人点赞 hhxxttxs 阅读全文
区块链

理解共识算法----Tendermint

什么是Tendermint共识算法 Tendermint 是一种基于拜占庭容错 (Byzantine Fault Tolerant, BFT) 的区块链共识算法,旨在实现高性能、高安全性的分布式状态机复制。它由 Tendermint 团队设计,因 Cosmos 模块化区块链项目的使用而被人熟知。 Tendermint可以理解为PBFT算法的一个变种与优化,优化的主要目的是降低PBFT算法的复杂度,包括逻辑实现的复杂度以及算法复杂度。 Tendermint共识算法流程 下图是来自tendermint官方的一张状态流转…

2 8 月, 2025 0条评论 40点热度 0人点赞 hhxxttxs 阅读全文
区块链

理解共识算法----PBFT

什么是PBFT共识算法 PBFT 是 Practical Byzantine Fault Tolerance 的缩写,翻译为拜占庭容错算法。该算法是 Miguel Castro (卡斯特罗) 和 Barbara Liskov(利斯科夫)在 1999 年提出来的,论文见:http://pmg.csail.mit.edu/papers/osdi99.pdf ,该算法解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。 在区块链当中,囿于其O(n^2)的…

26 7 月, 2025 0条评论 43点热度 0人点赞 hhxxttxs 阅读全文
BTC

SPV--简单支付验证

上一篇关于RGB协议的文章提到过,本地客户端如何保证对方发送的交易是有效的就是通过SPV验证(简单支付验证)来进行的。比特币链中节点有“全节点”和“轻节点”的区分,全节点是指保留了所有交易记录的节点,也就是全部账本数据的节点。而轻节点通常是一个更广泛的术语,涵盖了像 SPV 节点这样的轻量级节点,但在不同的区块链中实现方式可能不同。。 SPV 节点使用简单支付验证来参与区块链网络。它们不需要下载整个区块链,只是下载区块头信息(Header),这大大降低了存储和计算资源的需求。适合资源有限的设备,如移动设备。通过仅存…

11 1 月, 2025 0条评论 261点热度 0人点赞 hhxxttxs 阅读全文
BTC

一文搞懂RGB协议与RGB++协议

比特币铭文、符文的爆火,引发了新一轮人们对于比特币生态的期待,紧接着基于比特币实现智能合约技术迭代在快速发展,例如基于比特币的Layer2(如B² Network等)、侧链(如 Liquid,merlin等)。而发展多年的RGB协议热度也被重新拎了起来,CKB团队则另辟蹊径,基于RGB协议及自己的CKB公链,推出了RGB++协议,下面将详细介绍下这两个协议的实现原理。 RGB协议 协议的愿景 我们知道比特币的虚拟机不是图灵完备的,无法支持复杂的智能合约实现,RGB协议的愿景就是实现一个可用于比特币区块链上的智能合约…

7 9 月, 2024 0条评论 494点热度 2人点赞 hhxxttxs 阅读全文
BTC

比特币脚本

什么是比特币脚本 我们知道比特币是基于UTXO来进行交易的。例如你有10BTC的UTXO,准备给作者转 2BTC,那么就有输入一个10BTC的UTXO,输出 2BTC的UTXO给作者,8BTC的UTXO给自己(忽略手续费)。原来的10BTCUTXO就被废弃掉了。每一个UTXO都有一个锁定脚本 scriptPubKey,当我们要花费一个UTXO的时候,需要提供一个对应的解锁脚本 scriptSig 以证明有花费该UTXO的权利。 如下图所示交易: { "txid": "17d568fc91ffc51cd554e08f…

6 8 月, 2024 0条评论 354点热度 0人点赞 hhxxttxs 阅读全文
BTC

比特币脚本pkScript与signScript解读

以下是一个P2PKH类型的比特币交易,这里记录下交易信息中的pkScript和signScript字段的解码含义。(比特币脚本OP_CODE 16进制对照表见: https://wiki.bitcoinsv.io/index.php/Opcodes_used_in_Bitcoin_Script) 交易数据如下: { "txid": "17d568fc91ffc51cd554e08f59db77b204c4a8a49e0b404af9eb5fdeebd3d303", "size": 223, "version": 1…

5 8 月, 2024 0条评论 719点热度 0人点赞 hhxxttxs 阅读全文
1234

Recent Posts

  • JMT——JellyfishMerkle树
  • 并行VM的常见设计:悲观执行与乐观执行
  • 理解共识算法----Narwhal与Tusk&BullShark共识算法
  • 理解共识算法----Hotstuff
  • 理解共识算法----Tendermint

Recent Comments

  1. hhxxttxs 发表在 区块链开发技术学习路线
  2. kk 发表在 区块链开发技术学习路线
  3. 杰哥 发表在 区块链开发技术学习路线
  4. hoz 发表在 蒙哥马利算法
  5. hhxxttxs 发表在 区块链开发技术学习路线

COPYRIGHT © 2024 好好学习,天天向上. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang