Pages:
Author

Topic: Binance Users Can Now Verify The Bitcoin They Own Via Merkle Tree (Read 448 times)

legendary
Activity: 2268
Merit: 18711
Feel free to at least try and keep the discussion civil. Roll Eyes

users can download the entire tree..

and guess what. it does not just have the hashes. it has the clear data balance
That's not what their website says, but as I said above, I am more than willing to admit that I am wrong. Nothing in the link you have provided makes it clear that you can see other user balances in plain text, only that you can see each user's Merkle leaf, which as per the code I linked to above, contains a hashed representation of their balances. If someone with a Binance account could download and then share the Merkle tree, that would be very helpful.

But regardless, even in such a case the Merkle root does not prove solvency. Binance could quite easily look for every account which hasn't been active in (for example) 6 months, and set their balance to zero or just exclude them entirely, being relatively sure that these inactive users are not going to check and expose their fraud. And given that Binance already show on their screenshots that accounts can have a negative balance due to things like leverage, margins, loans, etc., then again nothing stopping Binance from padding the books with several thousand negative balance accounts which don't really exist.

One way or the other, the only thing the Merkle tree proves is that you have an entry on their spreadsheet. It does not prove they are solvent.
legendary
Activity: 4410
Merit: 4766
OMG

you realy need to read.

one more time just for the idiot

users can download the entire tree..

and guess what. it does not just have the hashes. it has the clear data balance

and yes you can do kindergarden based maths to ass up the balances to get a total

THATS THE WHOLE POINT

how is it that every time you come out with some silly narrative not backed up by fact. i have to repeat myselg X times over to correct you

i even tell you the link to look and read that shows you examples and also where you are wrong
you say you read it.. then you go 100% opposite to what you have read and go back to your sily mis-understanding

seriously

please just take a break from  your ill conceived brain of social drama filled drivel. and instead use some time to research and learn from actual sources. not the idea's passed to you from social media

please. understand this. and really take your time..
sit back and have a coffee while you think about it and let it settle in

1. the merkle tree file that can be downloaded..

2. users merkle hash is not just hashes. its hash+clear text balance

EG
not just
46dc2ebaa7cf3d253dedd10084399efce7b1ac8db9b6b5edf55f0c1ae7dec483
but instead
46dc2ebaa7cf3d253dedd10084399efce7b1ac8db9b6b5edf55f0c1ae7dec483,BTC:1.0,D.BTC:0.0,N.BTC:1.0

got it ?

3. the tree is a large file which take a program upto 20 minutes to read through probably 26m entries that are merkled to a root

4. the program to read the file is standard node.js open source tool

5. the script to tell node.js how to read is standard open source javascript

6. each user can find their own leaf on the tree

7. all leafs dont reveal other users names but have a balance that can be counted and there are 3rd party auditors that can count. better then a todler

..
now tell me which point confuses you or you do not understand

a few years ago i thought you were a doctor in real life. someone that maybe knew how to do research and investigate and diagnose.. now you are sounding more like badecker
legendary
Activity: 2268
Merit: 18711
actually do the research of whats included and excluded from the hash+ clear text. and how merkles work. and then form your opinion on the technique.
Yup, done all that. Here's the page I've read directly from Binance which explains their process: https://www.binance.com/en/proof-of-reserves#proof-of-reserves

Each user uses their unique account code, a salt, and the audit ID, concatenates all this, and then SHA256s it to create their "record ID". The record ID is then concatenated with all their balances, hashed again, and the first 16 characters (8 bytes) taken as that user's individual Merkle leaf.

Great. So I can verify that my balances are accurately hashed in to my Merkle leaf, and I can verify that my Merkle leaf is contained with the Merkle tree. Now, here is the bit you seem to be missing, I can verify absolutely nothing about any one else's balances or leaves. I have no idea if your balances are accurately reflected in your leaf. I don't even know if your leaf is even included. I don't know if CZ has included a fake account with -10,000 BTC to balance the books. The screenshot on the page I linked above even shows "Balance" and "Debt" at the time of the audit with a final negative equity in the account in question, so the process to have negative accounts already exists.

