当前位置: 首页 > news >正文

【区块链】区块链密码学基础


鑫宝Code

🌈个人主页: 鑫宝Code
🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础
💫个人格言: "如无必要,勿增实体"


文章目录

  • 区块链密码学基础
    • 引言
    • 一、哈希函数
      • 1.1 基本概念
      • 1.2 数学表达
    • 二、非对称加密
      • 2.1 基本原理
      • 2.2 数学基础
      • 2.3 应用场景
    • 三、数字签名
      • 3.1 工作原理
      • 3.2 数学表达
    • 四、默克尔树
      • 4.1 结构特点
      • 4.2 数学表达
    • 五、零知识证明
      • 5.1 基本概念
      • 5.2 性质
      • 5.3 数学表达
    • 六、同态加密
      • 6.1 原理
    • 结论
    • 参考资料

区块链密码学基础

引言

密码学是区块链技术的核心基石,没有现代密码学的支撑,区块链的去中心化、不可篡改等特性将无从谈起。本文将深入浅出地介绍区块链中的密码学基础知识。
在这里插入图片描述

一、哈希函数

1.1 基本概念

哈希函数(Hash Function)是区块链中最基础的密码学工具,它可以将任意长度的输入数据映射为固定长度的输出。在区块链中最常用的是 SHA-256 算法。

哈希函数具有以下特性:

  • 单向性:由输入计算输出容易,但由输出推算输入几乎不可能
  • 抗碰撞性:找到两个不同的输入产生相同的输出是极其困难的
  • 确定性:相同的输入必然产生相同的输出
  • 雪崩效应:输入的微小变化会导致输出的巨大变化

1.2 数学表达

对于输入消息 m m m,哈希函数 H H H 将生成固定长度的哈希值:

H ( m ) = h H(m) = h H(m)=h,其中 h h h 的长度固定
在这里插入图片描述

二、非对称加密

2.1 基本原理

非对称加密使用一对密钥:公钥(Public Key)和私钥(Private Key)。公钥可以公开分享,私钥需要安全保管。在区块链中,最常用的是椭圆曲线加密算法(ECDSA)。

2.2 数学基础

椭圆曲线加密基于如下方程:

y 2 = x 3 + a x + b ( m o d p ) y^2 = x^3 + ax + b \pmod{p} y2=x3+ax+b(modp)

其中 a a a b b b 是系数, p p p 是一个大素数。

私钥是一个随机数 k k k,公钥 K K K 通过以下方式生成:

K = k ⋅ G K = k \cdot G K=kG

其中 G G G 是椭圆曲线上的基点。

2.3 应用场景

  • 数字签名
  • 地址生成
  • 身份认证

三、数字签名

在这里插入图片描述

3.1 工作原理

数字签名用于证明消息的真实性和完整性。签名过程如下:

  1. 计算消息哈希: h = H ( m ) h = H(m) h=H(m)
  2. 使用私钥 k k k 对哈希值进行签名: s = S i g n ( h , k ) s = Sign(h, k) s=Sign(h,k)
  3. 生成签名对 ( r , s ) (r,s) (r,s)

验证过程:
V e r i f y ( h , ( r , s ) , K ) = t r u e / f a l s e Verify(h, (r,s), K) = true/false Verify(h,(r,s),K)=true/false

3.2 数学表达

ECDSA 签名算法的核心计算:

  1. 选择随机数 d d d
  2. 计算点 R = d ⋅ G = ( x r , y r ) R = d \cdot G = (x_r, y_r) R=dG=(xr,yr) r = x r ( m o d n ) r = x_r \pmod{n} r=xr(modn)
  3. 计算 s = d − 1 ( h + k r ) ( m o d n ) s = d^{-1}(h + kr) \pmod{n} s=d1(h+kr)(modn)

其中 n n n 是椭圆曲线的阶。

四、默克尔树

4.1 结构特点

默克尔树(Merkle Tree)是一种哈希树,用于高效地验证大量数据的完整性。

            Root Hash
           /          \
      Hash(1,2)     Hash(3,4)
      /      \      /      \
    Hash1   Hash2  Hash3   Hash4
    |        |      |       |
   TX1      TX2    TX3     TX4

4.2 数学表达

