Bitcoin Forum
July 12, 2020, 04:29:16 AM *
News: Latest Bitcoin Core release: 0.20.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 »  All
  Print  
Author Topic: 比特币客户端的消息签名使用指南  (Read 31011 times)
servicelabs
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


itkylin.com


View Profile WWW
June 16, 2013, 01:59:40 PM
Last edit: August 13, 2018, 01:00:25 PM by servicelabs
 #1

比特币客户端有个消息签名功能,很多人不知道是干什么用的和怎么用。其实消息签名的用处主要是为了证明某个付款(或收款)地址确实是你的,或者私下交易时的余额检查,确定对方是否那么多钱。如果说我直接通过客户端截图然后发给对方验证就行了,话说,这年头PS改个数字或文本一点难度都没有,谁知道是不是真实的截图。而签名验证就是可以验证对方是否真的拥有这个付款(或收款)地址的,再结合blockchain查询其余额,就可以确认对方是否拥有那么多钱了。
首先,我们来举一个在bitcointalk.org论坛上参加团购的例子:
我用我的钱包地址:1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU发送了6.56比特给John的钱包地址,然后我会在论坛上回贴说明我用1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU这个地址发了6.56比特、ID号、数量等信息,然后John就会根据回贴的信息做好统计,最后到要发货给我时,John就要确认我确实是1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU这个地址的拥有者然后才会发货到我指定的地址去,这样就要用到给消签名了:
我的操作流程如下:
(1)打开特币客户端–>”文件”–>”对消息签名”

(2)在第一栏处填上我的钱包地址:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU

(3)在第二栏处填上我想写的信息,或者对方要求你写的信息:
收件人:张三
电  话:13800138000
地  址:中国广东省深圳市天字一路88号
邮  编:523888


(4)点”消息签名”,这时第三栏就会显示如下信息:
HwMz83F+kyrxSMPAvRrGpCbtwSqmQc7VoChwmgEHFjDickaFlyLqNmZ6vya
CHy0RLEtlsXmvcVaEQIyTm0Ypbas=

旁边还会有绿色的”消息已签名“提示!这样,你就成功为你的消息签名了。

(5)然后,我就把以下信息通过论坛的PM或者QQ、邮件等方式发送以下信息给John让他验证了:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU
收件人:张三
电  话:13800138000
地  址:中国广东省深圳市天字一路88号
邮  编:523888
HwMz83F+kyrxSMPAvRrGpCbtwSqmQc7VoChwmgEHFjDickaFlyLqNmZ6vya
CHy0RLEtlsXmvcVaEQIyTm0Ypbas=


(6)John通过他的特币客户端程序的”验证消息”功能就能验证到我发给他的信息是能通过验证的,证明我确实是这个地址的拥有者,他可以放心的发货到我指定的地址去了。注意,在检证信息时,第二栏的信息一定要按照我提供的信息格式,如有一点错,比如多了一个空格、回车等,都会导至”消息验证失败“!

(7)附图参考:


(8)Blockchain.info在线钱包签名:
登陆blockchain在线钱包--->“收款”-->“Active”选择你要签名的地址,在手边有个“Actions”点一下拉菜单,选择“Sign Message”
然后在消息栏填写上你想验证的信息,然后点“签发信息”即可!

相关阅读:
载:比特币U盘冷钱包自制教程
CLI命令行方式运行Avalon nona挖矿教程
国内若上不了BTT的临时解决办法(修改hosts文件)
利用PGP检验QT钱包文件的完整性!
利用MD5检验QT钱包文件的完整性!
比特币客户端的消息签名使用指南!
备份和加密你的比特币钱包!
Bitshare & Protoshares挖矿教程!
Ubuntu & Cpuminer & XMR (MRO) 挖矿笔记!
阿瓦隆3代单模组290G设置教程(新版ADP2)!

1594528156
Hero Member
*
Offline Offline

