CKB Open Transaction General Discussions #3607
doitian
started this conversation in
RFC Discussions
Replies: 1 comment
-
Reserved for future use. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What is CKB Open Transaction
A CKB Open Transaction is a format to describe a partial CKB transaction and the allowed modifications.
Open transaction helps multiple parties to construct a transaction at different times via incremental build or aggregation.
In incremental build, participants create new open transactions or change the existing ones, then they relay the transactions to the next participant or submit the transaction to the chain.
Aggregation means combining matched open transactions into one CKB transaction. Third party service can run the aggregation service for users to improve the experience.
Why We Need CKB Open Transaction
When many parties collaborate on constructing a CKB transaction, they have to exchange the partial transaction information. Open Transaction will act as the bridges between these parties that they can communicate with each other. Several participants have numerous combinations via composition, and the number rises extremely fast as the network grows.
There are two scenarios that CKB Open Transaction will play an important role.
The first is incremental transaction construction. One party works on an open transaction, changes it, and hands to the next participant. For example, the indexer collects input cells for a user; the dApp creates the unsigned transaction based on the inputs; and the hardware wallet finally signs the transaction. With Open Transaction, users can choose any service in each step.
The second is transaction aggregation, which combines many matched open transactions into one CKB transaction. For example, if users want to exchange assets, they can publish the proposal as open transactions, and the third party can combine matched proposals to clear the transaction.
Open Transaction also helps to work around the hot cell problem that multiple transactions want to use the cell as the input and only one will succeed. Without Open Transaction, users have to create and sign the transaction again and again on failures. Open Transaction will provide a feature that anyone can re-create the transaction by replacing the input cell without re-signing, so third parties can run services without user interactions.
How We Develop CKB Open Transaction
All the project information will be available in GitHub, mainly in the nervosnetwork/ckb repository. The GitHub issue Open Transaction: An Extensible Transaction Format is the entry point of the project. It will have an index of all the project resources in the issue body, and project activities as comments. If you want to help, please watch the issue to get the latest updates and take part of the discussions in GitHub.
The project is still in the early stage. I am leading the requirements analysis now. The next aim is the first PoC. Keep tuned. If you have questions, please post them in CKB Open Transaction General Discussion.
Prior Work
A Partially Signed Bitcoin Transaction (PSBT) is a Bitcoin standard which allows multiple parties to sign the same transaction easily.1
Footnotes
Kohler, C. (2022, April 28). What Is A Partially Signed Bitcoin Transaction (PSBT)? The Bitcoin Manual. https://thebitcoinmanual.com/articles/what-is-psbt/ ↩
Beta Was this translation helpful? Give feedback.
All reactions