- 博客(14)
- 收藏
- 关注
原创 新文章汇总
Pushdata 的“最小推送”规则BSV 脚本里的整数操作码 OP_BIN2NUM 和 OP_NUM2BIN操作码 OP_CHECKSIG 和 SIGHASH 标记有状态的 UTXO 和 OP_PUSH_TX 的技术原理BSV 交易签名相关的技术名词计数器合约详解BSV 的 nLocktime 和 nSequence水龙头合约称球问题 - 通解证明和方案构造收款方代付交易矿工费的解决方案...
2022-05-19 19:36:51 263
原创 演讲视频汇总
上海区块链开发者大会(2021.11)BSV 区块链基础设施软件及工具介绍PDF区块链知识讲堂,合肥工业大学(2021.07)比特币签名技术入门及交易构建演示BSV 线上研讨会,比特币签名技术系列课程(2021.03)椭圆曲线上点的运算和比特币密钥椭圆曲线数字签名算法对交易签名对任意消息签名第二届“打点创新营”(2020.09)门限签名实战之玩转 NakasendoBSV 中文开发者大会(2020.08)从“点对点”到“小世界” - 节点和比特币网络BSV 线
2021-12-22 01:25:53 540
原创 Rabin 数字签名
https://aaron67.cc/2021/07/10/rabin-signatures/本文将详细介绍 Rabin 数字签名的算法细节。在开始之前,你需要对模运算、同余和模逆元的概念有一些了解。算法过程质数 ppp 和 qqq,且有 p≡3(mod4)p \equiv 3 \pmod{4}p≡3(mod4),q≡3(mod4)q \equiv 3 \pmod{4}q≡3(mod4)。组合 (p,q)(p, q)(p,q) 为私钥,两数的乘积 n=pqn = pqn=pq 为对应的公钥。使.
2021-07-12 04:14:21 1599
原创 拉格朗日插值法
https://aaron67.cc/2020/10/29/lagrange-interpolate/给定 (t+1)(t+1)(t+1) 个不同的点,过这些点且最高次不大于 ttt 的多项式,有且只有一条。本文将介绍如何使用拉格朗日插值法,求解这样的多项式。方法已知点 (x0,y0)(x_0, y_0)(x0,y0)、(x1,y1)(x_1, y_1)(x1,y1)、…、(xt,yt)(x_t, y_t)(xt,yt),拉格朗日插值法的思路是寻找多项式 lj(x)l_j(x)lj.
2020-10-29 15:20:18 793
原创 椭圆曲线数字签名算法
https://aaron67.cc/2020/09/30/ecdsa/在文章非对称加密和签名认证中,我们介绍了双钥系统的两种应用场景:加密解密时,公钥用于加密,私钥用于解密身份认证时,私钥用于签名,公钥用于验证椭圆曲线密码学(ECC,Elliptic Curve Cryptogphay)是一种流行的非对称加密算法,其背后的数学原理,是椭圆曲线上的离散对数难题。我们还知道,ECC 的私钥,本质是一个整数,其对应的公钥,是椭圆曲线上的一个点。在将 ECC 作为双钥系统使用时,针对不通过的应用.
2020-10-11 00:53:04 4691 3
原创 椭圆曲线上点的运算
对定义在有限域上的椭圆曲线 E=(p,a,b,G,n,h)E = (p, a, b, G, n, h)E=(p,a,b,G,n,h)y2≡x3+ax+b(modp)y^2 \equiv x^3 + ax + b \pmod{p}y2≡x3+ax+b(modp)本文将通过代码计算下面两个问题:已知曲线上的点 P=(xP,yP)P = (x_P, y_P)P=(xP,yP) 和 Q=(xQ,yQ)Q = (x_Q, y_Q)Q=(xQ,yQ),求点 R=P+QR = P + QR=P+Q已
2020-10-11 00:51:42 7601 6
原创 什么是模逆元
整数 a 除以整数 b,若得到的余数是 r,则记作a mod b=ra \bmod{b} = ramodb=r例如5 mod 3=25 \bmod{3} = 25mod3=2−5 mod 3=1-5 \bmod{3} = 1−5mod3=1模运算的部分性质如下:(a+b) mod c=((a mod c)+(b mod c)) mod c(a + b) \bmod{c} = ((a \bmod{c}) + (b \bmod{c})) \bmod{c}(a+b)modc=((amodc)+(bm
2020-10-11 00:50:38 16153 4
原创 “打点创新营”主题分享:SV 开发中的那些坑
https://aaron67.cc/2020/01/14/dotcamp-presentation-20200104/大家下午好!我是 Aaron。感谢哲明和打点钱包的邀请,让我分享一些开发过程中遇到的问题。我想从“192”这个神奇的数字开始今天的内容:普通用户能发出来的、最小的一笔交易的大小,是 192 字节。作为开发者,其实就是通过代码来操作交易与比特币系统交互。交易是比特币系统中最重要的部分,对交易细节的把握可以让你在写代码的过程中避免掉坑。所以我先讲些交易的细节。从程序员的角度来说.
2020-07-03 01:08:16 1312
原创 在不同的 BSV 钱包软件间迁移
https://aaron67.cc/2019/05/22/migrate-between-bsv-wallets/当你导入助记词(Mnemonic)恢复 HD 钱包时,需要同时指定衍生路径(Derivation Path)和用户密语(Passphrase)。这篇文章汇总了一些常用 BSV 钱包默认使用的衍生路径信息。钱包衍生路径用户密语备注打点钱包m/44'/0'/0'无Simply Cashm/44'/145'/0'无新建钱包时可以自定义衍生路径.
2020-07-03 01:04:31 1226
原创 [学习笔记] OP_RETURN
https://aaron67.cc/2018/12/31/bitcoin-transaction-null-data/比特币交易的全球总帐本,是公开的,匿名的,不可篡改的。账本记录了每笔交易的具体内容,以及他们被写入账本的确定的时间点(时间戳)。如果能将现实世界的数据埋进交易,一同写到账本里,事情就变得有些微妙了,比特币系统的潜在应用将不只局限于支付,多了很多“可玩性”。一些背景可以把一份文件的电子指纹(哈希)放到账本中,配合时间戳,建立某个确定时间点后的文件存在性证明,以此声明版权。t.
2020-07-03 00:28:52 768
原创 [学习笔记] “付款到多重签名” 和 “付款到脚本哈希”
https://aaron67.cc/2018/12/29/bitcoin-transaction-p2ms-p2sh/了解复杂的交易类型,能帮助你更好的理解,什么是“可编程加密货币”。付款到多重签名如果你看过OP_CHECKMULTISIG操作码的说明,你会发现:交易允许我们将 UTXO 锁定到 NNN 个公钥上,并设置花费条件,需要至少提供 MMM 个签名,才能解锁资金。这种方案,称为M-N多重签名,其中 NNN 是密钥的总数,MMM 是验证所需的最少签名数。M [公钥1] [公钥2] ..
2020-07-03 00:26:39 652
原创 [学习笔记] “付款到公钥” 和 “付款到公钥哈希”
https://aaron67.cc/2018/12/28/bitcoin-transaction-p2pk-p2pkh/这篇文章,介绍比特币网络中最常见的交易形式:Alice 付款给 Bob。付款到公钥构造交易时,如果锁定脚本中关联的是收款人的公钥,我们称这笔交易,是一笔付款到公钥(P2PK,Pay to Public Key)的交易。对交易6880c2ae2f417bf6451029b716959ed255f127eeba3d7b40cf0ff3c44c5980c2,010000000.
2020-06-14 21:25:55 1790 3
原创 [学习笔记] 非对称加密和签名认证
现代密码学中,加密算法包括两部分。算法,一组规定如何进行加解密的规则,描述加解密的具体操作步骤。为了方便使用及保证算法可靠性,算法都是公开的密钥,用于算法的秘密参数在对称加密中,无论加密还是解密,都使用同一个密钥。因此,对密钥的保护十分重要,泄露则意味着通信密文不再安全通信双方在交换密钥时,特别是在公开的、不可信的链路(互联网)上交换密钥时,要确保密钥从未泄露(Diffie-Hellman 密钥交换算法)受 Diffie-Hellman 密钥交换算法的启发,人们意识到加密和解密可以使用不
2020-06-12 10:49:54 1453 7
原创 [学习笔记] 哈希函数和 SHA256
哈希函数(Hash),也称为散列函数或散列算法,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。原始数据 --- 输入 --> 哈希函数 --- 输出 --> 数据指纹一般的,哈希函数是一种数据转换函数,将输入(原数据)映射成输出(索引)设.
2020-06-12 10:46:21 1791
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人