lightninglabs / lightninglabs/taproot-assets
VM: introduce genesis scripts to bind assets to a particular context?
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 525
- Forks
- 150
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
We've so far implemented a way to assets to define extra witnesses that need to be included in order to allow for more expressibility for unlocking. Given that if a user doesn't follow the witness, their asset gets burnt, care needs to be taken w.r.t designing protocols that use this feature.
However what if we introduced a script that's to be run at issuance time? Such a script could be implemented as a new covenant, which would take the Bitcoin transaction into its environment, along with the script tree.
We could then express things like:
Issuing N units of this assets can only be done if 1.5*N units of BTC are present in the nth output of the minting transaction. In addition, the output created must commit to a NUMs point for the internal key, meaning that only a script path is possible. The script paths must be revealed, with the only acceptable unlocking leaf being a time lock of 9 months".
I left some option questions on this ML post: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-April/020223.html
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the issue proposal and the linked Bitcoin-dev mailing-list post, including its outstanding option questions. The work needs an agreed design for issuance-time genesis scripts, their covenant environment, and asset-binding rules before implementation can begin; done would be a settled specification and corresponding implementation plan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100