- 博客(237)
- 问答 (1)
- 收藏
- 关注
原创 Fabric系列 - HSM之2 容器化
现在对等节点或排序节点已配置为使用 HSM,当您启动该节点时,它将能够使用受 HSM 保护的私钥对交易进行签名和背书。如果您不担心公开您的 CA 签名证书,您可以跳过此步骤,只为您的对等节点或排序节点配置 HSM,如后续步骤所述。然后,对于每个节点,通过针对您在步骤 2 中注册的节点身份进行注册,使用 Fabric CA 客户端生成对等节点或排序节点的 MSP 文件。enroll 命令使用的不是将私钥存储在关联 MSP的文件夹中节点的 HSM 以生成和存储对等节点或排序节点的私钥。
2026-03-29 21:29:26
487
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
482
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
528
7
原创 密码学系列 - ECDSA的门限签名方案
门限签名允许在不需要集中私钥的情况下,由多个参与者生成签名,并且只有在达到一定数量的签名(即达到阈值)时,签名才被视为有效。要理解为什么 ECDSA 支持签名合成的原理,我们需要深入探讨椭圆曲线密码学(ECC)和门限签名的基本工作机制。特别是需要了解如何通过椭圆曲线实现分布式密钥生成和签名合成。尽管 ECDSA 本身并不直接支持门限签名,但是通过特定的密码学协议和分布式计算方法,可以实现这一目标。以下是相关原理的详细解释。
2026-03-09 23:33:49
436
4
原创 发刊七周年
回首过往,很后悔做错了多个选择。人生就是一连串嵌套的if else,进了这个分支,就跳不出来了。假如那时候选了B会怎么样,在平行宇宙里可以走出另一段。2026年过的太快了。上半年在研发AI(如果调大模型参数和做AI应用也能被认为是在研发AI的话),下半年在学习金融知识。“写代码只是在打字,已经不值钱”—今年看到比较震惊的话。作为码农,深有体会,一年年的浮沉,收入回到了改革前。先苟且着看看书吧,跑到下一个if时自己能做判断,而不是让AI来做。
2026-02-11 10:58:06
39
原创 密码学系列 - 环签名 - 环机密签名
如果对不同消息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
665
1
原创 密码学系列 - 零知识证明(ZKP) - Schnorr协议
椭圆曲线参数: 一个素数ppp,定义有限域FpFp。生成元: 一个生成元GGG。公钥PxGP = xGPxG,其中xxx是私钥。Schnorr 零知识证明协议是一种简单且高效的协议,能够在不泄露秘密信息的情况下,证明某人拥有该信息。它的主要应用包括密码学、区块链和身份验证等领域。通过以上步骤和示例代码,展示了如何实现并验证 Schnorr ZKP 协议。Fiat-Shamir变换消除了交互需求,生成一个可公开验证的证明。
2026-01-10 13:11:08
1227
1
原创 密码学的数学基础3-浮点数在计算机中的的实现
浮点数的实现涉及复杂的二进制表示和标准化操作。IEEE 754 标准提供了一个统一的框架,使得浮点数在不同计算机系统上都能保持一致性和可移植性。了解这一实现原理对于从事科学计算、数值分析和计算机图形学的开发者来说非常重要。IEEE 754 标准浮点数的表示与计算区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-12-29 22:34:44
1216
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
909
1
原创 密码学系列 - ECDSA vs. EdDSA:主要区别
ECDSA(椭圆曲线数字签名算法)和 EdDSA(Edwards 曲线数字签名算法)都是基于椭圆曲线的签名算法,但 EdDSA 在多个方面优化了 ECDSA,使其更快、更安全且更易于实现。
2025-11-30 10:22:55
974
原创 密码学系列 - 介绍几种不同的签名方案
特性SchnorrECDSAEdDSA数字签名算法SR25519ECDSAEd25519算法复杂性简单较复杂适中安全性高依赖随机数质量高,避免随机数问题计算效率高适中高常用曲线多种,包括 Edwards多种,包括 secp256k1Edwards 曲线(如 Ed25519)应用场景多种区块链、数字签名高性能应用,SSH、TLS。
2025-11-17 23:08:45
767
2
原创 密码学系列 - 零知识证明(ZKP) - NTT与MSM的总结
尽管它们在数学定义上不同,但在许多密码学和零知识证明系统中,它们常常相辅相成:
2025-10-26 14:07:39
496
1
原创 密码学系列 - 零知识证明(ZKP) - MSM运算
在 Aleo Testnet 挖矿中,MSM(多标量乘法)是生成 zkSNARK 证明的核心操作之一。它通过处理电路中的标量和椭圆曲线点之间的乘法关系,帮助矿工生成隐私保护的零知识证明。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-10-12 16:46:10
1180
1
原创 密码学系列 - 零知识证明(ZKP) - NTT运算
NTT(Number Theoretic Transform,数论变换)是一种与快速傅里叶变换(FFT)类似的技术,主要用于多项式的快速乘法计算,是实现同态加密、零知识证明等密码学应用的基础工具之一。数论变换(Number Theoretic Transform,NTT)通常用于加速多, 但不包含椭圆曲线标量乘法运算。多项式乘法的卷积运算在时域中计算较慢,而通过 NTT,可以将多项式从时域转换到频域,在频域中可以简单地逐系数相乘来完成卷积操作,然后再通过逆 NTT 转回时域。这样可以显著提升On2。
2025-10-05 14:59:58
1315
1
原创 公链分析报告 - 模块化区块链2
模块化区块链通过将不同功能分离为独立模块,提高了系统的可扩展性、灵活性和可维护性。随着区块链技术的发展,越来越多的项目采用模块化架构,以应对复杂的应用需求和不断增长的用户数量。上述示例代码展示了模块化区块链的基本概念,实际应用中会更加复杂和细致,包括更严格的安全措施和优化策略。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-09-27 16:49:52
890
1
原创 Polkadot - ELVES Protocol详解
ELVES (Endorsing Light Validity Evaluator System) 即 轻量级背书有效性评估系统, 是JAM的区块批准和审计系统.该协议的总体思路是(VRF)随机选择一小部分初始审计员来重建和审计区块。如果存在相互矛盾的声明,或审计员缺席,则会为该区块分配更多审计员。
2025-09-21 22:45:13
746
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
941
1
原创 公链分析报告 - 模块化区块链1
模块化区块链是专注于处理少数职责并将其余部分外包给一个或多个独立层的区块链。要了解模块化区块链的工作原理,我们必须首先评估常规区块链的「职责」:共识、执行、数据可用性和结算。
2025-09-07 12:07:12
902
1
原创 Polkadot - ELVES
ELVES (Endorsing Light Validity Evaluator System) 即 轻量级背书有效性评估系统。它是 JAM 可扩展且自适应的区块审计协议,即是JAM用于区块的协议, 确保只有有效区块才能最终确定。
2025-08-31 15:30:35
1043
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
1148
1
原创 密码学系列 - 零知识证明(ZKP) - 多种承诺方案
KZG承诺方案在简洁方面是最好的,因为它的证明规模和验证时间都是恒定的,这意味着电路规模的增加不会导致证明规模的增加。与FRI承诺相比,KZG10承诺有一些独特的功能,它不是对某个字节做出的承诺,而是对多项式的承诺。FRI即Fast Reed-Solomon IOPP,FRI承诺的核心是对要承诺的多项式进行“折叠”,通过“折叠”将一个计算次数很高的多项式逐步转化为计算次数较低、验证者可以接受的计算复杂度的多项式。3.4.4 不同方案的对比不同的零知识证明算法的关键差别,是它们采用了不同的多项式承诺方案。
2025-08-17 23:20:09
1317
1
原创 密码学的数学基础2-Paillier为什么产生密钥对比RSA慢
通常需要 1024-bit 或更高的长度(如 2048-bit)。(如 OpenSSL BIGNUM 库的素数生成优化)。椭圆曲线密码学基于椭圆曲线上的点运算。,减少实时生成的开销(适用于批量密钥生成)。ECC 的安全性基于椭圆曲线。Paillier 加密系统的安全性基于。密钥生成的第一步是生成两个大素数。,同时运行两个线程分别寻找素数。(ECDLP)的难度,即给定点。所以,Paillier。
2025-08-10 13:52:37
851
1
原创 Token系列 - 再谈稳定币
要理解稳定币,首先要理解区块链。区块链是一个大家一起记账的“超大电子账本”,且每页账都封在一个“区块”里,一页一页串起来,变成“链”。举个例子,小巴和同事一起点外卖,每次谁付钱、谁欠多少钱,全都记在一个账本里,每十单,大家就把这一页撕下来贴墙上,大家签字作证——这个账本就像“区块链”,每一页就像一个“区块”,一页页按顺序贴着,就像“链”。在这本账簿中,谁都可以记账,没有一个固定的记账员统一管理;一旦写进账本,谁都不能改;关键是,这本账簿谁都能查阅。这就是区块链的三个特征:去中心化、不可篡改、公开透明。
2025-08-02 14:33:45
1296
1
原创 密码学系列 - 密钥派生
本文介绍了密钥派生(Key Derivation)的基本概念和实现方法。密钥派生是从高熵源(如随机数或密码短语)生成特定用途密钥的过程,常用于加密、数字签名等场景。文章详细说明了SSH密钥派生的三个步骤:源密钥选择、派生函数选择(如PBKDF2、bcrypt等)和最终密钥生成。重点讲解了如何通过邮箱地址派生固定密钥,提供了Python示例代码(使用PBKDF2算法),并强调了安全性考虑,指出单独使用邮箱可能存在的风险,建议结合密码或私钥增强安全性。最后还提及了密钥派生在区块链和密码学领域的扩展应用。
2025-07-26 12:07:47
1179
1
原创 DevCon 6记录
演示和演示涵盖了零知识证明的广泛应用,从轻客户端到机器学习,再到防垃圾邮件和匿名社交媒体。本次会议更多地关注应用层而不是深入的技术细节,将为任何技术知识水平的人提供应用 ZK 环境的概述。完整时间表:https://www.notion.so/0xparc/Applied-ZK-SLS-360fcd3f2a824759b1373ddeef5bf564。
2025-07-21 22:00:04
944
1
原创 Filecoin系列 - IPLD 技术分析
Erasure Code是一种编码技术,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。
2025-06-21 14:14:54
845
1
原创 链游为什么都用MPC钱包?
链游使用MPC钱包主要是为了在确保安全性的同时,提供更好的用户体验和灵活性。MPC技术通过分割和分散管理私钥,解决了传统钱包在安全和易用性上的诸多问题,特别适合高频交易和去中心化管理需求的区块链游戏环境。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-06-09 10:13:58
545
原创 实现MPC钱包
多方计算(MPC,Multiparty Computation)钱包是一种利用密码学技术实现的加密货币钱包,它允许多个参与者共同生成和管理钱包的私钥,而无需将私钥暴露给任何单个参与者。这种钱包具有高度的安全性和隐私性。
2025-05-31 19:11:59
1390
原创 以太坊系列-Multisig Wallet
通过以上步骤,可以在Bitcoin和以太坊上实现多签钱包。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-05-26 22:27:05
862
原创 Fabric系列 - SoftHSM 软件模拟HSM
本文介绍了如何在 fabric-ca-server 上使用 SoftHSMv2 模拟的 HSM(硬件安全模块)功能。首先,安装并配置 SoftHSMv2,包括初始化令牌和设置管理员用户的名称和密码。接着,配置 fabric-ca-server 的 fabric-ca-server-config.yaml 文件,指定使用 PKCS11 接口与 SoftHSMv2 交互。然后,启动 fabric-ca-server,可以选择新创建证书或使用已生成的证书目录。最后,通过 SQLite 查看 fabric-ca-s
2025-05-10 16:21:53
611
原创 密码学系列 - SR25519与ED25519
SR25519 是一种Schnorr签名算法的具体实现,使用Curve25519作为基础曲线。安全性:Schnorr 签名方案被认为具有比 ECDSA 更强的安全属性,尤其是在抗量子计算攻击方面。性能:Curve25519 提供了高效的椭圆曲线运算,适合在资源受限的环境中使用。(适合嵌入式)简洁性:Schnorr 签名方案的设计相对简洁,易于实现和验证。Ed25519 使用的是一种称为 Curve25519 的椭圆曲线。
2025-05-07 08:44:49
1509
原创 智能合约 - NFT分割
*要把一个 NFT 分割成多个小的部分,通常可以使用 ERC20 代币来表示每个部分。这个过程称为 “NFT Fractionalization”(NFT 分割或碎片化)。**通过将一个 NFT 锁定在一个智能合约中,并铸造一定数量的 ERC20 代币来表示该 NFT 的所有权份额,持有这些代币的用户就拥有该 NFT 的部分所有权。
2025-04-14 00:17:09
1507
原创 智能合约 - NFT盲盒
为了简单起见,使用伪随机数生成器(注意:在实际生产环境中,应该使用更安全的随机数生成方法,如 Chainlink VRF)。为了让盲盒内的 NFT 具有不同的稀有度和价值,可以将不同的稀有度类别和对应的概率分配到随机生成的 NFT 中。下面是一个简单的 NFT 盲盒智能合约示例,使用 ERC721 标准实现。通过以上步骤,你可以创建一个支持盲盒功能的 NFT 合约,并将其部署到区块链上。函数,可以调整这些概率。
2025-04-04 15:23:52
1352
原创 2024年零知识证明(ZK)研究进展
我想把我的数据发送给你,希望你在我的数据上运行你的模型,然后把结果返回给我。但在 ZKML 中,你还需要向我提供一个证明,证明你正确地运行了模型,你没有走捷径之类的。所以 ZKML 的意义在于你有一个承诺后的模型,现在我可以保证你根据我发送给你的数据正确地运行了承诺后的模型。报纸编辑会删除图像上的签名,即 C2PA 签名,然后他们会模糊、裁剪、调整大小等等,然后附加一个零知识证明,证明编辑后的图像来自一个正确签名的 C2PA 图像,并且唯一的修改是这些允许的转换,如模糊和裁剪、调整大小等。
2025-03-29 13:15:17
2073
原创 以太坊POS节点
POS机制实施后,矿工不必花费大量资金购买硬件从而增加算力来获得更多收益,而是通过质押更多的ETH来获得更高的收益。**以太坊 2.0 有一个质押收益率曲线,随着质押的 ETH 数量减少,收益率会增加。**并且随着质押的 ETH 数量的增加,回报率将会下降。
2025-03-17 19:49:04
1135
原创 密码学系列 - 利用CPU指令加速
SIMD 描述了具有多个处理元素的计算机,这些处理元素同时对多个数据点执行相同的操作。,就是C、C++语言中的float[4],并且必须是以16位字节边界对齐的, 因此这也给输入和输出带来了不少的麻烦,实际上主要影响SSE发挥性能的就是不停的对数据进行复制以适用应它的数据格式。**因为它使用了128位的存储单元,这对于32位的浮点数来讲,是可以存下4个的,也就是说,SSE和SSE2的指令系统是非常相似的,SSE2比SSE多的仅是少量的额外浮点处理功能、64位浮点数运算支持和64位整数运算支持。
2025-03-08 19:14:26
1338
1
原创 ZK Rollup
ZK Rollup 通过零知识证明技术(zk-SNARK 或 zk-STARK),将大量交易的有效性压缩到一个简洁的证明中提交到以太坊主链上,从而实现高效的交易验证和状态更新。这一过程涉及交易收集、状态计算、构建电路、生成和验证证明等多个步骤,利用复杂的密码学技术确保交易的安全性和有效性。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-03-01 00:06:43
1557
4
原创 各种以太坊Rollup技术
以太坊Rollup技术是一种通过将大量交易批处理并在主链上记录较小的数据摘要来扩展以太坊网络的方法。Rollup技术主要分为两种类型:乐观Rollup(Optimistic Rollup)和零知识Rollup(ZK-Rollup)。
2025-02-24 01:59:15
575
空空如也
话说谷歌支付的服务器端验证怎么弄
2015-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