Replicating Bitcoin (etc) on SAFE Network

I’ve heard it mentioned (can’t remember where or by who) that one of the possible reasons that the SAFE Network could be so huge is that systems such as bitcoin etc could simply be replicated on SAFE. Could anyone give me a basic overview (I’m non-technical, as you can probably guess) of what that means in practice please? i.e. is this a case of forking the bitcoin software and running this on SAFE (i.e. with all the same mining/block size requirements etc)? And if so, presumably this could also be done for most/all other cryptocurrencies? And if this was the case, would everyone have to leave their existing money behind?

tl;dr everyone gets excited about bitcoin - but we could easily run bitcoin on the SAFE network AND get all the other benefits.

5 Likes

Nothing much will change from the user experience other than where you store your blockchain,
but this will come with many benefits when stored on the safe network.

SAFE is a storage network. Currently the bitcoin blockchain needs to be downloaded to be operated on, its about 500GB right now? Less and less people have access to their own copy of the blockchain.

SAFE Network will unchain bitcoin and give it true cloud access, you and I will be able to have a personal block chain and enjoy a “lite wallet experience” with a core wallet, which is cool!
Further, although I will have access to my own blockchain, the network space storing the block chain will be minimal and more environmentally friendy for all the reasons stated in the MAIDSAFE videos.

Watch here. https://youtu.be/U1ffmf6z50E

Another benefit, a faster bitcoin experience. I suspect this recent BCH, BTH split will mean nothing very soon.

7 Likes

Even though I have not studied either blockchain nor SAFE net technology enough to provide the best example, I’ll try, laying it out, hoping that someone else will pick it up and provide an even better one.

Very simplified:
Bitcoin blockchain is kept as a copy on each miner node.
This can be stored in SAFE instead.

And here, I guess there would be no need for duplication of the block, each miner’s chain is just a chain of addresses to the blocks it deems correct.

So, instead of [number of miners] x [blochain size] GB it would be just [blockchain size] GB. Plus the [number of miners] x [chain address index size] which is negligible.
(+ the blocks that were never accepted into the chain.)

What else can be said about implementation in SAFE?

Blocks are immutable data then.
The chains with addresses would be mutable data, with insert permission only… I guess.

6 Likes

And said another way.

Each miner will have what they consider their own copy of the blockchain.

What will happen in the network is that every chunk of the blockchain will be the same and thus deduplication will cause only one of each chunk to be stored to the network and the network stores its multiple copies of each chunk.

So when a block is verified as correct and all miner have the same data in that block they will be storing it to their copy of the block chain. Deduplication means they all will be accessing the same chunks but see it as their own copy.

The problem I see then is that there is only one copy of the blockchain stored to the network and if at any time a section of the network is inaccessible for a time or somehow lost so then is the blockchain inaccessible or lost.

For any blockchain they will by necessity need a good number of miners keep local copies of the blockchain to maintain the security from total loss afforded by having multiple copies around the world.

But for each miner/node using SAFE to store the blockchain they can rely on “their copy” being unaltered by anyone else since if some miners differ in their copy of the blockchain then the network does not see it as a duplicate and thus those differences are all stored separately.

The other problem is that often for examining the balance of an address the blockchain is a database and searched for all transactions against that address. For SAFE this would mean they are trying to access GBytes over the internet and such database searches become very slow and this is what will stop miners and nodes from using SAFE as a working blockchain store.

8 Likes

Yes, they can I imagine, but not as you are thinking here, perhaps?. the purpose of blockchain is to secure bitcoin, if we secure safecoin then it becomes more like,

People hammer in nails with a hammer
We introduce screws and screwdriver

Now folk ask, can our screwdriver also hammer in nails? Then we answer it probably does not have to :smiley:

I hope that makes sense, I am having a busy outside day, so limited time on line and rushing.

15 Likes

It does give a lower replication, but wouldn’t the inherent replication in the network meet all reasonable requirements for availability, as well with a block chain as with anything else stored?

For the addresses to be queried efficiently, local copies would probably be needed. So,seems hard to get away from that.

2 Likes

This is what I was thinking also, other technology will be used to solve the same (fundamental) problems.

So, there will be safecoin that is secured, and there will be receipts and ledgers available together with this as I’ve understood (since safecoin doesn’t have that traceability as bitcoin has).
Then it seems to boil down to safecoin replacing bitcoin I think?

5 Likes

Oh yes you’re right it would

But if a blockchain becomes very large then the probability that at some time over the years there will be a Internet outage covering a large area will cause all copies of one chunk to be inaccessible is not insignificant. The outage could be political or technical and may last from seconds to a much longer time. And you could be in the small segment and have lost access to most files on SAFE till the outage is over.

