I have been thinking some more about DashDrive.
As I have explained before, implementing a sharded consistent storage on top of trustless (master)nodes is hard. But we already have a well-known technology for this: The blockchain! Therefore, I think each masternode shard should have its own blockchain with transactions storing the contents of that shard of the DashDrive. This makes sure that writes to DashDrive are consistent, persistent and durable. Whenever a masternode is chosen to collect the masternode fee of the main chain, it broadcasts a transaction that roots the head of the blockchain of its shard into the main chain. This is a requirement to collect the masternode fee.
The masternodes need a incentive to actually add transactions to the side chain. Therefore, as on the main chain, storing data (transaction) in the DashDrive blockchain requires a fee. Mining on the sharded blockchains is done in pure PoS using the masternode's stake. The only block reward on the side chains are the storage fees which get transferred to main chain with the rooting transaction. A unfortunate side effect of this is that main chain miners will have to verify the side-chain transactions to make sure they are valid (or some selected masternode quorum could do that).
There is still the problem that someone could take over a majority of masternodes in a shard. But because the side chains are auditable and rooted in the main chain this is note so much of a problem:
- Even if a majority of the masternodes denies service, the other masternodes in the shard will still keep serving the shard's content and root new transactions. Also non-masternodes can keep track of side chains increasing the storage redundancy.
- Because side chains are rooted in the main chain it is not possible to alter the history of the side chain beyond the last rooted block even when owning a majority of the side chain masternodes.
So, the worst thing that could happen is that someone owning all masternodes of a side chain could refuse to accept new transactions. This per se does not have any benefit to the attacker unless he manages to force higher storage fees for this shard. This can be counteracted by making it easy to move one's data from one shard to another.
WDYT?