No privacy. Why balances are public?

I am a blockchain dev. I don’t get it.

  1. Why all balances are public including the transactions history on blockchain explorers?

It makes no freaking sense.

  1. In case a consensus bug is discovered, stackoverflow bug etc. that requires immediate fix. I believe there is some kind of a developer key to specify to the network to accept a new software version to be trusted running on SGX enclaves. If yes, why can’t the developers create a new software version to download and save all the data from the “secured” enclaves to a hard drive and view all the content.

  2. In case there is a global electricity blackout, it means the blockchain is lost forever right ?

  3. If a panic error happens in the code, it means most likely all nodes will return the same panic error. This will mean the consensus will be cut and the blockchain is lost forever right ?

LE. 1. I see some smart contracts might have private stuff inside

”I am a blockchain dev”

see question number 3

I rate this troll attempt a 3/10

1 Like

I can’t spend 100 hours researching something to get some answers. Better write me answers to my questions. Not everyone is SGX expert.

Gray paper covers a little about SGX and enclaves

ofc i have read it before writing this post…

  1. SCRT is public, SNIP-20 are private. The balance you see there is the native token, not for example sSCRT or sETH.
  2. Software is part of the consensus protocol. If you try to connect as a validator to the chain and your software doesn’t match. You are excluded and won’t be able to connect.
  3. In the case of a global electricity black-out, which would mean a global armageddon, a pole reversal, or another global event. You are probably worrying about your life and those dear to you. Not the blockchain. Even so, blackouts don’t erase storage, so yeah.
  4. The blockchain up to the panic error will still exist, a hardfork patching the error could be executed to continue the chain.

All in all, I think you got a lot of reading up to do. Start with the effects of electricity outages on storage. Pretty sure you kept your HDD stuff during an electricity outage.

  1. You didn’t answer my question. How does the network know which version is legit and which is not legit. Are devs keys used to broadcast to the network a specific new version?

  2. Electricity blackout could happen due to solar flares that will last only 10 minutes.

  3. But it means that the blockchain is stored on hard disks and a private key to recover the data is stored somewhere or deterministically generated once the software opens. If the software just crash how is it able to recover the data from the hard drive ?

  1. Governance
  2. Yeah, so what? Same applies. Blackout does not equal loss of blockchain.
  3. Yes it is stored on hard disks, no it doesn’t mean there is a master key. The data is recovered through a validator reconnecting.
  1. But because the same code runs on all machines, if a crash happens on all your machines it means the blockchain is unrecoverable.

Why? What you say makes no sense.

You came in saying you are a blockchain dev…

The data must be stored encrypted on these SGX machines. Right? To read the blockchain and restore the node it requires a private key. You either redownload the blockchain from other nodes


I can just put encrypted data on the web. All the private keys of all the wallets can decrypt it. As those wallets should be the only ones to be able to decrypt it.

Your private key would be a security flaw

Then how is the blockchain stored in the key-value database on your local SGX machine. I simply don’t get it. I understand that SGX allows the program to be run encrypted into a black box. But how is the blockchain stored locally in the key-value database.

The inputs, outputs, and state are encrypted. The blockchain is stored in encrypted state, and can be put online in encrypted state.

Good. Exactly how I believed. But then when the node is restarted how is it able to reopen the encrypted state without reconnecting to the network and redownloading the entire chain ?

As I said, if an exploit is found in the code that is able to kill all the nodes’ software it means the encrypted state can’t be decrypted anymore. Right ?

A validator doesn’t open the encrypted state. Data is never exposed to the validator. Not in connecting, not in operation, not in shutting down

Then how the validator is able to verify a smart contract transaction if the validator doesn’t open the encrypted state ?

That’s the magic of the TEE,

you can read more about how a node connects to the chain in the graypaper. It may answer some of your questions regarding how a node accesses network wide secrets.