news 2026/4/15 15:03:07

Web3 区块链技术与应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Web3 区块链技术与应用

01-比特币中的密码学原理

比特币,又被称为加密货币,但其实加密货币是不加密的,区块链上所有信息是公开的

比特币中主要用到了密码学中两个功能:1.哈希;2.签名

哈希(Cryptographic hash function)

两个性质:(密码学)

1.哈希碰撞:两个不同的输入算出来的哈希值是一样的

哈希碰撞很常见,也是不可避免的(因为输入空间是远远大于输出空间的)

没有什么高效的方法人为制造哈希碰撞

collision resistance:可以用来检测篡改(注:没有哪个哈希函数在数学可以证明是collision resistance,即理论无法证明)

2.hiding:哈希函数的计算过程是单向的,不可逆的(条件:输入空间足够大,让蛮力求解不可能实现,同时输入的分布比较均匀,各种取值的可能性都差不多)

若输入空间不足够大,可以在后面拼接一个随机数,然后再一起取哈希

hiding和collision resistance的性质结合起来,可以实现digital commitment(digital equivalent of a sealed envelop)

一个性质:(比特币)

puzzle friendly:哈希值事先不可计算,要让哈希值落在某一个范围值之内,只能一个一个去试

挖矿的过程没有捷径,只能不停地试nouce,所以这个过程才能被作为工作量证明(proof of work)

但是一旦这个nouce被找到,其他人要验证这个nouce是否符合要求就很容易,只要算一次哈希值即可(difficult to solve,but easy to verify)

比特币中用的哈希函数叫SHA-256(Secure Hash Algorithm)

签名

对称加密体系的一个弱点是密钥的分发不是很方便

比特币是去中心化的,每个人可以自己决定开户,无需任何人批准

开户只需要创立一个公钥和私钥对(public key,private key)

公私钥对来源于非对称的加密体系,叫做asymmetric encryption algorithm

加密用对方的公钥,对方收到后解密用自己的私钥

签名用的是私钥,验证签名用的是这个人的公钥

假设产生公私钥有一个好的随机源(a good source of randomness)

比特币中一般是先对一个message取哈希,再对这个哈希签名

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:07:41

Flutter Provider 状态管理深度解析与开源鸿蒙 ArkUI 状态管理对比

文章目录Flutter Provider 状态管理深度解析与开源鸿蒙 ArkUI 状态管理对比引言一、Flutter Provider 核心原理1.1 什么是 Provider1.2 Provider 核心组件1.3 Provider 工作流程二、Flutter Provider 实战教程2.1 环境准备2.2 案例:实现一个计数器应用步骤1&#xf…

作者头像 李华
网站建设 2026/4/12 7:35:02

Vue.js 前端框架开发知识点总结

前言Vue.js 作为目前最流行的前端框架之一,以其简洁的 API、灵活的组件化和优秀的性能获得了广大开发者的青睐。本文将系统总结 Vue.js 的核心知识点,帮助开发者更好地掌握这一框架。一、Vue.js 核心概念1.1 响应式原理Vue.js 的响应式系统是其核心特性&…

作者头像 李华
网站建设 2026/4/12 0:21:25

行测教程资源合集

归墟行测 文件大小: 9.9GB内容特色: 9.9GB行测全套题库视频精讲,夸克秒下适用人群: 国考、省考、事业单位备考者核心价值: 刷题模考解析一站式,提分快下载链接: https://pan.quark.cn/s/201aaf99d2e4 半月谈付费行测申论资料 文件大小: 57.6GB内容特色…

作者头像 李华