Optimistic Update +
Local first Development Sync Tools
Local first Development CRDT
To synchronize without an asymmetric server, the server needs to merge changes without knowing the content. For this, homomorphic encryption is proposed instead of traditional encryption.
- Using the TFHE library, the server performs encrypted numerical operations (addition/multiplication) with a server key generated by the client, and the client decrypts the results to obtain correct sum and multiplication results.
- To apply homomorphic encryption to LWW (Last-Write-Wins) Register CRDT, all branches and iterations must be performed a fixed number of times, and use the
select
operation with encrypted boolean values for conditional replacement to prevent leaks.
While homomorphic encryption CRDT is theoretically possible, it has fundamental limitations in terms of keys, performance, and space, making it difficult to immediately apply to real local-first apps.
so fast