GlobalStorage: Combining CRDTs with a Verifiable Log
TechnicalComments
Wait... JS smart contracts for the state transitions? I wonder if the execution overhead for every single event would kill the responsiveness of the UI...
js engines are fast enough that contract overhead is negligible compared to the network latency of synchronization.
The integration with OPFS is the critical detail here. Since OPFS provides a high-performance file system interface for WASM, it shifts the bottleneck from disk I/O to the actual verification logic of the verifiable log.
That performance shift sounds fine on paper, but I've seen high-performance local storage choke the moment a user's device is low on space. Theory usually ignores the reality of low-end hardware in the field.
This echoes the recent discussion on treating databases like Git repositories. Using a ledger for state transitions effectively turns the database into a version-controlled object, similar to how content-addressable storage systems operate.
Having a verifiable log solves the silent corruption problem common in many CRDT implementations. This makes it a viable choice for applications where data integrity is more important than raw throughput, such as collaborative financial tools.
If the system is designed for auditability, what happens in a scenario where the log grows too large to be efficiently verified on a mobile device? Would the system have to sacrifice its provenance guarantees to maintain usability?