Bitcoin Forum
April 24, 2024, 11:32:26 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: "Purpose: ProveFunds" bip-0322  (Read 208 times)
vit05 (OP)
Hero Member
*****
Offline Offline

Activity: 672
Merit: 526



View Profile
October 02, 2018, 12:41:07 AM
 #1

There has been a BIP (https://github.com/bitcoin/bips/blob/master/bip-0322.mediawiki) made regarding a generic message signing format. Such a format would be able to be used for segwit, non-segwit, and any future changes. It is still being actively discussed however, so it probably won't go into Core or any other wallet software anytime soon.

Quote
Purpose: ProveFunds
The "ProveFunds" purpose generates a sighash and a scriptPubKey from a transaction, an output index, and a message. For multiple simultaneous proofs, it also requires access to the ordered list of proofs. It emits a VALID verification result code unless otherwise stated.

Let txid be the transaction ID of the transaction, and vout be the output index corresponding to the index of the output being spent
Return INVALID if the txid:vout pair already exists in `inputs` set, otherwise insert it
Return SPENT if the txid/vout is not a valid UTXO according to a Bitcoin node[3]
Extract scriptPubKey from transaction output
Define the message pre-image as the concatenation of the following components:[4]
the string "POF:"
the message, encoded in UTF-8 using Normalization Form Compatibility Decomposition (NFKD), including the null terminating character (i.e. write strlen(message) + 1 bytes, for a C string)
all transactions being proven for, as binary txid (little endian uint256) followed by index (little endian uint32), each separated by a single `0x00` byte
Let sighash = sha256(sha256(scriptPubKey || pre-image)

Would this function be for exchanges and large funds? I found it rather confusing. Could it serve to prove the funds that my account in the exchange says to have?

Would it be useful in a possible negotiation where I could prove that gathered several wallets, I would have funds to buy certain asset without the need to show all my public addresses?
"Governments are good at cutting off the heads of a centrally controlled networks like Napster, but pure P2P networks like Gnutella and Tor seem to be holding their own." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714001546
Hero Member
*
Offline Offline

Posts: 1714001546

View Profile Personal Message (Offline)

Ignore
1714001546
Reply with quote  #2

1714001546
Report to moderator
1714001546
Hero Member
*
Offline Offline

Posts: 1714001546

View Profile Personal Message (Offline)

Ignore
1714001546
Reply with quote  #2

1714001546
Report to moderator
HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4316

<insert witty quote here>


View Profile
October 05, 2018, 08:50:51 PM
Merited by ABCbits (1)
 #2

Would this function be for exchanges and large funds? I found it rather confusing. Could it serve to prove the funds that my account in the exchange says to have?
I would say, no. Firstly, you wouldn't have the keys necessary to sign... Only the exchange would.

Also, "ProveFunds" will not return valid if the funds have since been spent. Most exchanges tend to consolidate inputs that were deposited. So, this method will likely return SPENT as the UTXO won't exist any more.

Additionally, it looks like the auditor would need to have a Blockchain synced to a specific block to verify each proof... which would be a time consuming process if you're trying to prove several transactions across different blocks.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
vit05 (OP)
Hero Member
*****
Offline Offline

Activity: 672
Merit: 526



View Profile
October 09, 2018, 01:17:30 AM
 #3


I would say, no. Firstly, you wouldn't have the keys necessary to sign... Only the exchange would.


But could the exchange, or any other crypto related service, prove they have funds using this future function without revealing their address?

The question is more if an exchange would be able to provide proof of its solvency. If it would be able to prove that they possess the BTC that are on their books.

I think this is still one of the big risks these days. And there is no coin or method that is safe and transparent enough in cryptos. An accounting proof that does not depend on a third party or escrow.
Pages: [1]
  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!