Tag: bitcoin

Bitcoin 挖矿难度

挖矿难度

$$H(version,target,nonce,Hash_{pre},MerkleTreeRoot) <= target$$

Bitcoin的实现

比特币系统是一个基于交易的账本,这意味着存储在账本中的是一笔笔交易。那么在用户进行转账交易时,首先就需要确保用户所持有的数量要大于或等于将要交易的。这要做的目的是为了避免双花问题。

Bitcoin 网络

比特币工作在应用层,它的底层是一个P2P网络。比特币的P2P网络是非常简单的,所有节点都是对等的,不会出现某些P2P网络中所谓的超级节点或者中心节点。

Bitcoin中的数据结构

哈希指针(Hash Pointers)

对于一个结构体而言,指向它的指针存储的是它在内存中的首地址;而指向它的哈希指针,不仅保存这它的首地址,还保存着该结构体内容的哈希值。通过哈希指针,不仅可以找到该结构体,还能查验该结构内容是否被篡改过。

Bitcoin引发的思考

Hash指针

指针保存的是本地内存地址,只在本地计算机上才有意义,发送到其它计算机上就没有意义了。所谓的Hash指针只是一种形象的说法,实际系统中用到的时候只有Hash,没有指针。

Bitcoin 分叉

区块链由一条变为两条或者多条,这一过程被称为分叉。导致分叉的原因有很多,按分叉出现的原因可分为两种:

Bitcoin中的协议

双花问题

在比特币系统中,Hash指针有两个用途:指向前一个区块和指向某笔交易。

Bitcoin的匿名性

一般来说,匿名通常跟隐私保护联系在一起。在比特币是基于交易的区块链,系统中没有用户的概念,不要求用户使用真名,可以用公钥产生地址,所以比特币具有一定的匿名性。