Just a quick question on blockchain interoperability that REN attests to be able to handle.
If person A wants to use a smart contract on REN such that person B is only paid when a condition is achieved, which address does he send the BTC in order for REN to convert them into a BTC-equivalent on the ETH chain, and who controls that wallet? Is it to a special BTC multi-sig wallet where only a set of darknodes must collaborate to decipher the private key?
The reality of interop with Bitcoin is that the most custody you can model for some BTC is 20 signatures in a multi-sig; it’s a fundamental restriction of the protocol.
To go further than this, you need something like sMPC. RenVM is the only solution I’m aware of that takes this approach with an sMPC algorithm that is fault tolerant (Dev team did a lot of R&D into this space to make this possible).
If you think about porting Bitcoin to another blockchain, the best you can do is a X-out-of-20 multisig. This isn’t decentralized. So while cosmos blockchains are interoperable with other cosmos chains (or, similarly, polkadot to other polkadot chains), they cannot easily interop with other blockchains that don’t implement their protocol. The best you can do is bridges or “pegged zones” and there’s a lot of trust there (pegged zones for BTC would cap out at 20 custodians, not even as much as EOS which is widely criticised for not being decentralised).
Im just referring to the underlying way in which many chains “bridge” BTC. Users send the BTC to a multisig, and then the custodians of that multisig mint a representation of BTC into the other chain. When the user burns the representation on the other chain, the custodians of the multisig send them the BTC back. Problem is: Bitcoin only supports up to 20 parties in a multisig and even these are rarely mined.
RenVM takes a different approach by letting 1000s of nodes take custody of a key (essentially creating up to an X-out-of-10000 multisig). All blockchains use private keys, and therefore all blockchains are compatible with RenVMs model without having to change. RenVM could even port polkadot chains to cosmos chains!
Instead of a using a multisig, RenVM uses just one private key to hold the BTC while it’s on the other chain. That private key is secret shared amongst its nodes, allowing a high degree of decentralised control. In effect, it is a massive 192 party multisig (it’s not actually though, and you wouldn’t use it in the same places you would use a multisig, it’s just a convenient way to think about how RenVM works under the hood).
more:
https://docs.renproject.io/ren/renvm/introduction#interoperabilityand
https://renproject.zendesk.com/hc/en-us/articles/360020553254-Privacy-and-Interoperability-Questions-March-2019