What does production-ready mean at OmiseGO?
We’re hard at work building the OmiseGO Network, but developing and launching a financial infrastructure that works is a process. But how do you define what ‘works?’ More specifically, how do we know what we put out will hold up?
To tell you more about what 'ready’ means to us, our Technical Product Manager, Pong, “Building a Product-Ready Layer-2 Solution” at Unblock Tokyo. The talk focused on three categories we believe a layer-2 solution like Plasma has to fulfill before being considered ‘production-ready.’
Special thanks to Norbert Gehrke for helping us transcribe the talk, which you can find below the video.
To start off, what is OmiseGO?
There are a lot of people who know us differently. Our enterprise partners know us for the eWallet suite, some know us through the ICO in 2017, and others know us for Plasma. To give you a better understanding of who we are, let me talk about our end-goal first.
Imagine I was from Taiwan. I have a mobile that allows me to do business at home, but as I get to Japan, I realize I can’t make transactions. As a person who owns stocks, bonds, or assets, going abroad and being unable to trade is where modern financial systems fail. Most of today’s financial services are in silos and not interoperable -- this is the core problem we’re trying to solve.
In other words, we’re trying to get to a point where we can have a fully-functioning global settlement system. We want to build a shared platform that can support any type of transaction with any type of asset, and service anyone from institutional traders to the average Joe.
When we started Omise, we were a payment gateway, quite like Stripe or PayPal. We quickly realized that transactions we process for our customers have to be done on existing providers, like the VISA network. There were few other institutions similar to them, and since all providers charge high middleman fees, our expenses rose.
The challenge was for us to figure out an alternative way to make transactions, one where a central counterparty didn’t charge us high fees. That’s when we came across Ethereum, and while we were excited, we knew scalability would be an issue.
We worked with different people in the Ethereum community to scale the network, including Vitalik and settled on Plasma. So we wrote the first OmiseGO white paper and called it “Minimum Viable Plasma” -- which we’ve now released the first version of!
A bit about the OmiseGO Network...
As of now, we’re able to handle over 4,000 transactions per second (compared to Ethereum’s 4-8), we also have a project sitting on a repeat testnet. For the unaware, decentralized public ledgers have low throughput, and that’s where layer-2 solutions like plasma can help.
Plasma scales the network while retaining and sharing the layer-1 solution’s (Ethereum) best properties like security and decentralization. This is different from Side Chain technology, which does not share features with Layer-1, and has to rely on an external provider for security.
While we’re on ver 0.2 now, since the deployment of ver 0.1 in April 2019:
- 2.6 million transactions on Rinkeby
- 400+ Applicants to our developer program
- An ecosystem of projects on projects including dApps, mobile wallets, developer tools and security tools
Defining Production-Ready at OmiseGO:
Being production-ready (to us) is more complex, and implies that the technology fulfills three criteria:
The software must work as intended. In the context of OmiseGO, user funds on the network must remain secured and invulnerable to hacks. Fortifying an entire network requires deep technology, which is tough to perfect.
Deep technology is hard to master is because there are two types of risks associated with it:
- Market Risk: The risk that no one would want to use the piece of tech once it hits the market.
- Technology Risk: Is what we’re developing too difficult to implement or even build? An example of this risk would be Space X’s standing rocket.
While OmiseGO is not a rocket-science company, any financial infrastructure in the blockchain space can be considered deep tech. Note that deep tech products have a longer development cycle and the product cannot be released immediately.
- It starts with the research phase: this could be writing up a whitepaper and exploring the science behind the technology.
- Then, you get to a proof of concept, a minimum viable version of your software that codifies all the properties you’ve defined.
- Until you get to implementation, the stage we’re at, where the production-ready software is shipped to the world.
We also conduct several security audits. When you’re making financial software that works with smart contracts systems, you must ensure it works internally first. And while we have an in-house security team, we also have external parties to audit our work. For example, we partnered with Quantstamp, a project that helps audit our smart contracts.
As an end-user, you expect a certain level of service availability/uptime for the software.
It’s double-y important for a financial infrastructure to remain stable because revenue is generated on top of it. To guarantee stability we run load tests by pushing the transactions per second to our network’s limits to see how it holds up.
We also focus on predictability, ensuring that the next version of the software is compatible with the last one and doesn’t ‘break’ anything.
At OmiseGO, we believe that for a layer-2 solution to thrive after it’s in production, it has to grow with its ecosystem. This is why we want Plasma to complement dApps, developer tools, security tools and more. We understand that no software gets built in a vacuum, and want our SDK’s, docs, and guidelines to reflect our commitment to collaboration.