Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RGB Stock CRDTs #268

Open
theacdutra opened this issue Jul 13, 2023 · 2 comments
Open

RGB Stock CRDTs #268

theacdutra opened this issue Jul 13, 2023 · 2 comments

Comments

@theacdutra
Copy link
Member

theacdutra commented Jul 13, 2023

Today the RGB module works based in unit of work concept, or that, each operation can be valid only when everything works, like transaction in database (commit and rollback operations). This approach is a way to prevent inconsistencies in stash.

However, This is not prevent stash inconsistencies in scenarios of the concurrent and/or parallel operations.

For example, Suppose we have a contract with intensive usage and by UX decisions, we allow the users to send and accept transactions Concurrently. One of both operations can be overring the state of the other, causing an inconsistent stash.

We could use a queue to prevent that, but this turns our infrastructure more centralized and also represents a single point of failure.

We can explore a way to turn Stash compatible with the CFDT approach (@cryptoquick's suggestion).

@theacdutra theacdutra added enhancement New feature or request help wanted Extra attention is needed rgb carbonado labels Jul 13, 2023
@theacdutra theacdutra added this to the 0.8.0 milestone Jul 13, 2023
@theacdutra theacdutra self-assigned this Jul 13, 2023
@cryptoquick
Copy link
Member

I think CRDTs are the way. It would be great to use something like automerge.

@cryptoquick
Copy link
Member

A CRDT solution based on automerge supersedes the solution in #258.

@cryptoquick cryptoquick changed the title RGB Stock Resilience RGB Stock CRDTs Jul 19, 2023
@cryptoquick cryptoquick modified the milestones: 0.8.0, 0.7.0 Jul 25, 2023
@cryptoquick cryptoquick removed enhancement New feature or request help wanted Extra attention is needed labels Jul 25, 2023
@cryptoquick cryptoquick modified the milestones: 0.7.0, 0.7.1 Oct 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants