2.BTC-数据结构

哈希指针(Hash Pointer) * 哈希指针不仅存储了数据的内存地址,还额外存储了那块数据内容的加密哈希值。 * 组成:一个哈希指针包含两个部分: * 指针 (Pointer):指向数据的存储位置。 * 哈希 (Hash):指向的数据内容的哈希值。 区块链是一连串的哈希指针配合组成的: * 我们有一个数据块 Block 1。 * 我们创建一个指向 Block 1 的哈希指针 HP_1。这个指针里包含了 Block 1 的地址和 Hash(Block 1)。 * 现在,我们创建第二个数据块 Block 2。我们将哈希指针 HP_1 存放在 Block 2 的内部。 * 接着,我们再创建一个指向 Block 2 的哈希指针 HP_2,它包含 Block…

1.BTC-密码学原理

BTC中用到了密码学中的两个原理,哈希和签名 哈希(Hash) 加密哈希函数 (Cryptographic Hash Function) 将任意长度的数据(如文本、文件或密码)转换为一个固定长度的、独一无二的字符串。这个输出的字符串被称为哈希值 (Hash Value) 或消息摘要 (Message Digest)。用来检测信息是否被篡改。 加密哈希函数的性质: 1. 抗碰撞性 (Collision Resistance)/抗第二原像攻击 (Second Pre-image Resistance) 抗碰撞性的意思是找到两个不同的输入数据,使得它们能够产生相同的哈希值,在计算上是不可行的。即难以找到任意两个不同的输入 x 和 y,使得 Hash(x) = Hash(y)。这里不是指找不到这种输入数据,而是在人力的计算条件下不可行。 注意:目前没有任何一种哈希函数经过了数学证明这个形式,在实用中往往都是经验得出。 2. 抗原像攻击 (Pre-image Resistance)…