Blockchain Computing on Ethereum and Bitcoin SV
There are two concepts of doing blockchain computing. The commonly used is represented by Ethereum. A new concept emerges with Bitcoin SV. A comparison.
Blockchain computing means doing computational operations on a blockchain. A transaction is basically such an operation: It executes a signature and a validation script. The promise of „blockchain“ is that you can compute any operation onchain.
Blockchain Computing on Ethereum
The idea of blockchain computing became popular with Ethereum‘s announcement of the „world computer“ - of being able to compute much more than just transactions with a blokchain. Bitcoin is a calculator, able to perfom a few predefined operations, is sometimes said, while Ethereum is a computer. It can do everything. How does it work?
When you create computing operations on Ethereum, you rewrite them with a hardly mature programming language – Solidity – in a way that they are compatible with Ethereum‘s consensus rules. Then you upload it with a transaction, which creates the so called smart contract.
When the operation is executed later, every node of the network executes and verifies it. Then it is written on the blockchain. The computing power used for this is called Gas. It determines the fees you have to pay for an ETH transaction.
This concept doesn‘t scale. Obviously. The computing power is only as strong as the weakest node in the network, and you bloat the blockchain with an ever growing execution record of any operation, which must be repeated by every new node synching the blockchain.
The Ethereum developers know that it doesn‘t scale. The blockchain, while being smaller than on Bitcoin, needs forever to synchronise, because it is full of computational operations. The computational capacity of Ethereum has already reached it‘s limit; successful smart contracts repeatedly clog the network, and the Gas prices – which determine transaction fees – become prohibitly expensive.
This concept also heavily limits the scope of operations. Putting a supercomputer onchain? No way. Processing Gigabytes of data? Never. Even midly complicated operations cannot be put into a smart contract, but need to be executed by DApps, which are just centrally hosted websites. The Ethereum developers want to solve this problem by either repeating it on another chain – Plasma sidechains – or by hiding the operations and its results in a state channel.
Despite its shortcomings the smart contract way of doing blockchain computing has become the standard in crypto space. Other blockchains imitiate and try to improve it, for example by allowing more conventionel programming languages, using sidechains from the beginning or implementing new, supposedly more efficient consensus algorithms like DPoS.
However, one Blockchain tests out a very different concept: Bitcoin SV.
The Rise of Blockchain Computing on Bitcoin SV (BSV)
While Ethereum uses the blockchain as a processing unit (like cpu), BSV‘s approach is to take it as a database and an operating system.
It all started with _unwriter creating BitDB for Bitcoin Cash. He seems to be the first trying seriously to use the blockchain as a database. BitDB writes the Bitcoin blockchain in a Mongo database, making it searchable by all kind of operations, and setting the base for actually writing things in it like in a database. BitDB made it possible to create memo.cash, a blockchain twitter, or oyo.cash, a searchmachine for the blockchain.
Than there was the fork from Bitcoin Cash in late 2018. _unwriter took side with Bitcoin SV with a blazing blogpost. A few days later Craig Wright hold his „Metanet“ presentation on the London CoinGeek conference, where he announced to create an internet in the blockchain (and many more things). In the weeks and month after it _unwriter released a series of tools, Genesis, Planaria, Bottle, BitCom, DataPay just to name a few. All this tools are designed to use the blockchain as a database, an operating system and an internet.
To put it short: Planaria is a tool to store and query the blockchain as a database for any entry. DataPay allows to write in this database. BitCom is a protocol to register operating commands for those files. Bottle is a browser than can connect both in the user interface.
In January Craig Wright‘s nChain mined a block with a transaction containing an 100kb op_return output. By this, nChain broke the op_return limit of 220 bytes. A few hours later _unwriter published a tool to present the content – a chapter of Alice in Wonderland – as a website and announced it as the first serverless website.
A new Concept
Since then, a new concept of blockchain computing rapidly emerged. The operations itself do not happen on the blockchain. Only the instructions, like a simple java script, or a library listing sets of computational instructions, are onchain, as are the files, that are processed. The blockchain is not the CPU, it is the filesystem.
You can build anything with this, without effecting the network. A supercomputer, a marketplace with all kind of information and processes, and so on. You don‘t need to use solidity language, but can pick any language you want and any software library that someone stored onchain. You don‘t need to care for consensus compatibility in your contract, and you don‘t need to keep it short and simple. You can process any data of any size or type.
The data and the scripts are onchain. The operation itself is not. This is the big difference between the Ethereum and the Bitcoin SV approach.
But what‘s the purpose of blockchain computing if the operation itself is not onchain? Isn‘t this exactly the idea behind it? When the operation is not done publicly and by all – how can you be sure that it is legit? Couldn‘t we just use the internet or other centralized databases?
There are two main properties of Bitcoin SV‘s onchain computing, which differ from centralized internet sites:
First, the code for the script – say, a website calculating a hash – is immutable and authentificated. The transaction ID is the hash of the content, so can alway be validated. It can hardly be censored or taken down, nor can it be manipulated. It must not be accessed by an IP address, but by a transaction ID. The results of operations can always be verified, as the method – the script – is transparent.
Second, computing operations can result in onchain data, like monetary transactions or the output of some kind of data as op_return. Those results are recorded on the blockchain and can be verified with the script.
Ethereum vs. Bitcoin SV
BSV has a completely different approach than other blockchains. The Ethereum way enforces a correct execution of a smart contract by the whole network. If I send a transaction instructing a smart contract to do something, the smart contract WILL do it. This property has enabled powerful applications like the DAI dollar.
BSV computing is more like a chain of automata. A user puts something in, the automata puts something out, the result is pushed on the chain, not as the script to execute, but as a string to record.
While you can‘t integrate the whole scripts stored as strings onchain in a transaction building process, there might be options to create more advanced transaction scripts in the future which more tightly integrate with onchain files and tools. Bitcoin SV is about to fully restore the original script functionality of Bitcoin, which is meant to be turing complete. But this area is not sufficiently researched to assess it‘s potential.
Building a decentralized supercomputer onchain
Let‘s instad have a thought experiment: We want to create a decentralized supercomputer, both on Ethereum and on BSV. Let‘s say we have a 60mb program to calculate 1gb of climate data.
On Ethereum it is impossible to put 1gb of climate data onchain. This is the capacity of about one week. It might be possible to push 60mb of program data onchain, but this requires a heavy refacturing of the scripts, will cost a lot of Gas and might cause several security risks.
If you try to do the operations onchain, you will fastly reach the limits. Executing the supercomputer operations will cost heavy amounts of Gas, while you only get a tiny power capacity, as the operation is done by every single node. It will not work very well.
Instead of creating the supercomputer onchain, you can create a marketplace for supercomputing onchain. This is approximately what Golem does. You create a smart contract, which tries to wrap up a complex logic of business scenarios to enable people to trustlessly trade supercomputer power on a decentralized marketplace. While such a contract will still cost a lot of Gas – it is relatively complicated for Ethereum – you still need a centralized third party to share data and tasks and to allow the involved actors to access the system.
Now, how can it be done on BSV? First, you can put the files to process onchain – 1gb is not that much of data for BSV, Ryan X. Charles already uploaded 1.4gb of pictures. So you can do with the 60mb calculating instructions. Not as a smart contract for other nodes, but just as a string. All data you use is stringed: Nodes do not need to execute it, but they can.
Then you create an onchain website, giving users access to some kind of marketplace. This allows to access and produce onchain data: Identities or pseudonym of bidders, askers and maybe moderators; every step of a trade cycle – offers, acceptance, delivery, payment, review. It is not a shared computer, but a shared filesystem.
That‘s it, basically. You can share vast amounts of data and scripts, create the data items needed to run a supercomputing marketplace and process deliveries and payments without the need of a centralized third party website. Multisig transactions protected by a notary or moderator, can be used to secure the payments.
Sure, the supercomputing is something for the future. BSV just started its metanet enterprise. It‘s not ready. For example, processing multisigs on onchain sites is currently hardly doable in a userfriendly way.
But in general – it is possible. With this method you can basically build everything. While Ethereum struggles with making expensive zero knowledge proofs (zkSnark) compatible to onchain computing, people in BSV are already working on toolsets like onchain SSH.
A new paradigm
17 of 18 reviewers say it's worth paying for
1 of 18 reviewers say it's not worth paying for