1. 哈希指针
在区块的块头会包含前一个区块的哈希指针,指针保存的是本地内存的地址,在本地计算机才有意义,在进行传播的时候,哈希指针是怎样通过网络传播呢?
哈希指针只是一种形象的说法,实际上存储使用的是哈希值。全节点将区块存储在k86数据库(例如level DB)中,存储形式为:(key,value),在存储中通过哈希值串联,只要掌握了最后一个区块的哈希值,就能依次查找key的哈希值从而查到区块内容value,再找到value中前一个区块头哈希,最终能找到整个链上的所有区块。
哈希指针的性质保存了整个
区块的内容是不可篡改的。
2. 区块恋
n个人共同持有一个比特币账户,截断私钥,每个人保存1/n部分的私钥,会出现什么样的问题?
保存难度:只有其中一个人丢失密钥,则无法打开钱包
安全问题:如果m(m<n)个人合伙,想要得到完整私钥,计算难度大大降低
存储问题:如果钱包中还存在余额,但是合伙人闹掰决定不再使用钱包,钱包中的UTXO一直存储,对于矿工是十分不友好的
更安全的方法是多重签名MULTISIG,其中的每一个私钥都是独立产生的,并且更加灵活,可以要求n个人给出k个签名即可
3. 分布式共识
为什么比特币系统能够绕过分布式共识中哪些不可能结论?
比特币并没有取得真正的共识,因为当下取得的共识随时可能被推翻(分叉攻击)