Bitcoin Forum
April 26, 2024, 09:21:18 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 [119] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 ... 173 »
  Print  
Author Topic: Blockchain.info - Bitcoin Block explorer & Currency Statistics  (Read 482336 times)
centove
Full Member
***
Offline Offline

Activity: 194
Merit: 100


View Profile
May 06, 2013, 11:50:58 AM
 #2361

hello,

I'm investigating building an escrow service using multisig.

Building the multisig address requires users of the escrow to supply the pubkey of their addresses.

I can't seem to find this feature in blockchain.info wallet.

piuk, are there plans to enable users to retrieve the pubkeys of addresses in their wallets?

Unless I'm missing something, isn't the public key the address you send to people to have them send you coins?

IE:
19t6JWGtHv2xmPV2KcXwTEpH2XtSb3PF57

Give me Btc: 1BRkf5bwSVdGCyvu4SyYBiJjEjbNiAQoYd Mine on my node: http://ask.gxsnmp.org:9332/
Each block is stacked on top of the previous one. Adding another block to the top makes all lower blocks more difficult to remove: there is more "weight" above each block. A transaction in a block 6 blocks deep (6 confirmations) will be very difficult to remove.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714123278
Hero Member
*
Offline Offline

Posts: 1714123278

View Profile Personal Message (Offline)

Ignore
1714123278
Reply with quote  #2

1714123278
Report to moderator
DannyHamilton
Legendary
*
Offline Offline

Activity: 3374
Merit: 4606



View Profile
May 06, 2013, 11:57:04 AM
 #2362

hello,

I'm investigating building an escrow service using multisig.

Building the multisig address requires users of the escrow to supply the pubkey of their addresses.

I can't seem to find this feature in blockchain.info wallet.

piuk, are there plans to enable users to retrieve the pubkeys of addresses in their wallets?

Unless I'm missing something, isn't the public key the address you send to people to have them send you coins?

IE:
19t6JWGtHv2xmPV2KcXwTEpH2XtSb3PF57


No. A bitcoin address is a hash of a public key.  It cannot be used to verify a signature.  This is why bitcoin wallets supply a public key along with a signature when creating a transaction, and not just a signature alone. Peers are then able to use the public key to verify that the signature was made with the corresponding private key, and then hash the public key to verify that it results in the bitcoin address that is associated with the transaction output that is being spent.
centove
Full Member
***
Offline Offline

Activity: 194
Merit: 100


View Profile
May 06, 2013, 01:49:35 PM
 #2363

hello,

I'm investigating building an escrow service using multisig.

Building the multisig address requires users of the escrow to supply the pubkey of their addresses.

I can't seem to find this feature in blockchain.info wallet.

piuk, are there plans to enable users to retrieve the pubkeys of addresses in their wallets?

Unless I'm missing something, isn't the public key the address you send to people to have them send you coins?

IE:
19t6JWGtHv2xmPV2KcXwTEpH2XtSb3PF57


No. A bitcoin address is a hash of a public key.  It cannot be used to verify a signature.  This is why bitcoin wallets supply a public key along with a signature when creating a transaction, and not just a signature alone. Peers are then able to use the public key to verify that the signature was made with the corresponding private key, and then hash the public key to verify that it results in the bitcoin address that is associated with the transaction output that is being spent.

Okay, I'm seriously confused then....

verifymessage <bitcoinaddress> <signature> <message>

It looks like the official client uses the address. And the only keys it talks about is the private key.

signmessage <bitcoinaddress> <message>

Which you can get the addresses just fine from blockchain....

Give me Btc: 1BRkf5bwSVdGCyvu4SyYBiJjEjbNiAQoYd Mine on my node: http://ask.gxsnmp.org:9332/
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


https://gliph.me/hUF


View Profile
May 06, 2013, 03:33:41 PM
 #2364


Okay, I'm seriously confused then....

verifymessage <bitcoinaddress> <signature> <message>

It looks like the official client uses the address. And the only keys it talks about is the private key.

signmessage <bitcoinaddress> <message>

Which you can get the addresses just fine from blockchain....

[/quote]
Maybe this helps?:

https://en.bitcoin.it/wiki/Transactions