Here's an example to illustrate. I'll take you as an example customer with 50 BTC on your account. Your hash input will be "franky1,BTC:50". For the sake of simplicity of this example, everything is single hashed as simple text.
User 1 - 828ab4dea3944c2aae12c2e4faa3cc7d7c79d2f1903323c0d1110cc233d02855
franky1 - bdf65086e0f247c9fd0a14368833b65530750fcb79128a5e7186de313589c25c
User 3 - dccf02131c89244750fffc1bc647c5e1cd8bb536b98700d6f002066497e73893
User 4 - ad3d8ae71b24929d1eb84fd10f25c1ea2e159dc1ddf453d3832c78899a08b419

User 1 + franky1 = 38fd94e48ec804a3616fe20a4c2bc4f9a3d9c0b0812d5c421bc49ce9784a4b95
User 3 + User 4 = 6a712e021ef304ae0c8226602ffe934e1ea8868771ef429d43d73029e3205b5d

Merkle root = fa45368d13a36054cca1db862adfde5ae1c6f0bf6c479ad54c799fee47e3fdd1

Now, you have this Merkle tree, and you see Binance have posted a wallet with 200 BTC in it. Are they backed up 1:1? You have absolutely no idea. Is that 4 users with 50 BTC each? Or are there 2 users with 100 BTC and one fake account with -50 BTC? Who knows. Only Binance. You have verified that your balances are within the Merkle tree, but the Merkle tree itself tells you absolutely nothing about whether or not Binance are solvent. The whole thing is a sham.
legendary
Activity: 4410
Merit: 4766
im not a binance user either

..
point is you should be more worried if
a. your leaf was not in the tree
b. the tree total exceeded reserve total

obviously if everyone can find their leaf. they they all know individually that they are in the tree..

if their individual totals dont exceed the reserves. then..

one last time
the company has enough reserves to match the tree total
and users can see their balance is part of the tree total

.. anyway. i think its time i say the usual
stop forming an opinion first, then looking for confirmation bias..

actually do the research of whats included and excluded from the hash+ clear text. and how merkles work. and then form your opinion on the technique. not the social drama echos you read else where

now to draw a line in the sand while you go do some research away from social media quotes
screw it ill push you in the right direction
https://www.binance.com/en/support/faq/how-to-verify-merkle-tree-819fadc1c16b499d85bc3a3d0fab76bc

they can download the tree and then find your leaf in the tree..
(i and you personally are not binance customers.. but it clearly says they can)

oh and before you say anything. the tree file can be read anf the program used to verify it is open source


now.. moving on..
nothing stops CZ from just taking the 575k coins to some exotic island and sip cocktails while pressing a bankruptcy button
legendary
Activity: 2268
Merit: 18711
merkle_hash = "46dc2ebaa7cf3d253dedd10084399efce7b1ac8db9b6b5edf55f0c1ae7dec483 BTC:1.0,D.BTC:0.0,N.BTC:1.0"
red =hash   blue= balance in clear text
that user has 1btc
Well, maybe I'm massively mistaken since I don't own a Binance account to check, but everything I have read on their website, blog, Twitter, etc., says that you can only see that data for yourself and not for the several million other Binance users (and the screenshots they have shared seems to confirm that too). It would be a massive privacy breach for Binance to start sharing the account balance of every user with every other user. Yes, I can check that my balance is correctly included in the Merkle tree, but I cannot verify that anyone else's balance is included correctly or indeed included at all.

because you see your transaction hash is included in the merkle tree which totals up and matches the merkle root of the blockheader
And knowing the Merkle root or indeed the entire Merkle tree tells me exactly nothing about the value of the other transactions in that Merkle tree. All I know is that my transaction is included in it.
hero member
Activity: 1666
Merit: 709
Playbet.io - Crypto Casino and Sportsbook