So while the network will recover when the outage is over the blockchain is deemed broken and useless for mining or node use during that time.

This I believe is a major consideration when someone decides to use SAFE to store a working node or mining.

NOW the other more important thing for working nodes and miners is that it involves a lot of databse access across the blockchain. For a working node this is looking up balances and transactions for reporting to a user or payment system. For a miner it is for validating transactions and solving them. The miner has to ensure the address has enough BTC for he transaction so has to do a database lookup on every address in the block being solved.

The time for access requires index then block lookups for each search. This could be as little as a few chunks to hundreds of chunks for each address balance/transaction lookup.

When on your local disk its quick real quick – milliseconds. But from SAFE it could be seconds.

So storing a blockchain on SAFE for the user who is running his own full node wallet then its great, but for a working node or a miner then it will be too slow in my opinion.

2 Likes

The problem I see then is that there is only one copy of the blockchain stored to the network and if at any time a section of the network is inaccessible for a time or somehow lost so then is the blockchain inaccessible or lost.

I think the SAFE network would detect that the chain is very popular and adjust the number of copies saved, so an outage of part of the network would not be a problem.

1 Like

Only by caching and the whole blockchain is unlikely to be cached and a working node needs all the blockchain intact. Actually so would a miner so any of the blockchain missing means the nodes & mining stops for that person.

But in the case of an internet outage (under sea cables being cut say - problem for us aussies) you maybe a part of the segment cut off from the rest of the world so very few files available and caching no good either

Thanks everyone for your comments. I’m getting there slowly but I’m still struggling a bit with this to be honest. It’s still not clear to me what the answer is but it seems from some of the comments at this stage to be that some takeaways might be:-

  • There could be a problem having the (bitcoin) blockchain on Safe Network - as deduplication will mean that parts of the blockchain might be missing if that section of the network was down (i.e. individuals/businesses wanting to check the history of transactions might not be able to, albeit termporarily
  • The efficiency of the system (from a miner’s view) will be worse on the Safe Network, removing a reason to replicate this on Safe
  • The Safe Network does so much more that to striving towards meeting the existing paradigm of Bitcoin blockchain security/recording for financial transactions may not be so useful moving forwards after launch

I’m not sure if what I’ve written/the other comments all makes sense to everyone else - thanks for your help as I try to wrap my head around this! :slight_smile:

2 Likes

You seem to be grasping some of the important points and what you said is correct.

I guess the blockchain on SAFE, in my estimation, will be good for some and bad for others

  • good for personal full node wallet. Saves a lot of duplicated space on everyone of those computers. The response times would be acceptable. The blockchain could be public too meaning that people running personal full node wallets don’t have to do any updating of the blockchain or even having their own “copy” of it.
  • Miners would find it inefficient because of the time to search the blockchain
  • blockchain explorers (public full nodes) might or might not find the blockchain stored on SAFE as being too slow. The higher the requests to the chain explorer/node then the worse SAFE is to have the blockchain on. Payment systems might find it too slow, but a pubic explorer might be just OK
  • Both miners and chain explorers/payment nodes will suffer any temporary disruptions (rare but possible) to the SAFE network.

Well thats my take on the usefullness of the blockchain stored on SAFE. A lot of diskspace in the world can be saved but too slow for highly active miners/nodes.

2 Likes

A full node scans the entire blockchain when the software launches in order to build the UTXO set. So I think any full node would still want a local copy. I think the main uses could be:

  • use pruning on a full node and keep the full archive copy on SAFE
  • maybe speed up the initial sync process?
  • provide an alternate way of propagating blocks (if somehow that became useful…like ISP blocks default Bitcoin port or something)
  • make an equivalent token on SAFE that is issued by a federated peg so that you can enjoy greater transaction functionality. Not really sure if this would take off because by that time there will probably be Lightning network.

Edit: another important thing related to alternative block propagation: provide uncensorable bootstrap nodes.

3 Likes

I’m sure nobody would care,

but the reason I don’t participate in these topics is that I really think much better solutions will come out, and nobody will want to go through the trouble of trying to use a Bitcoin-style blockchain when technology like SAFE is widely available.

If you want public auditability, you can make much more efficient systems with Safecoin, or Safecents or other coins that simply fit better with the whole system. Systems of receipts and even new coins based on Safecoin / MD design, that can be made public.

But @Jinho_Jang don’t get this confused with #DataChains as it’s completely different haha :stuck_out_tongue:

3 Likes