So recently I’ve been wondering what makes Bitcoin so difficult to implement in DEX’s. Current solutions include IOU’s/wrapping with third party issuers which doesn’t solve the issues of custody.
So I decided to take some time and learn about Bitcoin’s scripting language called Script. It’s a stack-based language purposely made limiting to prevent bugs and keep the protocol stable. Functions on the Script language are called OpCodes. Many OpCodes that existed in earlier versions of Bitcoin have been removed due to fear of bugs, further limiting the protocol, additionally to keep the size of full nodes reasonable, sacrifices were made like keeping block size at only 1MB and limiting maximum bytes per OpCode to only 4 bytes allowing only very simple operations. All these limiting features make Bitcoin not turing-complete and a nightmare to work with.
This inspired the creation of smart contract platforms like Ethereum and Neo which use more traditional programming languages with much more functionality.
So with the recent announcement of protocol specs for Bitcoin trading being finalized, my question is; will there be trade-offs? If team delivers true non-custodial Bitcoin trading allowing for complex order types and similar performance to CEX’s this will be a game changer and anyone who cares about the values of self-custody should recognize this as one of the biggest achievements in this space. But again, my concern is that there’ll be some trade-offs, so if team could share something I’d really appreciate