RGB-WG / rgb-core

RGB Core Library: consensus validation for private & scalable client-validated smart contracts on Bitcoin & Lightning
https://spec.rgb.tech
Apache License 2.0
207 stars 52 forks source link

Move Simplicity to RGBv2, use WASM for RGBv1 #133

Closed dr-orlovsky closed 1 year ago

dr-orlovsky commented 1 year ago

This issue was created as a discussion in LNP/BP association on 31 Mar 2021 https://github.com/LNP-BP/LNPBPs/discussions/95. Since it was an improper place for it I move it here and delete it there. Here is a copy of the text:

Today RGB performs validation in three steps:

The number of this "embedded procedures" is very limited; they are implemented like a part of overall rust validation logic alonside the schema (but as a separate "virtual machine" module): https://github.com/rgb-org/rgb-core/blob/master/src/vm/embedded.rs

This was a temporary solution before completion of Simplicity, expected Q4 2020. However, Simplicity takes longer than expected and still is not a part of Liquid, meaning that it's actual use in RGB may start not earlier than Q4 2021. At the same time, limitations of the embedded procedures makes very complex implementation of new RGB schema aside of the number of procedures which will be provided at the moment of RGBv1 mainnet release, planned on 20201 H2, leaving RGB poorly extensible until RGBv2 with Simplicity will arrive in 2023, or even later.

Thus my proposal is:

dr-orlovsky commented 1 year ago

This was resolved via creation of a new virtual machine for RGB named AluVM.