Seed Venture is a tech platform for the tokenization of venture capital. With this platform, you can use digital tokens to fund startups through entities like incubators who select startups, assist them with capital resources, and exit in a predictable, consistent manner.
The project is composed of a multitude of smart contracts running on the Ethereum’s blockchain. One of these smart contracts is the decentralised exchange that is the core component that allows value to be transferred between the various participants.
In other words, Seed Venture connects venture capitalists to startups using the power and security of blockchain technology.
One of our first tasks for Seed Venture was designing and developing the decentralised exchange itself.
Initially we analysed the requirements and the open-source ecosystem in order to send initial feedback to Seed Venture. The most critical aspect of the project was the idea that, once launched, the creators would essentially lose control over the platform. While this is a nice feature, there were so many potentially negative consequences. For example, if a bug is found, there would be no way to fix it. If the problem were critical, the only way to fix it would be to re-deploy a whole new system that would “live” next to the old, buggy one. The best we could do is to hope users would manually switch as soon as possible (a kind of “hard fork” of the platform).
We discussed some options with the client, including the adaptation of the ForkDelta code. ForkDelta is published under a GPLv3 license, which is compatible with the client’s needs.
The ForkDelta codebase was quite old and wasn’t compiling anymore with a recent solidity compiler, so the first thing we did was to refactor and upgrade the code.
Next, we removed all unnecessary code such as fee-calculation, owner accounts, and the upgrade path.
The core of the platform is a couple of solidity methods: the order method is responsible for inserting an order into the book (the book is an orders map), and the trade method is used to match and consume an existing order.
We know there’s much more that will be released by Seed Venture, and this is just the beginning of a long and exciting journey. The idea of releasing an immutable program is right in line with the core principles of a public blockchain. While we understand the reasons behind this particular design choice, we are wary of the potential risks and downsides.
The team is looking forward to many new developments in the Bitcoin ecosystem, such as Spectrum (part of the RGB specification), which is a next-generation, decentralised exchange that works on top of the Lighting Network. In our opinion, this is the way to go for the future, and we can’t wait to start working on it.