自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搬砖魁首的博客

区块链从入门到宁静

  • 博客(248)
  • 问答 (1)
  • 收藏
  • 关注

原创 密码学随想--隐私电话号码协议--彻底结束骚扰电话时代

手机号│├── 身份标识│└── 绑定随机生成的私钥 SK│▼公钥 PK手机号本身不是私钥,这一点仍然必须保持。注册大量账号获取大量 Credential然后批量骚扰。所以协议还需要一个反滥用层Credential身份认证速率限制异常呼叫检测投诉/信誉Credential 撤销密码学解决“你是谁、你是否有权限”;电话网络解决“你能不能接入”;反滥用系统解决“你是否在滥用权限”。

2026-10-05 13:07:13 207

原创 密码学系列 - 后量子密码 - (3)同源ECC_vs_PQC

注意: 上一代的同源密码。

2026-09-25 14:02:34 394 1

原创 密码学系列 - 后量子密码 - (2)椭圆曲线密码ECC

Shor 算法可破解 ECDLP 和双线性配对类 ECC。随着量子计算发展,这类传统 ECC 正从“理论受威胁”走向“现实受威胁”。基于 ECDLP 和双线性配对的 ECC 仍是当前主流产品基础,但已不是理论主战场;量子时代它们会退场,而。,同源 ECC 将在后量子密码和新型计算威胁应对中继续发挥作用。

2026-09-13 14:12:45 180 1

原创 密码学系列 - 后量子密码 - (1)简介

结论:后量子密码(PQC)已从“远期理论”进入“工程与路线图”阶段,是当前区块链安全热点之一。

2026-09-03 10:24:29 322 1

原创 基础能力系列 - 多线程2 - 条件变量

如果先执行的Produce(),后执行的Consume(),生产者提前生产出了数据,去通知消费者,但是此时消费者线程如果还没有执行到wait语句,即线程还没有处于挂起等待状态,线程没有等待此条件变量上,那通知的信号就丢失了,后面Consume()中才执行wait处于等待状态,但此时生产者已经不会再触发notify,那消费者线程就会始终阻塞下去,出现bug。通常有wait和notify两个动作,wait用于阻塞挂起线程A,直到另一个线程B通过通过notify唤醒线程A,唤醒后线程A会继续运行。

2026-06-07 18:22:21 274 1

原创 基础能力系列 - 多线程1 - 内存序

C++11 定义了 6 种原子操作的,用于控制多线程中的。

2026-05-24 15:21:10 273

原创 基础能力系列 - Cache-Friendly 编程技巧

在现代 C++ 编程中,是一种优化思维方式,旨在最大程度地利用 CPU 的高速缓存(L1/L2/L3 Cache),提高内存访问效率,降低 cache miss 和访问延迟,从而显著提升程序性能。

2026-05-12 00:20:00 452 1

原创 基础能力系列 - CPU和GPU的Cache Line

是的,在大多数现代 CPU 架构中,缓存行(Cache Line)的大小通常是 64 字节。当多个线程在共享一个缓存行内的不同数据时,即使这些数据没有直接关联,任何一个线程对其中某一部分数据的写操作都会导致缓存行的失效和同步。总的来说,虽然 GPU 和 CPU 的缓存机制不同,但在高性能计算中,都需要注意伪共享问题及其对性能的影响。),那么即使线程操作的数组元素不同,每次写操作仍会导致缓存行的无效化和同步,从而影响性能。是的,GPU 也有类似的缓存机制和潜在的伪共享问题,但其表现形式与 CPU 有所不同。

2026-05-03 16:54:48 509 1

原创 基础能力系列 - 如何安全养虾? - 容器化部署龙虾

参考: https://juejin.cn/post/7616025751746297862。

2026-04-26 12:25:36 563 2

原创 密码学系列 - TEE

