一分钟读书俱乐部(七十八):《区块链技术驱动金融》SHA-256哈希函数的运算

原文精选:矿工计算难度的核心在于,对SHA-256哈希函数的运算。我们在第1章抽象地讨论过哈希函数。SHA-256是一个通用的密码学哈希函数,它是在2001年被标准化的密码学哈希函数大家族里的一员。


SHA是安全哈希算法(Secure  Hash  Algorithm)的简称。SHA-256是一个不错的选择,因为它是比特币被发明时可用的密码学哈希函数中保密性最强的。虽然它的安全性有可能随着时间推移而慢慢降低,但至少现在它还是很安全的。SHA-256的设计来自美国国家安全局(NSA),这也导致了一些阴谋论的诞生,但是并不影响它是一个很强的哈希函数的事实。


图5.5展示了SHA-256运算的具体细节,虽然我们不需要知道比特币工作原理的所有细

节,但是对矿工计算任务的大概了解是很有帮助的。


一分钟读书俱乐部(七十八):《区块链技术驱动金融》SHA-256哈希函数的运算_第1张图片


读书笔记:

1,矿工计算难度的核心在于,对SHA-256哈希函数的运算。

2,SHA-256是密码学哈希函数中保密性最强的。


原文精选:SHA-256名称中的“256”代表它有256位的状态和输出,技术上来说,SHA-256是SHA-2函数家族中几个密切相关的函数成员之一,包括SHA-512(它有更大的状态位,所以也更加安全)。还有一个是SHA-1,  这是一个有160位输出的早期函数,虽然目前认为安全性不高,但是同样应该在比特币脚本里。


整个SHA-2家族,包括SHA-256在密码学上的安全性是得到公认的,而下一代产品SHA-3家族已经从一个公开的竞赛(由美国国家标准与技术研究所举办)中诞生了。SHA-3目前正在进行最后阶段的标准化测试,但在比特币出现的时候,它还没有出世。


SHA-256是一个256位的状态机。这256个状态被分割成8个32位的字段,这样它可以最优化地运行在32位的硬件上。每一轮运算选择一定数量的字段——有些会进行一些小的逐位调整——最终进行32位模加法运算(modular addition),然后运算结果被移到状态最左的第一个字段,这样使得整个状态进行向右位移。这种设计的思路来自简单位的线性反馈移位寄存器(Linear Feedback Shift Registers,简称LFSR)。


读书笔记:

1,SHA-256名称中的“256”代表它有256位的状态和输出。

2,SHA-256是一个256位的状态机。这256个状态被分割成8个32位的字段,这样它可以最优化地运行在32位的硬件上。


原文精选:图5.5展示了一轮SHA-256的压缩函数运算,一个完整的SHA-256运算要做64次这样的迭代运算,在每一轮运算中,会使用稍微不同的常数,所以所有的迭代运算都是不一样的。


矿工的任务就是尽可能快地进行这种函数运算。矿工们互相比拼运算速度,算得越快收益越高。为了实现尽可能快的速度,矿工需要进行32位字段操控,32位模加法运算,同时做按位逻辑运算。


我们很快就会看到,在比特币机制下,为了得到供其他节点使用的哈希函数,实际上要求两轮SHA-256运算。这是比特币的奇怪之处,进行两次运算的原因并不清楚,但这就是比特币的个性,作为比特币矿工只能服从。


读书笔记:

1,一个完整的SHA-256运算要做64次这迭代运算,矿工的任务就是尽可能快地进行这种函数运算,算得越快收益越高。

2,比特币的机制要求进行两轮SHA-256运算。


一叶之秋带你一分钟速读经典书籍,每天一分钟(只需阅读读书笔记部分),天天获新知。


一叶之秋——非著名股票分析师

CCTV证券资讯频道特邀分析师

币乎,币问内测作者;区分认证分析师

金色财经,币世界专栏作家

《区块链编年史》 《区块链重塑未来》系列作者

量价时空战法体系,一分钟读书俱乐部创始人

公众号:区块链项目评测

007er

你可能感兴趣的:(一分钟读书俱乐部(七十八):《区块链技术驱动金融》SHA-256哈希函数的运算)