Quote
A Bitcoin address is only a hash, so the sender can't provide a full public key in scriptPubKey. When redeeming coins that have been sent to a Bitcoin address, the recipient provides both the signature and the public key. The script verifies that the provided public key does hash to the hash in scriptPubKey, and then it also checks the signature against the public key.

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 06, 2013, 05:55:15 PM
Last edit: May 06, 2013, 06:41:39 PM by molecular
 #2365

hello,

I'm investigating building an escrow service using multisig.

Building the multisig address requires users of the escrow to supply the pubkey of their addresses.

I can't seem to find this feature in blockchain.info wallet.

piuk, are there plans to enable users to retrieve the pubkeys of addresses in their wallets?

Unless I'm missing something, isn't the public key the address you send to people to have them send you coins?

IE:
19t6JWGtHv2xmPV2KcXwTEpH2XtSb3PF57


No. A bitcoin address is a hash of a public key.  It cannot be used to verify a signature.  This is why bitcoin wallets supply a public key along with a signature when creating a transaction, and not just a signature alone. Peers are then able to use the public key to verify that the signature was made with the corresponding private key, and then hash the public key to verify that it results in the bitcoin address that is associated with the transaction output that is being spent.

Okay, I'm seriously confused then....

verifymessage <bitcoinaddress> <signature> <message>

It looks like the official client uses the address. And the only keys it talks about is the private key.

signmessage <bitcoinaddress> <message>

Which you can get the addresses just fine from blockchain....


Good objection...

I'm assuming the output of signmessage contains the pubkey (there's a "/" in there, so I guess one part is the sig and the other part the pubkey). Couldn't find concrete info on this, though. Anyone?

btw: blockchain.info has an api call "verifymessage", which anologous to the equally named call in bitcoind takes a bitcoin address as argument and returns (among other things) the pubkey of the address. This kind-of solves my problem. However it's not very nice to have to tell blockchain.info wallet users to use an api call manually and the parse the resulting json for the pubkey... seems this could easily be integrated into the web gui.

piuk?

EDIT: just found this:

If you are using My Wallet you can find the public key of a Bitcoin Address by clicking the QR code icon in the receive coins tab.

page linked as author of quote talks about the possibility to construct an escrow transaction by using the "escrow" tab after having selected "send coins". I can't find this.

Neither can I find any "QR code icon" in the recieve coins tab that would reveal a pubkey.

what up?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
piuk (OP)
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1005



View Profile WWW
May 06, 2013, 09:25:37 PM
 #2366

On the addresses tab using the Actions button there should now be and option to Show the public key.

willphase
Hero Member
*****
Offline Offline

Activity: 767
Merit: 500


View Profile
May 06, 2013, 09:58:37 PM
 #2367

On the addresses tab using the Actions button there should now be and option to Show the public key.

I have an address in my wallet whose public key has never been seen on the network (it has only received bitcoins), and blockchain.info is somehow able to display what it thinks is the public key for this address, even though it cannot possibly have it...

I manually converted the public key presented by blockchain.info to a bitcoin address, and it doesn't match the bitcoin address - so I"m not sure where blockchain.info is getting this public key from...  Perhaps it should instead present an error if it cannot obtain the public key?

Will

piuk (OP)
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1005



View Profile WWW
May 06, 2013, 10:01:10 PM
 #2368

On the addresses tab using the Actions button there should now be and option to Show the public key.

I have an address in my wallet whose public key has never been seen on the network (it has only received bitcoins), and blockchain.info is somehow able to display what it thinks is the public key for this address, even though it cannot possibly have it...

I manually converted the public key presented by blockchain.info to a bitcoin address, and it doesn't match the bitcoin address - so I"m not sure where blockchain.info is getting this public key from...  Perhaps it should instead present an error if it cannot obtain the public key?

Will

It doesn't need to be used on the network because the public key can be derived directly from the private key (which the JS interface has access to). How did you convert the pub key to an address?

If it is for a watch only address then it may be a bug.

willphase
Hero Member
*****
Offline Offline

Activity: 767
Merit: 500


View Profile
May 06, 2013, 10:02:14 PM
 #2369


It doesn't need to be used on the network because the public key can be derived directly from the private key (which the JS interface has access to). How convert the pub key to an address?

If it is for a watch only address then it may be a bug.

