Blockchains on SAFE

Once compute is implemented, each block in a blockchain could be verified and stored by single group right? The group could be chosen based on some hash of the block. Then you would have blockchains that would scale way better than today, requiring only something like 32 nodes verifying each block instead of the whole network.

Is there any reason this shouldn’t work? And if it works, whether or not it would be useful is another question though, but I suppose it could have some use cases, perhaps for scaling legacy blockchains.

9 Likes

Has anyone thought more about whether this could work?

If SAFE could enable any blockchain to migrate to SAFE for massive scaling, it would be a gigantic use case. It has been discussed before, but never brought forward any proposals for its feasibility.

I don’t know enough about blockchains or SAFE to know if or how this could work, but would like to know.

1 Like

Maybe for example 3 full Bitcoin nodes is enough security when stored on the SAFE network. But who would own the private keys for those full nodes? It becomes centralized. Perhaps some other solution is possible though, I don’t know.

There’s this recent related discussion at least

1 Like

I think the major drawback is querying the blockchain on SAFE. It’d be slow especially something as large as the BTC blockchain.

Might be ok for personal use but might be too slow for a big business where they need to verify many addresses per minute.

Since the blockchain is a database, why not reorganise it so that the data is quicker to access. The blockchain database relies on the data residing on a fast low latency local disk. Well SAFE is not the best for this. But reorganising the data might solve that.

If keeping the blockchain as is then the security of immutable data wouldn’t require any special processing by the core code would it? Just need to solve the issue of storing new blocks

But if you reorganise the data then the security should be fine without special security by the core code. This is my impression anyhow and I have not yet seen the need for storing blockchains on SAFE other than a archival method so nodes can resync real quick using the security of SAFE’s immutable data.

3 Likes

I agree totally. It would be like saying can a model T carry a horse in its boot/trunk. It kinda makes no sense really.

4 Likes

Somebody somewhere makes a good living making horseboxes :man_dancing:

7 Likes

My thinking is that rather than querying the blockchain stored on Safe, you could have Safe connected full nodes that can do whatever querying is necessary on demand & pass results to the requester through Safe.

This could enable Safe apps to access blockchains & write to / transact on them without leaving Safe themselves - outsource that to dedicated Safe-blockchain bridge nodes.

Hopefully it’d also enable blockchain based assets to be ‘parked’ on the Safe network & given a redeemable proxy token on Safe that greatly enhances performance (transaction speed & cost), while retaining blockchain asset value. This may be impossible to do in a trustless way, but would be brilliant if possible.

2 Likes

I believe that you are correct in thinking that it is relatively easy to implement a ledger on SAFEnetwork (data chains are an example of that, but for a specific network function). I don’t know enough to say whether it can definitely be done as the API is now, but I suspect it can.

Edit:

I’m not sure if there is value in such a global ledger though. Bitcoin/blockchain is big ATM because it is still the only option for what it achieves. But when Safecoin is around, why would you need a better bitcoin? Safecoin will fulfil the main functions of bitcoin, only scalable, instantly and energy efficiently.

So while there may be uses for ledgers on SAFE I think they will be for specific applications, rather than a global currency like token. In which case those ledgers would be specific to each application.

5 Likes

This could be really great. With bitcoin sidechains you can move bitcoins from the main chain to a side chain. I suppose the same procedure could be used to move bitcoins from the bitcoin blockchain to a bitcoin token on SAFE and then moved back to the bitcoin blockchain if someone wants to use it with a legacy bitcoin system. The bitcoin token on SAFE wouldn’t need to use a blockchain at all, but could use the Decorum Wallet or something like that instead.

It would be difficult to make it completely trusless though. With compute, you might imagine that perhaps there would be some way to do IO. If you do IO then you would have to select a node to do the IO operation though. If compute had a way to select random node for doing IO operations in a consensus group, then that would be problematic, since IO operations may not be repeatable, so the other nodes can’t in general check if the IO operation was performed correctly. For most IO operations it would likely be better to have a trusted node that runs a custom app to do the IO operation istead of trying to add IO support to the network. Thus a trusted gateway that connects SAFE to the bitcoin blockchain would probably be the best way to transfer bitcoins to and from SAFE.

A trusted gateway between bitcoin and SAFE could even be used to keep your bitcoins while they’re on SAFE. For users who wouldn’t trust the gateway completely, it could have multisig support so that the bitcoins could only be released via multisig, with the signature of the user that owns them and the gateway together, so that when a user transfers a SAFE bitcoin token to the gateways wallet, the user can then sign to release the bitcoin and have it available on the bitcoin blockchain again. Many users might find multisig cumbersome and just opt for the gateway safekeeping their bitcoins though.

It’s not completely trustless, but it might work.

2 Likes

One reason I could see difficulty having a massively valuable currency on Safe, at least in the early days, is trust that there will never be a glitch in the Safe network / split / loss of consensus that results in the records for a currency becoming corrupted.

This could be avoided if a snapshot of the current distribution of an asset could be downloaded & backed up by individuals so that in the unlikely event of a Safe network data loss event, balances could be assured up to that provable snapshot.

I wonder if anything like this would be possible so that people could use the Safe network for currency / value storing uses without needing faith that the network will never fail & will always be perfect at data retention (which may be a big step for some)?

Basically, will there be ways for balances of Safe-based crypto assets to be ‘backed up’ off-network to ensure proof of ownership in the event of network hiccups?

This is what data chains are designed to ensure. Recovery of network state after a catastrophic outage.

1 Like

But in the event of a failure to recover, e.g. if data chains one time didn’t do their job properly, people would still like to know they could point to an off-network record that can prove balances.

Even if the network is perfect, there is a requirement for the network to always be perfect for people to trust it with massive value. Some may not have that level of faith in something they don’t even understand, and will likely want a ‘backup’, even the network ends up performing perfectly for decades to come.

The record will be there. Data chains not working would be fine so long as the record is not incorrectly structured. Testing can give a very high confidence of this I think, so I think a backup record would be useful only for exceptional cases. Just my opinion. :slight_smile:

2 Likes

Agreed - it’s exceptional cases I’m thinking about, e.g. where millions / billions of $/£ value are at stake, the trust of many people is required, and backup becomes essential if there’s even a tiny chance that records could be lost if the Safe network were to have a hiccup.

1 Like