随笔分类 - 区块链
摘要:链表 区块链一般表示为一个单链列表,区块链中的块相当于链表中的Node节点,节点之间使用哈希串联形成链。区块链上的数据基本不可能修改,比普通链表要复杂得多 树 区块链中使用Merkle Tree即默克尔树。是二叉树的一种,最底层是叶子节点,内容是对应数据的哈希。每两片相邻的叶子结点加起来做哈希计算,
阅读全文
摘要:全节点和轻节点的区别 | 全节点 | 轻节点 | | | | | 一直在线 | 不是一直在线 | | 在本地硬盘上维护完整区块链信息 | 不保存整个区块链,只需要保存每隔区块块头 | | 在内存中维护UTXO集合,以便于快速检验交易合法性 | 不保存全部交易,只保存和自己有关的交易 | | 监听比特
阅读全文
摘要:比特币系统的工作过程:用户将交易发布到比特币网络上,节点收到交易后打包到区块中,然后将区块发布到比特币网络上 比特币网络的工作流程 比特币工作于应用层,底层的网络层使用的是P2P覆盖网络。比特币系统中所有节点完全平等,不像有些网络内存在着超级节点。要加入网络,至少需要知道一个种子节点。通过种子节点告
阅读全文
摘要:比特币是一个去中心化的账本,比特币采用了基于交易的账本模式。但是系统中并无显示记录账户包含比特币数,实际上其需要通过交易记录进行推算。 在比特币系统中,全节点需要维护一个UTXO(Unspent Transaction Output 尚未被花掉的交易输出)的数据结构,是所有还没被花掉的交易的输出组成
阅读全文
摘要:双花攻击 数字货币本身是一个带有签名的数据文件,既然是文件那么就可以进行复制。对于用户来说就是将统一货币花费两次。如果是中心化机构管理,那么每次验证货币防止双花都需要通过第三方机构(即中心化机构本身),但实际场景下这种可信赖的机构并不存在。 去中心化解决了那些问题? 数字货币的发行来源、发行方式、发
阅读全文
摘要:哈希指针 指针 程序运行过程中需要时使用数据,当数据较大时,会使用指针,指针存储了所需数据的地址,程序只需要按照地址去对应位置读取数据即可。区块链结构本身为一链表,节点就是区块,通过各个指针将区块串联起来。而区块链使用的并不是普通指针,而是哈希指针 哈希指针 普通指针存储的是某个结构体在内存中的地址
阅读全文
摘要:《区块链技术与应用》公开课笔记2——BTC密码学原理篇 哈希 哈希不仅在计算机里应用广泛,在密码学中也同样非常重要。密码学中的哈希函数名为cryptographic hash function 其中的两个重要特性是抗碰撞性和隐藏性 抗哈希碰撞(collision resistance) 哈希碰撞:给
阅读全文