对于交易集合 T X = { t x 1 , t x 2 , . . . , t x n } TX = \{tx_1, tx_2, ..., tx_n\} TX={tx1,tx2,...,txn},默克尔根的计算:

M e r k l e R o o t = H ( H ( H ( t x 1 ) ∣ ∣ H ( t x 2 ) ) ∣ ∣ H ( H ( t x 3 ) ∣ ∣ H ( t x 4 ) ) ) MerkleRoot = H(H(H(tx_1) || H(tx_2)) || H(H(tx_3) || H(tx_4))) MerkleRoot=H(H(H(tx1)∣∣H(tx2))∣∣H(H(tx3)∣∣H(tx4)))

其中 ∣ ∣ || ∣∣ 表示字符串拼接。

五、零知识证明

5.1 基本概念

零知识证明允许证明者向验证者证明某个命题的正确性,而无需透露任何其他信息。

5.2 性质

  • 完整性:如果命题为真,诚实的证明者可以说服验证者
  • 可靠性:如果命题为假,任何证明者都无法说服验证者
  • 零知识性:验证者除了命题的正确性外,无法获得任何其他信息

5.3 数学表达

以 Schnorr 协议为例:

  1. 证明者选择随机数 r r r,计算 R = r ⋅ G R = r \cdot G R=rG
  2. 验证者发送随机挑战 c c c
  3. 证明者计算响应 s = r + c ⋅ x s = r + c \cdot x s=r+cx
  4. 验证者检查 s ⋅ G = R + c ⋅ P s \cdot G = R + c \cdot P sG=R+cP

六、同态加密

6.1 原理

同态加密允许在加密数据上直接进行计算,而无需解密。

对于明文 m 1 , m 2 m_1, m_2 m1,m2,加密函数 E E E,存在运算 ⊕ \oplus ,使得:

E ( m 1 ) ⊗ E ( m 2 ) = E ( m 1 ⊕ m 2 ) E(m_1) \otimes E(m_2) = E(m_1 \oplus m_2) E(m1)E(m2)=E(m1m2)

结论

密码学为区块链提供了坚实的安全基础。通过哈希函数、非对称加密、数字签名等技术的组合,实现了去中心化、不可篡改、匿名性等核心特性。随着零知识证明、同态加密等新技术的发展,区块链的应用场景将更加广泛。

参考资料

  1. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System
  2. Goldwasser, S., Micali, S., & Rackoff, C. (1989). The Knowledge Complexity of Interactive Proof Systems
  3. Merkle, R. C. (1987). A Digital Signature Based on a Conventional Encryption Function

End

相关文章:

  • 深度学习中的学习率调度器(lr_scheduler)详解:以 Cosine 余弦衰减为例(中英双语)
  • 内网穿透工具NPC(客户端以命令行方式连接详细教程)
  • 前端中的拖拽知识
  • SpringBoot项目实现用户token和资源的多重校验
  • 【面试系列】Java开发--AI常见面试题
  • 微信小程序项目 video 组件失效问题,无法播放本地视频
  • 大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1)
  • Percona XtraDB Cluster (PXC) 8.0的搭建
  • 【狂热算法篇】探秘图论之 Floyd 算法:解锁最短路径的神秘密码(通俗易懂版)
  • 为什么在 TypeScript 中需要使用 import type?——以 Babylon.js 为例
  • 无人机仿真、感知、规划
  • 千峰React:函数组件使用(2)
  • GIS地图、轨道交通与智能驾驶UI设计:未来交通的智能化探索
  • TPU(Tensor Processing Unit)详解
  • nnUNet V2修改网络——加入MultiResBlock模块
  • 1.25作业
  • 注意力机制进化史:从MHA到MoBA,新一代注意力机制的极限突破!
  • 计算机毕业设计SpringBoot+Vue.js母婴商城(源码+LW文档+PPT+讲解+开题报告)
  • Python zip 函数详解:用法、应用场景与高级技巧(中英双语)
  • 现代Web开发工具与技术全解析
  • 5月起,这些新规将施行
  • 杭州挂牌临平区两宗住宅用地,起始总价约11.02亿元
  • 证监会副主席王建军被查
  • 外媒称菲方允许菲官员窜台,国台办:应停止在台湾问题上玩火
  • 科学家为AI模型设置“防火墙”,以防止被不法分子滥用
  • 王毅:妥协退缩只会让霸凌者得寸进尺