区块链知识总结——比特币中的密码学原理

比特币中的密码学原理:

比特币的本质:crypto-currency.

比特币用到密码学中的两个功能:

1.哈希函数(cryptographic hash function)

三个重要性质:

(1)抗碰撞性collison resistance:对于任意给定的哈希函数,极其困难找到两个不同的输入值产生相同的哈希值。这意味着在理想情况下,两个不同的输入值会生成不同的哈希值。但由于输入空间远大于哈希值空间,碰撞是不可避免的。一个强大的哈希函数(例如:SHA-256)应该使碰撞发生的概率非常低。

(2)单向不可逆性hiding:对于给定的哈希值,计算出原始输入值是不可行的。哈希函数应该是单向的,即可以轻松计算哈希值,但无法通过哈希值逆推回原始输入。这个性质保证了哈希函数的安全性,防止从哈希值中推导出敏感信息。

x-->H(x)是容易的(或者是可行的)

H(x)-->x是困难的(或者是不可行的)

(3)puzzle friendly:对于给定的哈希值,找到与之匹配的输入值应该是困难且耗时的。这个性质在密码学中被广泛应用于各种协议和算法,例如工作量证明(Proof of Work)机制,其中需要通过计算满足一定条件的哈希值来解决谜题。

换一种说法就是哈希值是不可预测的,即如果想要H(x)落在某一个区域内没有什么好的办法,只能一个一个去试。

挖矿中的应用:

这三个性质共同确保了哈希函数的安全性和实用性。碰撞性质防止恶意攻击者找到两个相同的哈希值;隐藏性质保护原始数据的机密性;谜题友好性质则在分布式系统和密码学协议中提供了安全性和可靠性。

2.数字签名(非对称加密)

密钥分为公钥(public key)私钥(private key).

加密使用私钥 ;解密使用公钥

原理图如下:

数字签名可确保交易的合法性,即在交易被发送到区块链网络之前,发送者使用私钥对交易进行签名。一旦交易被写入区块链,任何人都可以使用发送者的公钥来验证交易的签名,从而确保交易未被篡改。

另一种解释:**在比特币区块链中,私钥代表了对比特币的控制权。**交易发起方用私钥对交易(包括转账金额和转账地址)签名并将签名后的交易和公钥广播,各节点接收到交易后可以用公钥验证交易是否合法。在这个过程中交易发起方无须暴露自己的私钥,从而实现保密目的。

ps:智能合约中的执行结果通常也会被数字签名以确保其完整性和可信度。当合约被执行时,合约执行的结果会被数字签名,并将签名与合约一起存储在区块链上,以供后续验证。

相关推荐
傻小胖25 分钟前
18.ETH-GHOST-北大肖臻老师客堂笔记
笔记·区块链
链诸葛2 小时前
图灵公链近期将与香港首条元宇宙公链NOVA进行全面深度融合与迁移,预计将引入百万级流量,开启双方生态协同发展的新篇章。
区块链
傻小胖2 小时前
19.ETH-挖矿算法-北大肖臻老师客堂笔记
笔记·算法·区块链
@Aurora.12 小时前
优选算法【专题九:哈希表】
算法·哈希算法·散列表
henujolly16 小时前
如何与 Uniswap、Sushiswap 等去中心化交易所交互,理解 AMM(自动做市商)的原理
去中心化·区块链
80530单词突击赢20 小时前
C++哈希表实现:开散列与闭散列详解
算法·哈希算法·散列表
岁岁种桃花儿1 天前
深度解析DolphinScheduler核心架构:去中心化调度的设计与实践
架构·去中心化·区块链
多多*1 天前
Mysql数据库相关 事务 MVCC与锁的爱恨情仇 锁的层次架构 InnoDB锁分析
java·数据库·windows·sql·oracle·面试·哈希算法
金枪不摆鳍1 天前
算法基础-哈希表
算法·哈希算法
Blossom.1181 天前
从“金鱼记忆“到“超级大脑“:2025年AI智能体记忆机制与MoE架构的融合革命
人工智能·python·算法·架构·自动化·whisper·哈希算法