On May 21st, OpenSea announced the launch of Seaport - an open-sourced NFT marketplace protocol, attracting lots of attention on Twitter. Some people predict that OpenSea is going to become the Uniswap of NFT, others state that the launch of Seaport can kick off another NFT Summer. I would also like to take this opportunity to address some of the issues regarding Seaport.
Friens who have looked up NFT transactions on Etherscan may have noticed a small line in the upper right corner of the smart contract overview, OpenSea: Wyvern Exchange v2. This is the protocol that OpenSea is now using, the Wyvern Protocol. Like Seaport, Wyvern is an open-source protocol. It can be used to enable P2P trading of digital assets, including Tokens, ENS domains, land, and even smart contracts themselves, and through Wyvern, developers can build their own marketplace on any EVM-compatible chain.
How exactly does Wyvern realize the functionality of the NFT trading marketplace? In short, Wyvern is a set of smart contracts. When sellers and buyers create buy and sell orders on OpenSea, these orders are stored in a centralized database. When buy and sell orders match, these orders are sent to Wyvern's smart contract for on-chain settlement. Wyvern will verify that these orders are properly signed and matched and then execute the transaction.
Wyvern’s performance has already been proven since it can support such a large trading volume on OpenSea. However, Wyvern also has limitations. First of all, Wyvern is not very developer-friendly and does not provide rich developer tools to simplify the development process. More importantly, Wyvern does not optimize gas, making transactions very expensive. To date, Wyvern hasn’t been upgraded for a long time, the last time the developer docs was updated was three years ago. To address these issues, OpenSea decided to switch to its own protocol, Seaport, to replace Wyvern v2.
If you are a coder, source code of Seaport can be found on Github, go check it out. For those who can’t or don’t want to read the code, stay with me and I’ll explain.
The most exciting upgrade is gas optimization by coding with Solidity Assembly. Assembly language is a low level programming language. Let’s keep it simple, the core of the computer can be broken down to 0 and 1. The closer to 0 and 1, the lower level of the programming language we use, and the faster our commands can be executed. However, coding with low level programming language is painful for developers because the low level code is not that human-readable. Therefore, developers generally prefer to code with high-level languages, with the cost that running programs written in high-level language is less efficient and more expensive.
OpenSea developed Seaport directly in the Solidity assembly language to reduce computation costs (the transition cost between Solidity and Solidity assembly) and thus lower the gas fee. With Seaport integrated, the gas fee can reduce by the estimation of 50%, and speed and performance are greatly improved.
As mentioned above, assembly language is very abstract and difficult to comprehend. In order to improve efficiency without bringing many obstacles for developers, Seaport has upgraded the Solidity assembly language. For example, Seaport defined some constants to replace the hard-to-read memory numbers to improve the readability. Also, to keep the code free of vulnerabilities, Seaport has launched a $1 million bonus pool to incentivize developers to find flaws and improve the security of their code.
What are the changes of OpenSea after upgrading to Seaport? First of all, the gas fee will be significantly reduced and the time taken to complete a transaction will be shortened. OpenSea may also introduce a new UI to support new features such as NFT barter and combined transaction. Suppose a user wants to sell BAYC, he can bid 100ETH, or bid 50ETH + 4 Azuki. Another example is that the user has 20 NFTs with poor liquidity, and the user can choose to pack 20 NFTs to exchange for a recent hot NFT from other sellers. This "combined transaction" and "barter" approach to a certain extent can improve the liquidity of some NFTs in the secondary market.
For the whole industry, open source code will definitely lead to more imitators in the industry to compete with OpenSea. Therefore,from a common perspective, it is not wise for OpenSea to launch an open source protocol. In fact, we have already seen similar scenarios where Uniswap imitators such as SushiSwap and PancakeSwap did take away some of its users, but did not shake Uniswap's leading position. I think the launch of Seaport will increase OpenSea's voice in the industry and strengthen OpenSea's position in the NFT marketplace, a move that is very much in line with the vision of Web 3.0 - open source to meet the challenges of the market. Decentralization and open source must be the megatrend of the industry. An open competitive environment can greatly stimulate innovation, and more innovative NFT trading markets are bound to emerge in the future.
What is more expected is that OpenSea may issue tokens after the launch of the open source protocol. However, most of the tokens on the market that have been issued for the NFT marketplace are mainly governance tokens without many use cases other than voting. Will OpenSea issue a token, and if so, how will the token model be designed, and will OpenSea share a portion of the transaction fees with token holders like DEX? IOSG has been a strong supporter and early explorer of Web3.0, and will continue to focus on and support the innovative trading market built on Seaport. For more information, please stay tuned to IOSG.