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

比特币中的密码学原理:

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

相关推荐
YSGZJJ3 小时前
股指期货贴水时,替代现货有啥好处?
区块链
山登绝顶我为峰 3(^v^)37 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
Two_brushes.8 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
mit6.82421 小时前
[Cyclone] 哈希算法 | SIMD优化哈希计算 | 大数运算 (Int类)
算法·哈希算法
小赖同学啊2 天前
物联网数据安全区块链服务
开发语言·python·区块链
CN-Dust2 天前
【FMZ】数字货币程序化交易简介
区块链
码荼2 天前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
摘取一颗天上星️2 天前
后端密码加密:守护用户数据的钢铁长城
计算机网络·哈希算法·加密算法
数据与人工智能律师2 天前
数字资产革命中的信任之锚:RWA法律架构的隐形密码
大数据·网络·人工智能·云计算·区块链
小赖同学啊2 天前
区块链技术在物联网(IoT)中的核心应用场景
物联网·区块链