我们知道对于比特币系统,所有的比特币用户都维护着一条相同的区块链。让这么多人不断地更新区块链的数据,如何才能维持共识与统一呢? 一、 区块的创建 区块中包含区块头和区块体,我们的矿工在开始挖矿时,就将需要写入区块体的交易打包在区块内,随后用不同的nonce去尝试,以获取满足记账权的hash值 ...
由于哈希值的伪随机特性,要寻找 个前导 的哈希值,预期大概要进行 次尝试,这个数学期望的计算次数,就是所要求的 工作量 。要求的前导 的个数越多,代表难度越大。 难度值是比特币系统中的结点在生成区块时的重要参考指标,它决定了节点大约需要经过多少次哈希运算才能产生一个合法的区块。 难度值被设定在无论节点计算能力如何,新区块产生速率都保持在每 分钟一个。 难度的调整是在每个完整节点中独立自动发生的。 ...
2017-11-27 11:24 1 2604 推荐指数:
我们知道对于比特币系统,所有的比特币用户都维护着一条相同的区块链。让这么多人不断地更新区块链的数据,如何才能维持共识与统一呢? 一、 区块的创建 区块中包含区块头和区块体,我们的矿工在开始挖矿时,就将需要写入区块体的交易打包在区块内,随后用不同的nonce去尝试,以获取满足记账权的hash值 ...
比特币又称加密货币,但其实加密货币并没有加密:区块链中的所有信息都是公开的,包括交易的内容、交易的金额以及交易账户的地址。之所以称之为加密货币,主要是因为交易的双方在不与真实世界发生关联的情况下,双方的身份是无法获知的。 比特币中主要用到了密码学中的“哈希”和“签名”。 密码学中用的哈希被称作 ...
哈希指针(Hash Pointers) 对于一个结构体而言,指向它的指针存储的是它在内存中的首地址;而指向它的哈希指针,不仅保存这它的首地址,还保存着该结构体内容的哈希值。通过哈希指针,不仅可以找到该结构体,还能查验该结构内容是否被篡改过。 区块链 比特币中存储数据用的是区块链。所谓区块链 ...
一般来说,匿名通常跟隐私保护联系在一起。在比特币是基于交易的区块链,系统中没有用户的概念,不要求用户使用真名,可以用公钥产生地址,所以比特币具有一定的匿名性。 但比特币中的交易记录在区块链上,区块链是公开的。虽然使用者可以生成任意多的地址来隐藏自己,但由于所有的交易信息的都是公开的,仍可以通过分 ...
58个字符(包括9个数字,24个大写字母,25个小写字母)。不同的应用实现中,base58 最后查询的字 ...
Satoshi Nakamoto(中本聪)是发起比特币和原始比特币客户端创建者。不过,我经常听到“Satoshi ”这个词,好像它是一个货币单位。 什么是Satoshi呢?Satoshi是0.00000001 BTC,目前是最小的比特币交易单位。 ------------ 场外交易中 ...
最近在和同事交流我们PalletOne中对UTXO和签名的处理,有些心得,写下此博文。对比特币有点基本概念的都知道,比特币是通过ECDSA数字签名来解锁UTXO中的未花费余额。 关于UTXO我不需要做太多介绍,毕竟介绍这个概念的文章已经很多了。我主要是谈谈已经有UTXO了,该怎么花掉。 交易 ...
目录 简介 比特币中的共识 交易的校验 区块的构建 区块的校验 区块链的分叉 区块链分叉的种类 总结 简介 在比特币的P2P网络中是怎么达成共识的呢?达成共识需要做哪些交易的校验呢?交易和区块是怎么传播到整个区块链 ...