Hacker News new | past | comments | ask | show | jobs | submit login

A lot of these projects seem to utilize append-only data structures. It looks like this one doesn't?

For example let's say I set of a chat room, and someone spams multiple GBs of data into a channel, can my moderators (in principle) remove those messages without essentially just publishing a new message saying "please ignore all this spam"?

How do you deal with "network splits", that is a smart contract that could have two equally valid states?

You say you use contracts as the key in a key-value store, can you have the same contract with two different data sets? Like two different chat rooms that work the same way but which have different moderators and different message histories?




> A lot of these projects seem to utilize append-only data structures. It looks like this one doesn't?

Correct, in Locutus contract state is mutable, with the contract determining whether changes are permitted and how they are applied to the state.

> For example let's say I set of a chat room, and someone spams multiple GBs of data into a channel, can my moderators (in principle) remove those messages without essentially just publishing a new message saying "please ignore all this spam"?

Yes (although such spamming shouldn't be possible in the first place thanks to the reputation system).

> How do you deal with "network splits", that is a smart contract that could have two equally valid states?

It should be very rare, but contract states that get out of sync can always be "merged" to produce a new state, peers will do this automatically as soon as they figure out the mismatch. The small world protocol that determines network topology should make network splits very unlikely.

> You say you use contracts as the key in a key-value store, can you have the same contract with two different data sets? Like two different chat rooms that work the same way but which have different moderators and different message histories?

Yes, a contract consists of web assembly code to specify the contract functionality, and also "parameters" which are arbitrary data that "configures" the contract (chat room name, owner, etc).


I've got to say, this looks like a solid approach. If you can handle content-addressed data storage well I can really see this taking off in a way others have not. I've seen a lot of thing similar to this, but this is the first one that has the right set of features that I think it's actually useful.

I'll be keeping a close eye on it!


Thank you! :)


> Yes (although such spamming shouldn't be possible in the first place thanks to the reputation system).

Not possible, or just disincentivized?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: