As far as i know it’s just the immutable data that is encrypted when uploaded by the client. The mutable (everything else) is stored as clear text, mi wrong on this? Mutable data has access control lists, so you can control who is able to read it.
I thought it was everything encrypted except pvt data.
So many things change I can’t be sure.
We are encrypting all data and looking to make sure that is the case, although public data is readable via the data_map, i.e. the key to where data is and how to decrypt it. So you cannot decrypt in place, but you can recover enough bits to decrypt public data.
Think of it in 2 ways
We want to ensure all data held by any farmer is encrypted. To protect farmers etc.
We want publically readable data, so there is a mechanism to decrypt public data at the client. (the network nodes don’t know how to do this)
Thx… Your answer solved my question.
Compute on SN means/entails that the output of a computation can be trusted and that no third party has to verify the output (trustless computing - no trust in a third party) - so consensus via a networking mechanism. You may also think of this as a VM - a virtual machine that exists within SN.
Smart contracts are code that run in the compute VM environment. This is vital for smart contracts, otherwise their output can’t be trusted.
The network overall is like a VM, but only for the specific tasks laid out for Fleming and Maxwell - hence no ability to process smart contracts. The addition of a compute VM will hopefully come after.
wasm on SAFE?
Definitely. I made some test repos with this in mind while figuring out a way to create a decentralised git portal. WASM is used in the first proof of concept (GitHub - happybeing/p2p-git-portal-poc: p2p git portal proof-of-concept using Svelte Golang/WASM (experimental)) and the prototype (GitHub - happybeing/p2p-git-portal-wasi: Peer-to-peer Git Portal in Svelte, Rust/WASI on WasmerJS).
Smart Contract is quite a catch-all term though isn’t it? There are potentially things that people do with SCs that could be accomplished with DBCs.
So I guess it depends on the use-case.
@TylerAbeoJordan As far as trusting anything, you cannot trust any output from the computer without verifying it. A compute VM environment is hackable just like a native environment. Just mod the code on the PC to redirect the job to hacked code on a VM or native. No way for remote computer/person to know. There has to be a way to verify the computation or else its suspect.
Its the checks and balances that makes it trustable, not the compute VM
I’m thinking of a network VM that picks consensus answer. A local VM is a different animal.
Is there any official proposal for smart contracts/compute layer?
Blockchain world has a very difficult environment when doing any computation. The reason is, their consensus mechanism, that forces all participants to either compute or verify everything what is going on the blockchain/sidechain is super costy and does not scale well.
On the other hand, safenetwork can reuse existing consensus on storage, and let any subset of computers/validators/oracles/plugin executors do the job. It can reuse elders as trusted nodes, or it can use stakeing mechanism, where anyone can become code executor, who owns at least some minimum amount of Safe Netowork Tokens.
There is no need for whole network consensus, section associated to client can handle consensus separatelly on any cumputation call and that call can be done on random subset of nodes/executors from whole network. This scales easily and is very hard to attack.
If we introduce smart contracts + wrapped tokens + atomic swaps, then safentwork can be scaling solutions not only for ETH, but for every blockchain.
1, ETH, high fees, does not scale well and in desperate need for sacling solution. Matic pump as potential solution is an example what fortune is to be made here.
- Polkadot it can have only 100 parachains, and each chain slot is super expensive to get. Kusama, test network for Polkadot is worth 3 billions, because Polkadot is full, and Kusama as test network is practically the same.
I’m not following how that can work. Can you give more detail or an example?
I inteoduced this plug system here: Safe Computation, Apps & Plugins