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.
In case there is a global electricity blackout, it means the blockchain is lost forever right ?
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 ?
SCRT is public, SNIP-20 are private. The balance you see there is the native token, not for example sSCRT or sETH.
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.
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.
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.
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?
Electricity blackout could happen due to solar flares that will last only 10 minutes.
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 ?
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.
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.
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 ?
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.