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

比特币中的密码学原理:

比特币的本质: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:智能合约中的执行结果通常也会被数字签名以确保其完整性和可信度。当合约被执行时,合约执行的结果会被数字签名,并将签名与合约一起存储在区块链上,以供后续验证。

相关推荐
m0_3801671411 小时前
面向开发者的Top10加密货币数据API(2026年最新)
大数据·人工智能·区块链
2601_9594801516 小时前
Moneta Markets亿汇:“比特币高位修复风险偏好”
区块链
青山木17 小时前
Hot 100 --- 矩阵置零
线性代数·算法·leetcode·矩阵·哈希算法
snow@li17 小时前
前端:构建工具(Vite / Webpack)的 文件指纹(File Hash) 机制 / 浏览器缓存控制
前端·webpack·哈希算法
m0_380167141 天前
加密货币价格 API、市场数据 API 与 分析 API 有什么区别?
人工智能·ai·区块链
LedgerNinja1 天前
AEGET:提升决策效率,助力交易者建立清晰的交易体系
区块链
TDengine (老段)1 天前
TDengine 连接算子 — Inner/Outer/ASOF/Window Join 的实现与使用
大数据·数据库·物联网·哈希算法·时序数据库·tdengine·涛思数据
青山木1 天前
Hot 100 --- 缺失的第一个正数
算法·leetcode·哈希算法
2601_961963382 天前
Spring Boot集成电子签章的7个典型问题与解决方案:从入门到生产级实践
大数据·人工智能·spring boot·python·区块链·智能合约
zhuhai_xigedian2 天前
物联网技术在源网荷储系统中的创新应用
大数据·运维·人工智能·区块链·能源