比特币
默克尔树
可以快速比较大量数据,查找一个数据存在
比特币的区块结构
基于 UTXO 每个交易都由挖矿开始经过每一个交易到一个地址
布隆过滤器
可以在不暴露自己身份的情况下,获得自己账户相关的交易信息
智能合约是锁定/解锁脚本的一种么?它也存放在区块里面么?
SPV 节点
用于核实其他地方的计算结果(因为个人终端可能没有这么多算力)
核心节点为什么也需要钱包?
可以控制比特币的汇率么()
其实我是好奇为什么交易所容易被盗…(因为交易所钱很多么…)
笑死(感觉好像是因为目标比较大?)
拜占庭将军问题
这个问题是由 Leslie Lamport、Robert Shostak 和 Marshall Pease 在1982年提出的。简单来说,拜占庭将军问题是这样一个场景:几位将军和他们的军队围攻一座城市,他们需要通过传递信息来达成一个共同的进攻或撤退的决策。然而,其中一些将军可能会变节,传递错误信息,导致军队行动不一致,进而失败。
在区块链中,拜占庭将军问题形象地描述了节点间可能存在的信任问题。区块链是一个去中心化网络,其中的节点可能彼此不信任,还可能有节点故意传播错误信息或进行恶意行为。为了在这样的环境下达成一致性,即使在一部分节点可能是恶意的情况下,区块链设计了一系列的共识机制。
最著名的解决拜占庭将军问题的共识算法之一是拜占庭容错(Byzantine Fault Tolerance,BFT)算法。BFT算法确保了在一定数量的恶意节点存在的情况下,系统仍然能够达成一致并继续运行。区块链中的许多共识算法,如Practical Byzantine Fault Tolerance (PBFT)、Raft等,都是为了解决这个问题或类似问题。
fuzz learning
antonio-morales/Fuzzing101: An step by step fuzzing tutorial. A GitHub Security Lab initiative
一个面向实践的 fuzz 学习路线,相比之下, the fuzzing book 的学习更偏向理论(而且我目前还没有看明白它的学习方向是什么…)