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

比特币中的密码学原理:

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

相关推荐
小果因子实验室14 小时前
量化研究--编写第一个回测算法策略研究
大数据·区块链
-dzk-15 小时前
【哈希】LC 49.字母异位词分组
算法·哈希算法
数行拙笔19 小时前
Redis---hash类型
数据库·redis·哈希算法
不负岁月无痕1 天前
STL --C++哈希表封装unordered_map/set
c++·visualstudio·哈希算法·散列表·unordered
IvorySQL1 天前
PG 日报|SQL/PGQ 图查询基于联接重写机制实现
数据库·人工智能·sql·postgresql·区块链·ivorysql
磐链科技2 天前
技术服务:交易所从流量竞争到生态竞争的核心变量
区块链
Web3李李3 天前
DApp核心安全漏洞与项目方全方位防护指南
web3·区块链·智能合约·软件开发·dapp开发·安全审计
影寂ldy3 天前
C# 五大加密算法全套实战(AES/DES对称、RSA非对称、MD5/SHA256哈希)
开发语言·c#·哈希算法
AI科技星3 天前
基于全域数学公理体系求解三元约束极值题【乖乖数学】
人工智能·算法·机器学习·密码学·拓扑学·乖乖数学·全域数学
双缝观察者3 天前
消费场景中,多层级资金流转异常模式识别与溯源方法
区块链