It's a watch only address - the private key has never been uploaded to blockchain.info.  EDIT: yes, definitely a bug, because the public key it presents me is different each time. Smiley

Will

piuk (OP)
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1005



View Profile WWW
May 06, 2013, 11:28:16 PM
Last edit: May 07, 2013, 12:17:36 PM by piuk
 #2370

P2P Fallback mode in the android app

The android app now includes to ability to switch between using blockchain.info's servers to retrieve information about transactions and the bitcoin p2p network itself. When P2P mode is enabled the app will switch to using bitcoinj as an SPV client and once it has synced the block headers you can send and receive transactions even if blockchain.info is offline. It can also be used to verify your wallet balance independently of blockchain.

- In P2P mode you cannot generate new addresses (since the wallet can't be saved on the remote server)
- Watch only addresses will not work
- If the app cannot connect to the PIN server the password will need to be re-entered every time the app launches.



EDIT: yes, definitely a bug, because the public key it presents me is different each time. Smiley

I'll get that fixed tommorrow.

HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
May 07, 2013, 12:32:44 AM
 #2371

Are you going to add the P2P Fallback mode also on the Chrome app?

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
minimalB
Donator
Hero Member
*
Offline Offline

Activity: 674
Merit: 522


View Profile
May 07, 2013, 07:30:45 AM
 #2372

Great stuff piuk! Thanks a lot for these new features!!!
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 07, 2013, 12:39:22 PM
 #2373

On the addresses tab using the Actions button there should now be and option to Show the public key.

Thanks! You are the best.

How do I get rid of the green popup? There's no close button.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
AvL42
Full Member
***
Offline Offline

Activity: 216
Merit: 100


View Profile
May 07, 2013, 11:07:41 PM
 #2374

On the addresses tab using the Actions button there should now be and option to Show the public key.

I tried this on two addresses, a compressed one, and an uncompressed one.
both gave me the "uncompressed" hex-string "04......"

I think, that if the public key is used somewhere, then it is likely, that one will
also want to check that it really corresponds to the address, and for that, one
would need to know the type of the address along with the actual pub key.

In the case of a compressed key it might be worth a consideration, to
have it printed as "02..." (or "03..." for odd y).
Another option would be to append some flag-string e.g. "04...... (compr)"
to indicate "compressed"-ness without actually hiding the y-coordinate.

PS: If anyone who knows compr address-types AND how they interact with
   escrow-keys (I fail at the latter) could speak up about what format is really
   needed, now that would be great Wink
JonSnow
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
May 07, 2013, 11:42:54 PM
 #2375

Would really love an updated iOS app!  I know it's a lot of work, just saying I'm looking forward to it eventually.  Cheesy
BurtW
Legendary
*
Offline Offline

Activity: 2646
Merit: 1130

All paid signature campaigns should be banned.


View Profile WWW
May 08, 2013, 01:39:48 AM
 #2376

On the addresses tab using the Actions button there should now be and option to Show the public key.

I tried this on two addresses, a compressed one, and an uncompressed one.
both gave me the "uncompressed" hex-string "04......"

I think, that if the public key is used somewhere, then it is likely, that one will
also want to check that it really corresponds to the address, and for that, one
would need to know the type of the address along with the actual pub key.

In the case of a compressed key it might be worth a consideration, to
have it printed as "02..." (or "03..." for odd y).
Another option would be to append some flag-string e.g. "04...... (compr)"
to indicate "compressed"-ness without actually hiding the y-coordinate.

PS: If anyone who knows compr address-types AND how they interact with
   escrow-keys (I fail at the latter) could speak up about what format is really
   needed, now that would be great Wink

I do not know if this is what you are after but the public key and the compressed public key are basically the same thing in that given the public key you can calculate the compressed form of the public key or given the compressed form you can calculate the uncompressed form.  So the public key can be displayed, emailed, transmitted, etc. in either form and from one you can always calculate the other.  Does that help?

I tried this on two addresses, a compressed one, and an uncompressed one.
both gave me the "uncompressed" hex-string "04......"
Sounds like he is simply converting to and displaying the full form.


Our family was terrorized by Homeland Security.  Read all about it here:  http://www.jmwagner.com/ and http://www.burtw.com/  Any donations to help us recover from the $300,000 in legal fees and forced donations to the Federal Asset Forfeiture slush fund are greatly appreciated!
AvL42
Full Member
***
Offline Offline

Activity: 216
Merit: 100


View Profile
May 08, 2013, 11:17:30 AM
 #2377

I do not know if this is what you are after but the public key and the compressed public key are basically the same thing ...
Does that help?

For a particular private key, there exists only one public key. The representation
of this public key, however, can be compressed or uncompressed, and it depends
on this choice, what bitcoin-address you end up with.   Therefore, the encoding
of the private key (the number) to some base58-string was made such, that it
contains an extra "flag" which specifies whether compressed or uncompressed
representation of the public key is used for obtaining the btc-address.

As this "compressedness" is relevant for the verifyication that the pub key is actually
the one for a given btc-address, it appears likely to me, that using the public key for
generating an escrow address will likely also need the information about compression,
or the funds on the escrow address might just end up unspendable!

I know pretty well about compressed and uncompressed keys, but I know not
much about generating escrow addresses. (I don't even know, why one would
even need the public keys for creating an escrow address, but someone seems
to have requested the "show public keys" feature with that motivation.)

Anyway, it is a pattern that I noticed in btc-world, that whenever you need a
public key for a btc-address, you also need to know, if it is intended to be used
compressed or uncompressed, and without that flag, the information is just
incomplete (or at least requires try&error lateron).
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
May 08, 2013, 12:42:21 PM
 #2378

I know pretty well about compressed and uncompressed keys, but I know not
much about generating escrow addresses. (I don't even know, why one would
even need the public keys for creating an escrow address, but someone seems
to have requested the "show public keys" feature with that motivation.)

Actually my request for this may have been based on the false assumption that "addmultisigaddress" rpc call of bitcoind requires a list of public keys.

I just checked again and it seems one can also use addresses:

Quote from: bitcoind help addmultisigaddress
addmultisigaddress <nrequired> <'["key","key"]'> [account]
Add a nrequired-to-sign multisignature address to the wallet"
each key is a Bitcoin address or hex-encoded public key
If [account] is specified, assign address to [account].

well, all the better. Sorry @piuk for making you introduce a feature I probably wont need after all. I still thinkgs it's a good feature, though.

EDIT: correction. Using address seems to only work when address has been used in blockchain and pubkey can therefore be retreived from blockchain:

Code:
#> bitcoind addmultisigaddress 1 '["19hMC4B6U1QNwvg5Fk2RogRLxSgoVV9L2n"]'
no full public key for address 19hMC4B6U1QNwvg5Fk2RogRLxSgoVV9L2n (code -1)


PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
davidpbrown
Sr. Member
****
Offline Offline

Activity: 531
Merit: 260


Vires in Numeris


View Profile WWW
May 08, 2013, 05:11:46 PM
Last edit: May 09, 2013, 04:57:44 PM by davidpbrown
 #2379

Would be useful to have my address and QR code displayed without having to login.. so on the nickname pages like https://blockchain.info/wallet/nickname

฿://12vxXHdmurFP3tpPk7bt6YrM3XPiftA82s
AvL42
Full Member
***
Offline Offline

Activity: 216
Merit: 100


View Profile
May 08, 2013, 09:34:38 PM
Last edit: May 10, 2013, 08:56:01 PM by AvL42
 #2380

EDIT: correction. Using address seems to only work when address has been used in blockchain and pubkey can therefore be retreived from blockchain

I've now tried it, myself:
I picked a compressed and an uncompressed key from my wallet (yes, my wallet
has a couple of each kind) and created a multisig-address from these two.
I then re-did the addmultisigaddress, replacing the compressed address by
its compressed key, and it gave me the same multisig address back as before.
Then I re-did it again, this time with the "04..."-format pub key instead, and
without much surprise I got a different address, now.

tl;dr?

It definitely matters, whether the address has been created as a compressed or
uncompressed key, and the current feature is very bad at the moment when
used on compressed addresses!

If some key is a "compressed" one, and you pass that "04..." string to someone else,
who then creates a multisig-address based on the "04..." key you gave him, then you
will NOT be able to sign it later!

For compressed keys, the blockchain.info wallet should definitely show some "02..."
or "03..." string!

EDIT:  has been fixed, since.  Thanks!
Pages: « 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 [119] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 ... 173 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!