For tomorrow’s leading dapps to utilize blockchain within their development stack, developers need the tools and information-access that they are used to having when developing for the web. dfuse is speaking with experienced blockchain developers to help share their journey, the tools they use, and the sources of knowledge they turn to. This week we spoke with Pablo Gabril from Equilibrium.
Could you introduce yourself?
My name is Pablo Gabril, I am the Head of Development in Equilibrium. My passion for IT development goes back to my school years, where I studied C++ and used it to develop a factorization algorithm. I started releasing commercial projects about 15 years ago. Since then, I’ve worn different hats for a number of IT projects, ranging from network security audits to developing brokerage service infrastructure. I discovered blockchain technology in 2013. I remember analyzing the depth of the market on various exchanges back then, noticing arbitrage opportunities. Those exchanges, MtGox and BTC-e, no longer exist. I started learning about smart contracts on the BitShares blockchain, and now its successor, EOS, appears to be a great platform for decentralized applications.
Could you present the vision of Equilibrium?
Equilibrium is a framework of smart contracts that lets users lock up their volatile digital assets to receive USD-pegged stablecoins called EOSDT in return. It depends on over-collateralization to work properly, and this critical threshold is currently set to 170%. In other words, if you want to generate $100 of stablecoins, you must pledge at least $170 of your digital assets. This framework also implements a community governance mechanism: those who hold our Native Utility Token (NUT) may submit and vote on proposals to change how the entire framework functions like risk parameters and vote for block producers.
One of the main stability mechanisms in the framework is for price-pegging. Where cryptocurrencies like Bitcoin and Ether are known for wild, unpredictable swings in value, EOSDT suffers from no such drama. You can think of EOSDT as a tokenized representation of a dollar sitting in a bank. That makes this cryptocurrency eminently useful for applications like leverage, hedging, lending, borrowing, or simply making payments for online purchases.
What are the main challenges when developing on a blockchain?
Blockchain technology is developing rapidly, which is its simultaneous strength and weakness. It drives a lot of functioning, quality projects, but their integrations are difficult due to the lack of proper documentation and backwards compatibility between versions. Other projects provide unique services for the ecosystem, but don’t have a sufficient service-level agreement. It’s difficult to find the right balance between factors like the number of backup data providers, development speed, and ease of system maintenance.
The next stumbling block is that blockchain have certain problems receiving external data, especially from external legacy IT systems. While forking and transaction rollbacks maintain blockchain in a consistent state, other related systems may not apply these changes and can lose data integrity as a result. Suppose there’s an on-chain transfer of tokens in payment for a service rendered off-chain. The transaction can then be reverted, but the actual service had already been rendered. There are a few approaches to avoiding these situations. First, the off-chain operation can be delayed by a period of time exceeding the confirmation of the transaction period. The statistically safe mining period of six blocks on the bitcoin blockchain, for example, or the completely safe, irreversible block on EOS. Second, instead of transacting directly between user addresses, smart contracts can mediate the transaction. This approach lets us repeat the remittance procedure while reverting the initial transaction.
One of the main innovations that blockchain brought to the market were smart contracts that are now the signature option that driving development across many industries. But one of the most serious problems arising from smart contract design is the security audit. In the absence of an adequate means of auto-testing and security analysis, it’s common to see security audits performed manually.
Finally, we can find some problems in the open-source approach that are the main characteristics of the blockchain development by default. It definitely holds many advantages, including accelerated adoption by the community and rapid detection of bugs and vulnerabilities, but there are drawbacks as well. There is a risk that involves competitors copying the technological solution entirely, diverting the research and development savings to marketing and PR campaigns. As a result, the competition could gain a bigger market share than the company that initially developed the technology.
What sets Equilibrium apart from other stablecoin projects in the ecosystem?
We absolutely keep an eye on the competition among the decentralized stablecoin market, and while there will always be similarities (just as all smartphones or automobiles share underlying traits), our biggest differentiator is clear: we’re covering the stablecoin gap for the EOS market and changing the EOS DApp landscape for the better.
Other major names in the stablecoin space are highly committed to Ethereum. But there are strong reasons to develop this solution for the EOS blockchain beyond the fact that we get to serve an unserved, growing market. EOS offers zero transaction fees, faster transaction processing times, and therefore the ability to scale more quickly. We enjoy cross-chain compatibility and faster refresh rates than Ethereum, so our system is more responsive to external price changes. EOS comes with a built-in governance mechanism that is central to how we operate Equilibrium. And it also supports partial collateral superfluidity, which means portions of Equilibrium collateral can stake block producer voting or resource exchange staking while simultaneously backing all EOSDT in circulation.
We’re also pursuing the idea to not only give the EOS community the rights to manage and vote on how the framework operates, but to involve them in shaping and designing new pegging algorithms. This creates fair, reliable mechanisms for the stablecoin market that will open more market niches for new decentralized finance businesses. That’s why we recently launched Equilibrium Labs, our R&D arm, to develop and improve existing and emergent price-pegged algorithms alike. This all serves to bring enhanced liquidity to the decentralized finance market.
Equilibrium Labs is currently completing its research and improvements for the Smart Token stablecoin algorithm recently proposed by Daniel Larimer.
What advice would you give to a developer who wants to build a blockchain project?
The debugging tools on the market for smart contracts are insufficient. For example, it would be great to have an ability to replay blockchain to the state when the debugged transaction was executed, and re-execute its code line-by-line again. That would make it easy to track down errors, implement necessary fixes, and execute all the similar transaction to make sure no new errors were introduced in the code. This is technically possible, but no tool exists today to facilitate this process.
My advice to beginning developers would be to start by studying the open source code of working smart contracts and their underlying blockchains. But when working with financial applications designed to serve a large number of customers, you should focus more on different aspects like designing, testing, and code changes auditing. The more your team is familiar with the selected framework’s source code, the easier the development process becomes. That’s why comprehensive full-stack development matters in the blockchain.
We are always looking to speak with EOSIO developers from around the ecosystem. If you are a developer and want to share your experience of building on the blockchain, please feel free to contact us. We would be happy to integrate your interview to our series "In the Eyes of a Blockchain Developer".