主页 > 海外版imtoken > 比特币签名加密货币的密码学原理

比特币签名加密货币的密码学原理

海外版imtoken 2023-07-21 05:09:04

内容整理自北京大学肖震教授《区块链技术与应用》公开课

加密货币 (Crypto-)

加密货币不加密,区块链上的所有交易都是公开的,包括账户地址、转账金额等。

比特币使用两个加密功能:

1.哈希(哈希函数的工作原理自行百度)hash

2. 签名

散列的两个属性:1。

指哈希冲突:如果x != y,Hash(x) = Hash(y),这是哈希冲突,两个不同的输入计算出的哈希值 相等,这是必然的。 因为无限输入映射到有限输出(256 位哈希只有 2^256 个输出,但输入是无限的),根据鸽巢原理,必须有两个输入映射到相同的输出。

这并不是说不会有哈希冲突,冲突确实存在。 此属性意味着没有有效的方法来人为地创建散列冲突。 除非遍历所有输入可能性是蛮力,否则请查看哪些哈希值完全相等。 但这种方法在实践中并不可行,因为输入空间大,加上比特币签名的密码学原理,工作量大。

该属性的作用:可以用来对消息进行摘要。 例如,如果一条消息是 m,那么它的散列 H(m) 就是摘要。 它可用于检测对消息的篡改。 例如,如果有人改变了 m 的内容,它的哈希值就会改变。 这个性质保证你找不到m,所以哈希值H(m) = H(m)。 无法在不被发现的情况下篡改内容。

目前还没有数学上可以证明的哈希函数,也无法证明这个性质,只能通过实际经验来证明。 有一些散列函数以前被认为是,但后来被发现会产生散列冲突,例如 MD5。

2.隐藏?

哈希函数的计算过程是单向的比特币加密原理,不可逆的。

理想情况下,给定 x 生成 H(x),没有办法从 H(x) 推导出 x。 换句话说,H(x) 不会揭示任何关于 x 的信息。

还有一种方法可以知道输入信息,就是通过暴力算法遍历所有可能的值 。

成立条件: 1)输入空间太大,暴力破解不可行? 2)输入分布均匀,各种取值的可能性相似

该属性的作用:结合隐藏,实现数字/数字的封印。

在现实生活中,头衔的作用:如果有人能预测股市,就可以预测第二天哪些股票会上涨或下跌。 如何证明他的预测是否正确? 如果提前公布预测结果,比特币签名的密码学原理可能会影响股市,因此不能提前公布预测结果。 但如果不提前披露,第二天收市后又如何得知预测结果是否被篡改? 最终公布的结果是提前一天做出的吗? 封印可以在这个时候使用。 把预测结果写在一张纸上,装进信封,交给第三方公证机构保管,第二天打开验证结果是否准确。

在电子世界中,以预测结果作为输入,计算哈希值并发布。 由于隐藏属性,无法预测哈希计算的结果。 然后,在第二天收市后,公布预测。 由于其性质,此结果无法被篡改。 如果更改,哈希值将不匹配。

为了保证输入空间足够大,分布更均匀,可以对x加盐,然后取整体的hash值,H(x||nonce)。

3.拼图

这个属性是比特币需要的属性,也就是说hash值的计算是事先不可预测的,很难猜到一个输入的hash值是多少,所以如果想在一定范围内,就可以尝试一个输入,看看哪个输入的哈希落在要求的范围内。 我事先不知道哪个输入会计算某个哈希值,所以我只能尝试一下。

区块头中有一个nonce,“挖矿”就是不断尝试大量的nonce,使得H(区块头)

挖矿网Ethos中文网拥有简单易用的挖矿系统,为挖矿行业提供教程软件和矿机评测及交易信息,对比计算各种数字货币在挖矿网的挖矿收益,以及介绍矿网挖矿工具比特币加密原理,矿场最新动态等。

矿业网络,版权所有丨如未注明,均为原创丨本站采用BY-NC-SA协议授权

转载请注明原文链接:比特币签名加密货币密码学原理