它并不是一个 SGX 的。安全执行环境TEE(SGX(Intel) / SEV(AMD),TrustZone(Arm)等),相关开源项目(Graphene/Occlum/OpenEnclave/Asylo等)基于原生SDK的开发存在较高的学习门槛,而很多实际业务应用依赖特定的库文件(如PyTorch),此时基于SDK的开发会非常烦琐。相比纯软件的隐私保护解决方案(比如之前介绍的同态加密、混淆电路等软件加密方案)​,SGX的优势主要体现在以下3个方面。,而是专门为直接在 SGX 硬件上运行而设计的。

2026-04-19 14:50:50 520 3

原创 Fabric系列 - HSM之3 区块链上的结合

参考。

2026-04-12 15:48:10 597 1

原创 Fabric系列 - HSM之2 容器化

现在对等节点或排序节点已配置为使用 HSM,当您启动该节点时,它将能够使用受 HSM 保护的私钥对交易进行签名和背书。如果您不担心公开您的 CA 签名证书,您可以跳过此步骤,只为您的对等节点或排序节点配置 HSM,如后续步骤所述。然后,对于每个节点,通过针对您在步骤 2 中注册的节点身份进行注册,使用 Fabric CA 客户端生成对等节点或排序节点的 MSP 文件。enroll 命令使用的不是将私钥存储在关联 MSP的文件夹中节点的 HSM 以生成和存储对等节点或排序节点的私钥。

2026-03-29 21:29:26 588 5

原创 Fabric系列 - HSM之1 介绍

