64 | 区块链技术细节:哈希算法
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了区块链技术中的哈希算法及其在比特币中的应用。作者首先介绍了哈希算法的基本概念和作用,强调了其在数据唯一标识和数字签名中的重要性。随后,详细解释了比特币中区块链的协议格式和区块头中的六个字段的含义,以及挖矿过程中的难度调整。此外,文章还阐述了Merkle Root的计算方式及其在比特币和以太坊中的不同应用。通过通俗易懂的语言、具体示例和图表,生动地阐述了复杂的技术概念,使读者能够快速了解区块链技术的核心原理和应用场景。文章还介绍了比特币的交易模型,解释了交易中的input和output的概念,以及UTXO的特点和在比特币交易中的应用。总的来说,本文全面而深入地介绍了区块链技术中的哈希算法及其在比特币中的具体应用,对于想要深入了解区块链技术的读者具有重要参考价值。
《左耳听风》,新⼈⾸单¥98
全部留言(39)
- 最新
- 精选
- 杜小琨所以,为什么是1M?
作者回复: 我居然写漏了……😓 1)中本聪经常在代码里放一些不说明的事,这个就是一个。 2)区块有大小限制容易理解,一个是为了更好地去中心化,因为如果尺寸下限,算力大的可以打包更多的交易,就中心化了。另一个是为了节省网络带宽。 3)为什么是1M而不是2M,这是中本聪设置的,但他并没有做出解释。
2018-04-0351 - 逆行一次交易完成后,Merkle Root 就会改变,那么每次交易都要重写整个区块链表,那效率太低了吧,是不是我错过了什么细节?
作者回复: Merkle Root 是一组交易的层层hash的结果。
2018-04-037 - Nelson"假如你有多个 UTXO,你可以进行多笔交易而不需要并行锁。"这一句没懂,不会出现一个UTXO被使用两次情况吗?
作者回复: 不同的交易在不同的UTXO上并行,在同一个上不行。如果用余额来做,则无法并行,上一笔不完成,下一笔无法执行。
2018-04-035 - jimmy近期在研究event-sourcing架构,比特币的交易感觉有点像event-sourcing的味道,记录的只是事件,无状态,天然适应分布式,不知道这个类比是否有点牵强
作者回复: 是很牵强
2018-04-0324 - 痴痴1.是不是只有前一个区块交易满了,才会产生下一个区块? 2.Merkle的生成过程理解,不过不理解的是:假设a区块有新的一笔交易产生,放到这个区块里,那么这个区块的id自然也就变了,后面所有的区块id也要跟着变,这样是不是太麻烦了
作者回复: 1、不是,这个由各个矿工自己决定。2、merkle和区块无关,但是与交易有关。
2018-06-251 - 龚极客Merkle Root是否至多三层?因为每个hash4个字节*7 =28<32 。如果这样,那么超过3层怎么处理?
作者回复: 没有啊,hash无论hash多长的字符,总是得到一样的长度。你说的 “hash4个字节*7=28”是什么意思?
2018-04-19 - 总指挥生成Merkle Root 过程理解的,但它的目的还是不能理解,如果是要验证完整性为什么不直接全部tx来哈希?小弟不才,望各位解答。
作者回复: 文中已经讲了。可以分块整理
2018-04-13 - Y024下载软件通过校验码验证真伪这个小常识,可以避免很多李鬼事件,就值回票价。
作者回复: 好习惯
2018-04-05 - 风的叹息单笔交易和区块是什么关系?记录在数据集里面之一?然后同时进行的交易呢?广播,这里的时序问题怎么处理的,不知后文有没解答
作者回复: 一个区块里有多笔交易,一个区块最大1M,一笔交易平均250个字节,于是一个区块4000笔交易,一个区块平均生成时间10分钟,所以每秒6.66667笔交易。 交易没有时序问题,因为一笔交易的支出必需来自(Unspent Transaction Output),所以,如果你无法对同一个“未花交易 ”操作两次,而对一个“未花交易”的操作未被确认前是不会产生新的未花交易,于是你也就无法进行下笔操作。 广播的时序?为什么会有时序问题呢?一个区块里有前一个区块的地址,另外,算力太大了,10分钟才能产生一个,完全是超低并发应用。
2018-04-03 - 0bug比特币交易模型中input应该是收入方,output是支出方吧
作者回复: 对于交易来说,input是交易的输入方,output是交易的输出方。
2018-04-03