This is cool. Other exchanges I think will like to also open thier balances to all so that people will see thru which one is insolvent and we be aware of what might happen and prevent another SBF in this industry.

CZ is quick to have this transparency. Because he was already criticized for taking the step for the POR by the guys who promoted FTX particularly MeetKevin and his friends such as Stephan Graham.
In my own opinion Exchanges such as Binance understand that they are on a backlash for being centralized, yes they have patronage but are mostly vendors who are business minded and don’t really care about centralization or decentralization.

I think what binance is trying to do it so win people over although I don’t think Binance are completely transparent, some people has lost their funds on Binance for some privacy issue of low implications. I don’t know the future of Binance yet but I am really not moved with story by this.
legendary
Activity: 2576
Merit: 1252
Leading Crypto Sports Betting & Casino Platform
As long as the exchange is centralized there won't be a sure short way to find out if the exchange does hold the coins we have in our wallets.
They can always tweak the numbers since they are the central authority of the exchange.
So their Proof of Reserve system is just another way of convincing people to hold their money on the exchanges.
Also, verification would only matter if you are planning to hold a token for years. Wherein most of the people in Binance are not even storing their assets in it for a long period of time 'coz most of the people in that exchanger are also traders. Holding tokens in the first place should be done on wallets so I guess there's no need for verification especially if you are not planning to keep your assets in a 'box'. All of these are because of what happened right? People are asking for adjustments from exchanges because their assets might be lost. This technology is decentralized so what's with this 'ID'. People should just practice self-discipline. If assets were lost then check for transaction history.
hero member
Activity: 2702
Merit: 716
Nothing lasts forever
As long as the exchange is centralized there won't be a sure short way to find out if the exchange does hold the coins we have in our wallets.
They can always tweak the numbers since they are the central authority of the exchange.
So their Proof of Reserve system is just another way of convincing people to hold their money on the exchanges.
legendary
Activity: 4410
Merit: 4766
then for the clear text balance they can see all balances add up to the total. and that total matches the known bitcoin reserve addresses total
Except they can't see all the balances which add up to the total. They can see the hashes in the Merkle tree, and the balance on their own individual leaf. That's it.

but the balances are not just inside the hash..
but also outside the hash. and its the outside cleartext balance thats totalled up

people can see they are part of the merkle and all outside balances mach the hashed balance and their balance is totalled up

here is an example

merkle_hash = "46dc2ebaa7cf3d253dedd10084399efce7b1ac8db9b6b5edf55f0c1ae7dec483 BTC:1.0,D.BTC:0.0,N.BTC:1.0"
red =hash   blue= balance in clear text
that user has 1btc

each person has their own leaf that looks like that.
cleartext balance matches the balance inside their account.
so they can verify they are part of the tree that totals to the total.

as long as they are included. and the totals tally they know there is enough coins

lets say there were user accounts of average 0.02 per leaf for 26m users
(520k merkle tally) and reserves addresses total was 575k then great more coins than needed to make all them 26m leafs whole

however
lets say there were user accounts of average 0.03 per leaf for 26m users
(780k merkle tally) and reserves addresses total was 575k then problem

also if users cant find themselves in the merkle.. problem

simple example... if you stil not sure about things
how do you convince yourself that your bitcoin network transaction is indeed confirmed..
because you see your transaction hash is included in the merkle tree which totals up and matches the merkle root of the blockheader
legendary
Activity: 2268
Merit: 18711
then for the clear text balance they can see all balances add up to the total. and that total matches the known bitcoin reserve addresses total
Except they can't see all the balances which add up to the total. They can see the hashes in the Merkle tree, and the balance on their own individual leaf. That's it. They don't know if the 100 other hashes they are looking at represent 1 BTC each, or if 99 of the hashes represent 2 BTC each and 1 represents negative 98 BTC. In one case the exchange is solvent; in the other they aren't.