Posts: 1594528156

View Profile Personal Message (Offline)

Ignore
1594528156
Reply with quote  #2

1594528156
Report to moderator
1594528156
Hero Member
*
Offline Offline

Posts: 1594528156

View Profile Personal Message (Offline)

Ignore
1594528156
Reply with quote  #2

1594528156
Report to moderator
1594528156
Hero Member
*
Offline Offline

Posts: 1594528156

View Profile Personal Message (Offline)

Ignore
1594528156
Reply with quote  #2

1594528156
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1594528156
Hero Member
*
Offline Offline

Posts: 1594528156

View Profile Personal Message (Offline)

Ignore
1594528156
Reply with quote  #2

1594528156
Report to moderator
1594528156
Hero Member
*
Offline Offline

Posts: 1594528156

View Profile Personal Message (Offline)

Ignore
1594528156
Reply with quote  #2

1594528156
Report to moderator
Jimmy2011
Hero Member
*****
Offline Offline

Activity: 589
Merit: 500



View Profile
June 17, 2013, 12:37:44 AM
 #2

太好了!谢谢分享!

比特币客户端有个消息签名功能,很多人不知道是干什么用的和怎么用。其实消息签名的用处主要是为了证明某个付款(或收款)地址确实是你的,或者私下交易时的余额检查,确定对方是否那么多钱。如果说我直接通过客户端截图然后发给对方验证就行了,话说,这年头PS改个数字或文本一点难度都没有,谁知道是不是真实的截图。而签名验证就是可以验证对方是否真的拥有这个付款(或收款)地址的,再结合blockchain查询其余额,就可以确认对方是否拥有那么多钱了。
首先,我们来举一个在bitcointalk.org论坛上参加团购的例子:
我用我的钱包地址:1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU发送了6.56比特给John的钱包地址,然后我会在论坛上回贴说明我用1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU这个地址发了6.56比特、ID号、数量等信息,然后John就会根据回贴的信息做好统计,最后到要发货给我时,John就要确认我确实是1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU这个地址的拥有者然后才会发货到我指定的地址去,这样就要用到给消签名了:
我的操作流程如下:
(1)打开特币客户端–>”文件”–>”对消息签名”

(2)在第一栏处填上我的钱包地址:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU

(3)在第二栏处填上我想写的信息,或者对方要求你写的信息:
收件人:张三
电  话:13800138000
地  址:中国广东省深圳市天字一路88号
邮  编:523888


(4)点”消息签名”,这时第三栏就会显示如下信息:
HwMz83F+kyrxSMPAvRrGpCbtwSqmQc7VoChwmgEHFjDickaFlyLqNmZ6vya
CHy0RLEtlsXmvcVaEQIyTm0Ypbas=

旁边还会有绿色的”消息已签名“提示!这样,你就成功为你的消息签名了。

(5)然后,我就把以下信息通过论坛的PM或者QQ、邮件等方式发送以下信息给John让他验证了:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU
收件人:张三
电  话:13800138000
地  址:中国广东省深圳市天字一路88号
邮  编:523888
HwMz83F+kyrxSMPAvRrGpCbtwSqmQc7VoChwmgEHFjDickaFlyLqNmZ6vya
CHy0RLEtlsXmvcVaEQIyTm0Ypbas=


(6)John通过他的特币客户端程序的”验证消息”功能就能验证到我发给他的信息是能通过验证的,证明我确实是这个地址的拥有者,他可以放心的发货到我指定的地址去了。注意,在检证信息时,第二栏的信息一定要按照我提供的信息格式,如有一点错,比如多了一个空格、回车等,都会导至”消息验证失败“!

(7)附图参考:
http://www.service-labs.com/images/bitcoin_signature.jpg

lufish
Newbie
*
Offline Offline

Activity: 25
Merit: 0


View Profile
June 17, 2013, 03:55:20 AM
 #3