其中,PKCS11(Public-Key Cryptography Standards)类型是基于HSM(Hardware Security Modules)硬件安全模块(https://github.com/miekg/pkcs11)的加密服务实现,属于通用的接口标准,利用pkcs11库提供的上下文对象pkcs11.Ctx在SessionHandle基础上支持密码服务,SW类型是基于软件的加密服务实现的,直接使用crypto库下的包支持密码服务。在签名,verify和recover时都是需要的)

2026-03-23 21:22:02 635 4

原创 密码学系列 - 零知识证明(ZKP) - 为什么把zkstark的证明提交到在evm链上时,得先包装成zksnark证明?

将 zk-STARK 证明转换成 zk-SNARK 证明的过程,通常是通过一种**递归证明(recursive proof composition)**的技术来实现的。最终结果是:原本体积较大的 zk-STARK 证明,被压缩成了一个小的 zk-SNARK 证明,而 zk-SNARK 的验证在 EVM 上高效可行。递归证明是通过使用 zk-SNARK 生成一个新的证明,该证明验证 zk-STARK 的正确性。将 zk-STARK 逻辑分成多层,每一层的验证逻辑由上一层的 zk-SNARK 证明表示。

2026-03-14 16:33:45 601 7

原创 密码学系列 - ECDSA的门限签名方案

门限签名允许在不需要集中私钥的情况下,由多个参与者生成签名,并且只有在达到一定数量的签名(即达到阈值)时,签名才被视为有效。要理解为什么 ECDSA 支持签名合成的原理,我们需要深入探讨椭圆曲线密码学(ECC)和门限签名的基本工作机制。特别是需要了解如何通过椭圆曲线实现分布式密钥生成和签名合成。尽管 ECDSA 本身并不直接支持门限签名,但是通过特定的密码学协议和分布式计算方法,可以实现这一目标。以下是相关原理的详细解释。

2026-03-09 23:33:49 565 4

原创 发刊七周年

回首过往,很后悔做错了多个选择。人生就是一连串嵌套的if else,进了这个分支,就跳不出来了。假如那时候选了B会怎么样,在平行宇宙里可以走出另一段。2026年过的太快了。上半年在研发AI(如果调大模型参数和做AI应用也能被认为是在研发AI的话),下半年在学习金融知识。“写代码只是在打字,已经不值钱”—今年看到比较震惊的话。作为码农,深有体会,一年年的浮沉,收入回到了改革前。先苟且着看看书吧,跑到下一个if时自己能做判断,而不是让AI来做。

2026-02-11 10:58:06 91

原创 密码学系列 - 环签名 - 环机密签名

如果对不同消息m1和m2 ,签名者可生成合法签名 σ1 和 σ2 (可选择不同的公钥列表),存在概率多项式算法 F ,得出 (params, L, m1, m2, σ1, σ2) 是同一人签名的概率是不可忽略的;在此猜测:发送者为了找到可以使用的冗余输出,即金额相等的输出,应该会去遍历历史交易的输出,使用 Pedersen commitments of 自己的输出金额 - Pedersen commitments of 其它的输出金额 = a zero Pedersen commitment。

2026-01-28 22:54:13 826 1

原创 密码学系列 - 零知识证明(ZKP) - Schnorr协议

椭圆曲线参数: 一个素数ppp,定义有限域FpFp​。生成元: 一个生成元GGG。公钥PxGP = xGPxG,其中xxx是私钥。Schnorr 零知识证明协议是一种简单且高效的协议,能够在不泄露秘密信息的情况下,证明某人拥有该信息。它的主要应用包括密码学、区块链和身份验证等领域。通过以上步骤和示例代码,展示了如何实现并验证 Schnorr ZKP 协议。Fiat-Shamir变换消除了交互需求,生成一个可公开验证的证明。

2026-01-10 13:11:08 1535 1

原创 密码学的数学基础3-浮点数在计算机中的的实现

浮点数的实现涉及复杂的二进制表示和标准化操作。IEEE 754 标准提供了一个统一的框架,使得浮点数在不同计算机系统上都能保持一致性和可移植性。了解这一实现原理对于从事科学计算、数值分析和计算机图形学的开发者来说非常重要。IEEE 754 标准浮点数的表示与计算区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。

2025-12-29 22:34:44 1298 1

原创 ZK-ALU-在有限域上实现乘法和除法

例如,如果 a 和 b 都是偶数,那么 gcd(a, b) = 2 * gcd(a/2, b/2)。蒙哥马利模约简是一种高效的模运算方法,特别适用于大型整数的乘法和求逆操作。辗转相减是求最大公约数的一种方法,大数减小数,然后把差赋值给大数, 重复, 直到两数相等时,即为最大公约数。在除以 2 的过程中,如果 b 或 c 变为负数,则加上模数 P.MODULUS。循环结束后,如果 u 为 1,则 b 就是 self 的模逆元。如果 v 小于 u,则 u 减去 v,b 减去 c。大的最小的 2 的幂。

2025-12-17 00:32:21 996 1

原创 Win10+Ubuntu -老电脑装双系统踩坑实录

最近家里的台式机坏了,换主板后,捣鼓双系统,踩了好些坑,来复盘一把系统硬件。

2025-12-10 18:31:57 572

原创 密码学系列 - ECDSA vs. EdDSA:主要区别

ECDSA(椭圆曲线数字签名算法)和 EdDSA(Edwards 曲线数字签名算法)都是基于椭圆曲线的签名算法,但 EdDSA 在多个方面优化了 ECDSA,使其更快、更安全且更易于实现。

2025-11-30 10:22:55 1196

原创 密码学系列 - 介绍几种不同的签名方案

特性SchnorrECDSAEdDSA数字签名算法SR25519ECDSAEd25519算法复杂性简单较复杂适中安全性高依赖随机数质量高,避免随机数问题计算效率高适中高常用曲线多种,包括 Edwards多种,包括 secp256k1Edwards 曲线(如 Ed25519)应用场景多种区块链、数字签名高性能应用,SSH、TLS。

2025-11-17 23:08:45 896 2

原创 密码学系列 - 零知识证明(ZKP) - NTT与MSM的总结

尽管它们在数学定义上不同,但在许多密码学和零知识证明系统中,它们常常相辅相成:

2025-10-26 14:07:39 671 1

原创 密码学系列 - 零知识证明(ZKP) - MSM运算

在 Aleo Testnet 挖矿中,MSM(多标量乘法)是生成 zkSNARK 证明的核心操作之一。它通过处理电路中的标量和椭圆曲线点之间的乘法关系,帮助矿工生成隐私保护的零知识证明。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。

2025-10-12 16:46:10 1360 1

原创 密码学系列 - 零知识证明(ZKP) - NTT运算

NTT(Number Theoretic Transform,数论变换)是一种与快速傅里叶变换(FFT)类似的技术,主要用于多项式的快速乘法计算,是实现同态加密、零知识证明等密码学应用的基础工具之一。数论变换(Number Theoretic Transform,NTT)通常用于加速多, 但不包含椭圆曲线标量乘法运算。多项式乘法的卷积运算在时域中计算较慢,而通过 NTT,可以将多项式从时域转换到频域,在频域中可以简单地逐系数相乘来完成卷积操作,然后再通过逆 NTT 转回时域。这样可以显著提升On2。

2025-10-05 14:59:58 1470 1

原创 公链分析报告 - 模块化区块链2

模块化区块链通过将不同功能分离为独立模块,提高了系统的可扩展性、灵活性和可维护性。随着区块链技术的发展,越来越多的项目采用模块化架构,以应对复杂的应用需求和不断增长的用户数量。上述示例代码展示了模块化区块链的基本概念,实际应用中会更加复杂和细致,包括更严格的安全措施和优化策略。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。

2025-09-27 16:49:52 1043 1

原创 Polkadot - ELVES Protocol详解

ELVES (Endorsing Light Validity Evaluator System) 即 轻量级背书有效性评估系统, 是JAM的区块批准和审计系统.该协议的总体思路是(VRF)随机选择一小部分初始审计员来重建和审计区块。如果存在相互矛盾的声明,或审计员缺席,则会为该区块分配更多审计员。

2025-09-21 22:45:13 802 1

原创 公链分析报告 - Secret Network

目前,用户可以在该跨链桥上创建 ETH 或者 ERC-20 资产的 Secret 代币版本,最初支持的资产包括 ETH、WBTC、DAI、YFI、OCEAN、LINK、USDT、TUSD、UNI、BAND、BAC 和 AAVE 等。共识种子是秘密网络加密模式中最关键的部分,因为所有其他密钥,因此协议的功能取决于最初生成的共识种子的安全分发。秘密合约的输入,例如区块高度、时间、链 ID、发送者、地址、发送的资金和合约哈希值是不加密的。此外,每个合约必须是唯一的,以确保具有相同代码的两个合约的状态不同。

2025-09-14 22:56:00 1285 1

原创 公链分析报告 - 模块化区块链1

模块化区块链是专注于处理少数职责并将其余部分外包给一个或多个独立层的区块链。要了解模块化区块链的工作原理,我们必须首先评估常规区块链的「职责」:共识、执行、数据可用性和结算。

2025-09-07 12:07:12 1055 1

原创 Polkadot - ELVES

ELVES (Endorsing Light Validity Evaluator System) 即 轻量级背书有效性评估系统。它是 JAM 可扩展且自适应的区块审计协议,即是JAM用于区块的协议, 确保只有有效区块才能最终确定。

2025-08-31 15:30:35 1086 1

原创 Polkadot - JAM

✅ 原生 x64 速度的 45% ✅ 确定性、高效且可计量的执行 ✅ 支持任何编译为 RISC-V 的语言。类似Gas, 用于计费. DOT 仍然是Coretime购买的关键,但 JAM 可能会显著扩展Coretime的利用方式。:它源自 SASSAFRAS,简化了某些组件,以最大限度地提升未来的潜在用例。JAM的共识协议Safrole , 波卡的中继链采用GRANDPA、Common Clock。Dank-sharding 协议,支持每个区块托管1MB 的承诺数据(数据本身不上链)

2025-08-24 20:33:59 1208 1

原创 密码学系列 - 零知识证明(ZKP) - 多种承诺方案

KZG承诺方案在简洁方面是最好的,因为它的证明规模和验证时间都是恒定的,这意味着电路规模的增加不会导致证明规模的增加。与FRI承诺相比,KZG10承诺有一些独特的功能,它不是对某个字节做出的承诺,而是对多项式的承诺。FRI即Fast Reed-Solomon IOPP,FRI承诺的核心是对要承诺的多项式进行“折叠”,通过“折叠”将一个计算次数很高的多项式逐步转化为计算次数较低、验证者可以接受的计算复杂度的多项式。3.4.4 不同方案的对比不同的零知识证明算法的关键差别,是它们采用了不同的多项式承诺方案。

2025-08-17 23:20:09 1481 1

原创 密码学的数学基础2-Paillier为什么产生密钥对比RSA慢

通常需要 1024-bit 或更高的长度(如 2048-bit)。(如 OpenSSL BIGNUM 库的素数生成优化)。椭圆曲线密码学基于椭圆曲线上的点运算。,减少实时生成的开销(适用于批量密钥生成)。ECC 的安全性基于椭圆曲线。Paillier 加密系统的安全性基于。密钥生成的第一步是生成两个大素数。,同时运行两个线程分别寻找素数。(ECDLP)的难度,即给定点。所以,Paillier。

2025-08-10 13:52:37 983 1

原创 Token系列 - 再谈稳定币

要理解稳定币,首先要理解区块链。区块链是一个大家一起记账的“超大电子账本”,且每页账都封在一个“区块”里,一页一页串起来,变成“链”。举个例子,小巴和同事一起点外卖,每次谁付钱、谁欠多少钱,全都记在一个账本里,每十单,大家就把这一页撕下来贴墙上,大家签字作证——这个账本就像“区块链”,每一页就像一个“区块”,一页页按顺序贴着,就像“链”。在这本账簿中,谁都可以记账,没有一个固定的记账员统一管理;一旦写进账本,谁都不能改;关键是,这本账簿谁都能查阅。这就是区块链的三个特征:去中心化、不可篡改、公开透明。

2025-08-02 14:33:45 1385 1

原创 密码学系列 - 密钥派生

本文介绍了密钥派生(Key Derivation)的基本概念和实现方法。密钥派生是从高熵源(如随机数或密码短语)生成特定用途密钥的过程,常用于加密、数字签名等场景。文章详细说明了SSH密钥派生的三个步骤:源密钥选择、派生函数选择(如PBKDF2、bcrypt等)和最终密钥生成。重点讲解了如何通过邮箱地址派生固定密钥,提供了Python示例代码(使用PBKDF2算法),并强调了安全性考虑,指出单独使用邮箱可能存在的风险,建议结合密码或私钥增强安全性。最后还提及了密钥派生在区块链和密码学领域的扩展应用。

2025-07-26 12:07:47 1445 1

原创 DevCon 6记录

演示和演示涵盖了零知识证明的广泛应用,从轻客户端到机器学习,再到防垃圾邮件和匿名社交媒体。本次会议更多地关注应用层而不是深入的技术细节,将为任何技术知识水平的人提供应用 ZK 环境的概述。完整时间表:https://www.notion.so/0xparc/Applied-ZK-SLS-360fcd3f2a824759b1373ddeef5bf564。

2025-07-21 22:00:04 988 1

原创 Filecoin系列 - IPLD 技术分析

Erasure Code是一种编码技术,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。

2025-06-21 14:14:54 948 1

原创 链游为什么都用MPC钱包?

链游使用MPC钱包主要是为了在确保安全性的同时,提供更好的用户体验和灵活性。MPC技术通过分割和分散管理私钥,解决了传统钱包在安全和易用性上的诸多问题,特别适合高频交易和去中心化管理需求的区块链游戏环境。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。

2025-06-09 10:13:58 616

原创 实现MPC钱包

多方计算(MPC,Multiparty Computation)钱包是一种利用密码学技术实现的加密货币钱包,它允许多个参与者共同生成和管理钱包的私钥,而无需将私钥暴露给任何单个参与者。这种钱包具有高度的安全性和隐私性。

2025-05-31 19:11:59 1526

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除