您现在的位置是:亿华云 > 人工智能
他是中本聪?为什么连简单的消息签名都不用?
亿华云2025-10-08 23:00:06【人工智能】8人已围观
简介比特币系统中可以给一串消息进行数字签名,有三个作用:证明你拥有某笔资金的私钥 该证明是无可争辩的、不可抵赖的 签名后的交易没有被其他人修改过 数字签名使用椭圆
比特币系统中可以给一串消息进行数字签名,中本有三个作用:
证明你拥有某笔资金的什连私钥 该证明是无可争辩的、不可抵赖的简单 签名后的交易没有被其他人修改过数字签名使用椭圆曲线数字签名算法(ECDSA),算法非常复杂,息签普通用户不必掌握其算法的名都细节,但你只要掌握了Bitcoin Core钱包软件或类似工具,不用也可以非常轻松地生成签名或验证签名。中本
生成签名
在Bitcoin Core软件的什连“文件”菜单下,点击“消息签名”菜单项,简单弹出一个对话框。息签分别填写比特币地址,名都消息文本,不用点击“消息签名”按钮,中本则会在底部的站群服务器什连签名区出现一行文本,这段文本可以证明你拥有那个比特币地址、简单那段消息是完整的、没有被修改过一个字,这个证明谁都可以验证、不可抵赖。
验证签名
在Bitcoin Core软件的“文件”菜单下,点击“验证消息”菜单项,弹出一个对话框。分别填写比特币地址、消息文本、签名文本,点击“验证消息签名”按钮,则会出现是否验证成功的提示。
没有安装Bitcoin Core软件也没关系,b2b供应网很多网站都提供了验证签名的工具。比如:https://blockexplorer.com/messages/verify
再比如这个网站:
https://bitcotools.com/verify-messages
下面这个网址中列举了几十种签名方法:
https://bitcointalk.org/index.php?topic=990345.0
截图上文字显示得不全,我的完整消息签名是:
H0UP22YwxdZ0EyetmIoY72w/v1QGQiSk2vAf6jViHlw/DBC+76775pFqxGclbrkny4D40bVWe9nPLgl/MMWQyZs=在NBitcoin 中进行消息签名用2个函数就可以搞定,非常方便:
生成签名文本用 key.SignMessage(msg) 验证签名用 addr.VerifyMessage(msg, sig)就这样简单,完整源代码:
// 用私钥给一个消息进行签名 var msg = "我拥有这个地址的私钥:17mKugcBDEJbu391Fq41AdwLeGHwJLPRDf"; string priv = "3243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C8"; Key k = new Key(Encoders.Hex.DecodeData(priv), -1, false); // 非压缩密钥 var sig = k.SignMessage(msg); Console.WriteLine(sig); // 结果: // G2HBHn+ZmgTNtCnxMbgWf4nbXcTjB // KFvy3am3UWcxdA0TD3MDdpqaZgEoY // PsvbhR +OSZkR9hSp/rrO3nErlzBjY= // 验证一个签名 var addr = new BitcoinPubKeyAddress("17mKugcBDEJbu391Fq41AdwLeGHwJLPRDf"); Console.WriteLine(addr.VerifyMessage(msg, sig)); // 验证我以前用Bitcoin Core做过的一个签名 var addr2 = new BitcoinPubKeyAddress("12j75TnvVhEVxk3fiaPSy3w4FVfjsKbKZm"); var msg2 = "申龙斌的程序人生"; var sig2 = "H0UP22YwxdZ0EyetmIoY72w/v1QGQiSk2vAf6jViHlw/DBC+76775pFqxGclbrkny4D40bVWe9nPLgl/MMWQyZs="; Console.WriteLine(addr2.VerifyMessage(msg2, sig2));Craig Steven Wright(CSW)一直声称他就是中本聪,为什么不拿创世区块中的比特币地址(1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa)对一段消息进行签名?
看来澳本聪就是一个骗子。
【本文为专栏作者“申龙斌”的原创稿件,转载可通过作者微信公众号(申龙斌的程序人生)获取联系】
戳这里,看该作者更多好文
亿华云很赞哦!(4716)
相关文章
- tk域名是什么域名?新手对tk域名有什么看法?
- 别再让你的Web页面在用户浏览器端裸奔
- 服务读写分离架构,绝不推荐
- 重构 - 改善代码的各方面问题
- 域名资源有限,好域名更是有限,但机会随时都有,这取决于我们能否抓住机会。一般观点认为,国内域名注册太深,建议优先考虑外国注册人。外国注册人相对诚实,但价格差别很大,从几美元到几十美元不等。域名投资者应抓住机遇,尽早注册国外域名。
- 从零开始使用Python进行深度学习!
- 月薪3w的程序员告诉你一个项目的具体开发流程
- 手把手教你写网络爬虫(2):迷你爬虫架构-通用网络爬虫
- 在更换域名后,并不是就万事大吉了,我们需要将旧域名做301重定向到新域名上,转移旧域名的权重到新域名上。
- 程序员发展得好不好,就看这三个维度了!