网络钱包的如何签名,麻烦大神给教程
servicelabs
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


itkylin.com


View Profile WWW
June 17, 2013, 04:18:12 AM
 #4

如果用的是blockchain.info的在线钱包,我没发现有签名的功能,但你在发送BTC时,有一个公告功能。

John (John K.)
Global Troll-buster and
Legendary
*
Offline Offline

Activity: 1288
Merit: 1092


Will read PM's. Have more time lately


View Profile
June 17, 2013, 02:38:36 PM
 #5

已置顶,谢谢!

My BTC Tip Jar: 1Pgvfy19uwtYe5o9dg3zZsAjgCPt3XZqz9 , GPG ID: B3AAEEB0 ,OTC ID: johnthedong
Escrow service is available on a case by case basis! (PM Me to verify I'm the escrow!)

limingz
Member
**
Offline Offline

Activity: 120
Merit: 10


View Profile WWW
June 18, 2013, 01:36:40 AM
 #6

菜鸟有个幼稚的问题请教,请解释一下,谢谢

如果我也采用(2)1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU,但(3)我改成李四,地址改成李四的地址,然后将签名信息发给john,并且在张三前发给John,John怎么正确地验证消息呢?

(1)打开特币客户端–>”文件”–>”对消息签名”

(2)在第一栏处填上我的钱包地址:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU

(3)在第二栏处填上我想写的信息,或者对方要求你写的信息:

收件人:李四
电  话13800138001地  址:中国广东省深圳市天字一路89
邮  编:523889

hruicn
Newbie
*
Offline Offline

Activity: 20
Merit: 0



View Profile
June 18, 2013, 02:15:03 AM
 #7

签名是用“1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU”对应的私钥来签名的,而私钥是只有钱包的主人才会拥有的。其实你不用修改任何内容,照着上面的做,程序会提示你“找不到输入地址关联的私钥”。
菜鸟有个幼稚的问题请教,请解释一下,谢谢

如果我也采用(2)1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU,但(3)我改成李四,地址改成李四的地址,然后将签名信息发给john,并且在张三前发给John,John怎么正确地验证消息呢?

(1)打开特币客户端–>”文件”–>”对消息签名”

(2)在第一栏处填上我的钱包地址:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU

(3)在第二栏处填上我想写的信息,或者对方要求你写的信息:

收件人:李四
电  话13800138001地  址:中国广东省深圳市天字一路89
邮  编:523889

servicelabs
Legendary
*
Offline Offline

Activity: 1036
Merit: 1001


itkylin.com


View Profile WWW
June 18, 2013, 02:17:27 AM
 #8

签名是用“1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU”对应的私钥来签名的,而私钥是只有钱包的主人才会拥有的。其实你不用修改任何内容,照着上面的做,程序会提示你“找不到输入地址关联的私钥”。
菜鸟有个幼稚的问题请教,请解释一下,谢谢

如果我也采用(2)1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU,但(3)我改成李四,地址改成李四的地址,然后将签名信息发给john,并且在张三前发给John,John怎么正确地验证消息呢?

(1)打开特币客户端–>”文件”–>”对消息签名”

(2)在第一栏处填上我的钱包地址:
1wqM32FSV4Y8MTBmbBMJPkr9Ge4WBmnFU

(3)在第二栏处填上我想写的信息,或者对方要求你写的信息:

收件人:李四
电  话13800138001地  址:中国广东省深圳市天字一路89
邮  编:523889

只要三项一至,能签名验证成功就是谁的!你自己开个客户端测试一下不就知道了

limingz
Member
**
Offline Offline

Activity: 120
Merit: 10


View Profile WWW
June 18, 2013, 02:27:27 AM
 #9

谢谢!菜鸟明白了,只有用公钥对应的私钥签名,也就是说有私钥的人才能签名成功。

Blue777
Sr. Member
****
Offline Offline

Activity: 246
Merit: 250



View Profile
June 19, 2013, 12:17:13 PM
 #10

非常清晰明了的说明
thjgo
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
June 23, 2013, 08:14:39 AM
 #11

使用了一次这个签名系统,发现一个问题,不知道大家都是怎么解决的。
签名是为了证明此信息是由我本人发送的。
1. 假设A和B两个账户之间有一笔交易,是A发给B。
A可以根据A发给B时自己所使用的钱包作为密钥的输入部分和附加内容来生成一个签名。
那么问题来了,如果A的钱包中有多个BTC币接受地址,而且每个地址中都存有足够发送给B的BTC币。
作为A来说他根本没法知道是从自己的哪个BTC地址中发送出去了BTC到B手中。
此时他要怎么才能知道这个呢?

2.签名时是不是输入的BTC地址应该作为公钥才是正确的呢,私钥使用附加内容。
在对方接受到签名后应该用自己对外公布的这个接受BTC地址作为公钥输入,而私钥使用得到的附加内容来验证呢。

不知道我描述清楚了没,我还不会贴图片就不贴了。
jameswang
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
June 25, 2013, 02:13:56 PM
 #12

我没有钱包客户端,用blockchain网站钱包怎么消息签名呢?
liangdl
Newbie
*
Offline Offline

Activity: 9
Merit: 0


View Profile
June 26, 2013, 01:36:50 PM
 #13

终于知道了是怎么回事了,谢谢楼主
nss19
Newbie
*
Offline Offline

Activity: 45
Merit: 0


View Profile
June 28, 2013, 05:36:07 PM
 #14

手续费在低点就好了,谁知道5430限制,给讲讲
Gufeng
Sr. Member
****
Offline Offline

Activity: 560
Merit: 250


All-In-One Cryptocurrency Exchange


View Profile
July 01, 2013, 10:53:01 AM
 #15

使用了一次这个签名系统,发现一个问题,不知道大家都是怎么解决的。
签名是为了证明此信息是由我本人发送的。
1. 假设A和B两个账户之间有一笔交易,是A发给B。
A可以根据A发给B时自己所使用的钱包作为密钥的输入部分和附加内容来生成一个签名。
那么问题来了,如果A的钱包中有多个BTC币接受地址,而且每个地址中都存有足够发送给B的BTC币。
作为A来说他根本没法知道是从自己的哪个BTC地址中发送出去了BTC到B手中。
此时他要怎么才能知道这个呢?

2.签名时是不是输入的BTC地址应该作为公钥才是正确的呢,私钥使用附加内容。
在对方接受到签名后应该用自己对外公布的这个接受BTC地址作为公钥输入,而私钥使用得到的附加内容来验证呢。

不知道我描述清楚了没,我还不会贴图片就不贴了。

百度密匙签名,了解一下相关技术背景。

rookier
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
July 07, 2013, 09:01:52 AM
 #16

如果用的是android客户端付款,怎么把付款地址导入到QT里呢?
pc163
Newbie
*
Offline Offline

Activity: 46
Merit: 0


View Profile
July 27, 2013, 06:34:08 PM
 #17

请教楼主,在blockchain的我的收款地址一拦。有一个action选项,可以选择 sign message,不知是否能证明发送btc给别人时是自己发的
FlowerCountry
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile WWW
August 06, 2013, 02:28:45 PM
 #18

说明写得清楚明白,有条不紊。
mominghuan
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
August 13, 2013, 03:52:37 AM
 #19

试了下,还真可以。哈哈
watertech666
Member
**
Offline Offline

Activity: 62
Merit: 10



View Profile WWW
August 24, 2013, 05:34:00 AM
 #20

楼主知道如何用bitcoin-qt for mac 客户端进行签名吗? 主界面上没有文件,设置,帮助等按钮,

Water Filter supplier who accept bitcoin.  http://www.asiawaterfilter.com
Pages: [1] 2 3 4 5 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!