The Three Eggs in a Distributed Basket: Wasm, Blockchain, and Reputation27th February 2019
There are undercurrents forming that in the near future will converge into a torrent of adoption, creativity and a change to the way we operate online. The change is going to feel subtle because the way it will be brought about is a natural one; but it will be fundamental all the same.
And with the right kind of eye, you can see the undercurrents today. They are WebAssembly, Blockchain, and Reputation.
WebAssembly — or Wasm — is a standard designed to be a compilation target for programming languages and a binary format with the goal of near-native performance for web applications.
When you think of Wasm as a compilation target for programming languages, picture it as the common meeting ground for all developers. And Wasm is moving in this direction pretty fast. There’s a curated list of languages that compile to Wasm on GitHub — the progress is nothing to sneeze at.
That Wasm is the format targeting near-native performance for web applications means that whenever you go on the Internet to run an application in your web browser, the chances are the majority of them are going to be in Wasm in the nearest future. This is especially true for online gaming because it requires the highest number of interaction that relies on your input and performance.
See, whenever you run an app in your browser, your browser downloads the application’s code from the server and loads it into the browser’s virtual machine, and this is where you interact with the application. This also means that the virtual machine of your browser must be able to load and run Wasm.
Well, here’s the thing — Wasm is supported and contributed to by Mozilla, Microsoft, Google, and Apple.
And as noted earlier, many programming languages already compile to Wasm, and the list is growing. There’s great Wasm support in the developer community.
So, your browser loads Wasm code into its virtual machine and runs it. You know what else does that? A decentralized world computer like Ethereum.
Ethereum has the Ethereum Virtual Machine (EVM) that runs the code. To compile into the code that the EVM understands and executes, a developer needs to write the dapp in Solidity. There is also the language called LLL, which is less popular, and Vyper, but Solidity is the one majorly used.
This creates a bottleneck for developer adoption. A developer needs to get comfortable with Solidity before they can code and launch a dapp.
There’s an initiative in Ethereum called eWasm that aims to replace the current EVM with an eWasm virtual machine. eWasm is basically Wasm and offers greater and improved performance over the current EVM architecture. Not only that, but adopting Wasm in Ethereum would open the floodgates to developer adoption because any developer would be able to write a dapp in any language they are comfortable with and compile to a dapp.
To quote Lane Rettig, one of eWasm core developers:
I have a personal goal of getting a million or millions of developers building Ethereum smart contract … Wasm is an important step forward, it’s a massive massive massive increase in optionality for developers, they can develop using different languages, different compilers, they can develop their own languages, their own DSLs [domain-specific languages], none of which are really possible in Ethereum 1.0 today.
While Ethereum has an EVM, other infrastructure projects — i.e. blockchain protocols that are not solely for cryptocurrency — each have a virtual machine too. Projects like EOS, Tron, U°OS.
The virtual machine of EOS understands Wasm natively. U°OS understands Wasm natively. Tron is planning to move to Wasm this year — and due to Tron’s consensus algorithm, the network upgrade to a Wasm-based virtual machine is going to be relatively hassle-free. It remains to be seen if eWasm will make it to the Ethereum mainnet, but it’s definitely moving there.
So, to reiterate, consider this:
- Wasm is supported by the software and the Internet’s major players — Mozilla, Microsoft, Google, and Apple.
- Millions of developers comfortable with their languages will be able to compile to Wasm-based virtual machines.
- Wasm is on its path to becoming the common meeting ground for the majority of languages.
Wasm is becoming the technical backbone for how people develop and interact with applications in this vast digital space that will also be relying on blockchain.
People use the technology to rely on in their interaction and the social layer — and decentralized reputation, in particular — must play an important role in the adoption. Dapps running on blockchain and Wasm provide execution transparency, decentralization, and trust, but people create the dapps, and people use the dapps, this is where reputation matters the most.
Network members must be able to use their decentralized transparent influence score based on their contributions to the network. This will enable the network health to run not only on dapp developers and dapp consumers but on every network member and make the network autonomous and self-governing.
Projects like U°OS and U°Community are filling this gap along with Wasm adoption.
Time will tell if the three undercurrents — WebAssembly, Blockchain, and Reputation — will converge. But it only makes sense that they should.
The Three Eggs in a Distributed Basket: Wasm, Blockchain, and Reputation was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.