In the first quarter of 2022 can be summarized
Rewrite of the Internal Virtual Mempool, Trade Engine and Executor from 0
Restructuring of orginzational structure and operations
I originally proposed this as a way of us being able to compare our existing implemtnation against a less ‘bespoke’ solution. Our original implemtaiton utilized kdb+, a highly-performant in-memory database engine with a APL langague called ‘q’ that is used for querying, transforming, executing, etc against the database. The issue really with kdb+ was its lack of open source developer community (we had rationalized this away by having support from First Derivatvies, the company behind kdb+ and q), and (at the time) its lack of external language support (NOTE: kdb+ and q now support Python without performance loss, this only came out in March 2022). Furthermore we of course had to develop our own toolin for EVM specifics, below are three libraries written in C and q specifically for making the EVM play nice with kdb+
- GitHub - manifoldfinance/qQuarticRoots: C library for KDB+ quartic solver
- GitHub - manifoldfinance/qBigInt: C library for Big Integer KDB+ Arithmetic
- GitHub - manifoldfinance/qAbiEncode: KDB+ library for abi encoding ethereum functions
By framing the ‘rewrite’ as a way to benchmark our existing solution it wouldn’t be seen as a timesink, rather an important piece of kit that we could use in negotations vis a vie the licenses for kdb+.
6 weeks later, the changes are unambigious. The original reason we had chosen to go with kdb+ is because we had seen it more as a liquidation engine than an arbitrage engine. We are also grateful for our new engineering peers, Antony and Jörg for without them it would not have been made to look so easy.
In December I decided to step-down as CEO because of two reasons:
1: The role of CEO at the scaling phase is much different than at the founding/incubation phase. It is much more bizdev oriented. 2: With a high-profile CEO we could have an easier time finding talent, integrations, investors, etc. A social media presence is a must ontop of having industry ‘clout’.
The first reason is really informed by the fact that Ethereum Proof of Stake would be coming in late 2022 early 2023, and if we were to position ourselves such that we can leverage the impending ‘triple halvening’ and other PoS effects, having a dedicated technical point person would be neessary. These types of roles are also hard to fill as the payoff very far in the future, which may or maynot be realized in the end.
The second reason really speaks volumes of the state of head hunting and our industry as a whole. Talented engineers are not strictly motivated by monetary compensation. Interesting problems, condusivive work environments can go a long way, but in the end I have seen that associations with popular people really do matter. Yes, what I really am saying is it is, in fact, more important to be liked than to be right. Also, working with well known people gives a certain prestige and more importantly, provides a much greater surface area for networking.
However, the only way to attract these types of high-value and high-impact people are only at the senior most roles. Also, it can not be seen that they are not in control: the reigns have to be given to them, wholehartedly. So, stepping down as the CEO as founder is a non-trivial ask, but at the end of the day the success of the orginization must come before any percevied ego. I know this was the right dececision because within a week of making it we had found the ‘missing link’.
There is no more CEO role, and its important to be recognizing that. We are in a particular moment in time, witnessing a new area of computer science blossom before our eyes in real time. We can’t expect that the well-established parts of operational management and theory will be the key ingredidents (again) in making a firm sucessful.
Future generations of computer scientists, engineers, traders, etc, will be jealous of the opportunity we have to get in on the ground floor of this new area—analogous to getting into the Internet and the Web in the early 1990s. It only makes sense that we take this opportunity and go with it.
While we had been rewriting the OpenMEV business logic (the virtual mempool and arbitrage engine), we actually have been able to expand the usage of the aggregation layer for flashbots-enabled mining pools. This has lead to identifying the non-OpenMEV part of the infrastructure as
above: Grafana dashboard showing the ‘arbitrage’ pane
SecureRPC offers transaction routing to selected mining pools, all flashbots enabled mining pools, or simply just to all of our downstream endpoints. This is useful for trading firms who are trying to execute trades on certain trading pairs that are filtered out of the gateway (read: they are rejected), wanting to reduce uncle/orphan rate of their transactions, or implement some other MEV-protected use case.
Over the last 2 weeks we have solidified and fixed numerous issues with Sushi’s frontend. These issues were preventing Sushi from actually running SushiGuard on the application by default. That is no longer the case anymore. SushiGuard is now on-by-default. Alot of these issues fell into two catagories:
Poor gas pricing on the user-side leading to too low of priced transactions. This is fixed, with a more substantive solution being finalized within the next week.
Poor error reporting and the inability to provide meanginful error messages back to end users.
For the error reporting issues, part of this was infrastructure and part was frontend. We are now able to populate error messages from whereever the transaction is having an issue, meaning directly from the mining pool gateway that is rejecting the submitted transactions.
Our Transaction State status messages are derived from the flashbots status API specifciation.
- UNCHECKED → Tx status has not been checked and there’s no information about it.
- PROCESSING → Tx checks are in place until a resolution happens: OK, INDETERMINATE, ERROR.
- OK → Relay received the Tx && all downstream miners accepted without complains && tx mined successfully
- INDETERMINATE → Relay received correctly the Tx && at least one miner accepted the TX && TX potentially mineable
- ERROR → Relay haven’t received the TX || none of the miners accepted the Tx || Tx was not mined successfully
We are also redesigning our inital SDK and libraries. For a example, a reference library,
libsushi exists. The preliminary code can be found via https://github.com/manifoldfinance/libsushi
On the strategy side, we are developing in tandem with StakingV2 (we need a better name) BentoVault stratagies. These revenue sharing stratagies will be porting existing Yearn stratagies to BentoVault that utilize $SUSHI. The reason for this specific focus first is so that when protocols like Yearn go to harvest, they typically are dumping this tokens over only a few blocks.
For more context on ‘BentoVault’ see Sushiswap is Omakase; for the OpenMEV Router, see SushiGuard Router Contract Proposal
Sushiswap is Omakase see this INFORMATIVE forum post on sushi’s forums
SushiGuard Router Contract see this PROPOSED forum post on sushi’s forums
This summary is not intended to be comprehensive
Although the material contained in this website was prepared based on information from public and private sources that and/or Manifold Finance, Inc believes to be reliable, no representation, warranty or undertaking, stated or implied, is given as to the accuracy of the information contained herein, CommodityStream LLC and/or Manifold Finance, Inc expressly disclaims any liability for the accuracy and completeness of information contained in this website and/or social media posting.
This website is distributed for general informational and educational purposes only and is not intended to constitute legal, tax, accounting or investment advice. The information, opinions and views contained herein have not been tailored to the investment objectives of any one individual, are current only as of the date hereof and may be subject to change at any time without prior notice. CommodityStream LLC and/or Manifold Finance, Inc and/or Manifold Finance, Inc does not have any obligation to provide revised opinions in the event of changed circumstances. All investment strategies and investments i nvolve risk of loss. Nothing contained in this website should be construed as investment advice. Any reference to an investment’s past or potential performance is not, and should not be construed as, a recommendation or as a guarantee of any specific outcome or profit.
Any ideas or strategies discussed herein should not be undertaken by any individual without prior consultation with a financial professional for the purpose of assessing whether the ideas or strategies that are discussed are suitable to you based on your own personal financial objectives, needs and risk tolerance. CommodityStream LLC and/or Manifold Finance, Inc expressly disclaims any liability or loss incurred by any person who acts on the information, ideas or strategies discussed herein.
The information contained herein is not, and shall not constitute an offer to sell, a solicitation of an offer to buy or an offer to purchase any securities, nor should it be deemed to be an offer, or a solicitation of an offer, to purchase or sell any investment product or service.