Jesse Powell of Kraken at least understands this: https://nitter.it/jespow/status/1596227031637045248#m

if you want to go opposite and say "imagine if CZ made an account and put 10k coin and added that to the merkle
Except CZ could just leave that account out of the Merkle tree entirely and no one would know. He's not exactly about to expose himself, and you as a user have absolutely no way to verify that all accounts are included in the Merkle tree.

problems only arise when the merkle total does not tally with the reserves total. .. and thats the point. showing they do tally shows .. wait for it.. proof of reserves
And no exchange will ever release data which shows the Merkle tree does not tally with their claimed liabilities. They will just fudge the numbers until it shows you what they want it to show you (which as we've just discussed is trivially done), rendering the entire thing meaningless.
legendary
Activity: 4410
Merit: 4766
But they can't see who else is or is not accounted for within that total. If an exchange publishes proof of reserves of 10,000 BTC, and no customer has more than 10 BTC, then they will all be falsely reassured. But turns out the exchange is hiding the fact they have 100,000 customers all with 1 BTC and are massively fractional reserve.

ok lets delve into this more

ok binance has ~26m customers and a publicly viewable address list of reserve totalling ~575k btc

lets call it an average of 0.02211538 a user

what you are trying to say is that "what we dont know" is that they might have PoR of only 57k reserves. and only 1000 customers listed in the merkle with ~57btc average, which doesnt tally to the true customer holdings..

sorry but no.. just no

each person can see they are part of the merkle. and the merkle totals up to the same amount as the reserves

the merkel hash of a users leaf is their account details and balance hashed.. and outside the hash is a clear text of the balance aswell

users can check the balance(clear) matches their balance thats hashed to confirm nothing shoddy happening with their leaf(no miscount of their balance)

then for the clear text balance they can see all balances add up to the total. and that total matches the known bitcoin reserve addresses total

knowing they are included in the total. meaning knowing the reserve owner has enough coins to meet all of those clear text balances, no matter who they are. it shows they are included and not forgotten

there is no "negative " balance as that will be easy to spot

.
if you want to go opposite and say "imagine if CZ made an account and put 10k coin and added that to the merkle

then the clear text balances would total 585k coins instead of 575k coins.
which as long as the new 585k coins match the public bitcoin address reserves of 585k coins. then it simply means there are enough coins in binance control at that time to not only pay all users that can be seen and self verify they are part of the merkle total. but cz too
.
problems only arise when the merkle total does not tally with the reserves total. .. and thats the point. showing they do tally shows .. wait for it.. proof of reserves

if people have a hash. but cant find their hash in the merkle.. that too is a problem because then CZ is not tallying all users meaning there are more users balances not accounted for compared to the reserves addresses.
but if every user is found in the merkle. then it tallies

...
now with all that said
even with things tallying up

there is not much to stop a business from just one day moving funds out. disabling account access running off to an island and shouting "i been hacked" while sipping a cocktail on a beach holding all reserves to himself, while pressing a bankruptcy announcement button on his phone with an evil laugh

legendary
Activity: 2268
Merit: 18711
because you watch the reserves. you see when their main hoard entered the address.. if it was in the last month.. then its suspect.
Except people don't do this. Case in point: Binance flooded the mempool last week moving a ton of funds in to their proof of reserve addresses, and also moved $2.7 billion worth of crypto out of their proof of reserves addresses the day after publishing them. And yet we see this forum/Reddit/Twitter flooded with people thinking that Binance are somehow now safe. Roll Eyes

but dont go into ignorance with "but we just dont know"
That's exactly the point I'm making. You don't know, not can you verify. By using any centralized exchange, you are trusting.

and within that amount all account holders can see that  they are accounted for within that total. then they know they are accounted for.
But they can't see who else is or is not accounted for within that total. If an exchange publishes proof of reserves of 10,000 BTC, and no customer has more than 10 BTC, then they will all be falsely reassured. But turns out the exchange is hiding the fact they have 100,000 customers all with 1 BTC and are massively fractional reserve.
legendary
Activity: 4410
Merit: 4766
Customers/users shouldn’t be willing to accept anything less than full transparency in provable fashion.
It cannot be done. You will always be left trusting the exchange, and as I said above, an exchange will never release information or data which shows they are insolvent or shows you anything other than exactly what they want you to see.

They can sign messages from addresses holding coins to prove they own these coins. Great. How do we know those coins aren't a loan? How do we know those coins aren't some outstanding investment they've pulled back in just for the sake of proof of reserves and will immediately be moved out again? How do we know that those coins aren't going to be moved tomorrow to some other address? (Binance have already done this.)
because you watch the reserves. you see when their main hoard entered the address.. if it was in the last month.. then its suspect.
if its a progressive gathering slowly over years, less suspect(normal behaviour)

if it all moves out tomorrow.. then you really keep an eye on its movements

You can't even be sure Binance didn't just bribe someone to sign a message saying their coins belong to Binance. CZ could be doing this with his own personal stash. Impossible to verify.
if someone has a personal stash of 100k+ coins. bribery wont do it. .. maybe favours or blackmail would. just saying

as for assuming its exchange owners personal stash.. yes assume all exchanges treat coins as their own. stay risk aware. but dont go into ignorance with "but we just dont know"

Even putting all that aside, and assuming you trust this unverifiable proof of reserves, once again, it means nothing without a proof of liabilities, which cannot be provided in a trustless manner. How do you verify the data they used to create the Merkle tree?
its more about if there is a total amount.
and within that amount all account holders can see that  they are accounted for within that total. then they know they are accounted for.

You want full transparency? Run a full node and keep your coins in your own wallet. That's the only solution.
agreed
legendary
Activity: 2268
Merit: 18711
Customers/users shouldn’t be willing to accept anything less than full transparency in provable fashion.
It cannot be done. You will always be left trusting the exchange, and as I said above, an exchange will never release information or data which shows they are insolvent or shows you anything other than exactly what they want you to see.

They can sign messages from addresses holding coins to prove they own these coins. Great. How do we know those coins aren't a loan? How do we know those coins aren't some outstanding investment they've pulled back in just for the sake of proof of reserves and will immediately be moved out again? How do we know that those coins aren't going to be moved tomorrow to some other address? (Binance have already done this.) You can't even be sure Binance didn't just bribe someone to sign a message saying their coins belong to Binance. CZ could be doing this with his own personal stash. Impossible to verify.

Even putting all that aside, and assuming you trust this unverifiable proof of reserves, once again, it means nothing without a proof of liabilities, which cannot be provided in a trustless manner. How do you verify the data they used to create the Merkle tree? How do you know they haven't created a fake account with a balance of negative ten thousand bitcoin in order to balance the books? If they ever actually involve a third party auditor, how do you know Binance aren't hiding some information from them. How do you verify the work of this auditor?

Trust upon trust upon trust. You cannot verify anything, with or without this "proof of reserves" illusion.

You want full transparency? Run a full node and keep your coins in your own wallet. That's the only solution.
legendary
Activity: 4410
Merit: 4766
apparently these are the wallets that total the binances 575k btc customer funds

34xp4vRoCGJym3xR7yCVPFHoCNxv4Twseo           252,597 BTC
3M219KR5vEneNb47ewrPfWyb5jQ2DjxRP6            127,351 BTC
bc1qm34lsc65zpw79lxes69zkqmk6ee3ewf0j77s3h 102,610 BTC
bc1qazcm763858nkj2dj986etajv6wquslv8uxwczt   94,643 BTC
                                                                 total  577201 BTC

quick google search shown 3 or the 4 are tagged on bitcoinrichlist as being binances too. but could be wrong
donator
Activity: 4760
Merit: 4323
Leading Crypto Sports Betting & Casino Platform
It’s crazy that it has taken so long for crypto companies leading the industry to actually start using the properties of crypto for the benefit of their customers instead of just to fleece them. I really like this development and hope it forces other crypto companies to be completely transparent about their activities. Customers/users shouldn’t be willing to accept anything less than full transparency in provable fashion. We deserve it.
legendary
Activity: 2968
Merit: 3684
Join the world-leading crypto sportsbook NOW!
Funny how every CEX is now doing Spiderman pointing.

ok, they hold 0.5M of users BTC, but how do I know that this include mine bitcoins? How do I know if their liability is not 10x bigger (5M bitcoins) and this POR (proof of reserve) is not only a 10% fractional reserve?

Yeah, I think this was brought up many months back too, I could be owing 100 guys BTC and how all of them the same proof of reserve (very common tactic by regular scammers anyway, to show the same proof of bank statement to multiple creditors and the very same way banks borrow money from each other using the same depositors' funds).

Not possible for now unless it's all smart contract tied but at least a third-party has to audit.
legendary
Activity: 4410
Merit: 4766
that is a good risk adverse way of thinking

it also applies to sidechains and subnets that have a main currency lock plus a currency converion mechanism too
ones that require conversions/rounding of the payment to the lock spend tx. where you dont have access to the underlying raw TX view(not part of wallets GUI) to know what is being signed and only a other network token valuation visible while on the sidechain/subnet. which you only know the conversions are correct when you try to get back to the main net and realise your side/subnet wallet didnt do as promised

be risk adverse and not just trust the social cycle of utopian hype

there is hope for you yet
legendary
Activity: 2268
Merit: 18711
while people are targetting binance heavily. i find it funny no one is targtting the businesses of DCG which are sisters of FTX
I don't doubt what you say, but honestly, I don't see the difference between any centralized exchange right now. The events of the past several months have shown us that every single one lies somewhere on the scale of "untrustworthy/shady" to "outright scam". They are all fractional reserve, they all gamble user funds, they all cook the books, they all exist solely to enrich themselves, they all don't give a damn about any of their users, and they are all interconnected in this massive web of lies they have woven, since the collapse of one can cause a domino effect which results in the collapse of several more. Some, such as Binance, know what to say on Twitter (fUnDs ArE sAfU!) to make people believe they are somehow different, but the bottom line is that leaving coins on any exchange is a massive risk. I don't care if it is Binance or Coinbase or Grayscale or some local exchange ran by someone you knew in high school. If your coins are not in your own wallet, then you actually own zero bitcoin and you might as well work on this assumption because before long your centralized exchange of choice will have scammed you for whatever you "thought" you once owned.
legendary
Activity: 4410
Merit: 4766
here is the thing though

while people are targetting binance heavily. i find it funny no one is targetting the businesses of DCG which are sisters of FTX

and lost hundreds of millions in the FTC fiacso.. where as from whats reported binance broke even when it escaped via selling FT and then whistle blowing

i would still like to see binances liabilities though. im not a user so no risk for me either way. but just for informative gaze at how crypto businesses are performing/operating

anyway, with DCG:greyscale
in the "everything about greyscale but afraid to ask" topic

myself and others have been looking into things about them

for instance in the TOS user agreement.
grey scale have some nasty terms where it can literally stop access to the entire site at its sole discretion without reason or notice

where as binance terms even in a suspension allows user access to withdraw funds it just deactivates the tabs for doing things like market orders.
..
grey scale says that it does not hold the trust collateral and that coinbase does. and that coinbase cannot tell greyscale the totals, nor tell greyscales customers.

thats a big warning/double red flag

if grey scale cant even see its own books.. they are not going to be able to do good business
Pages:
Jump to: