Decentralizing the Cloud
Who Am I?
+ David Vorick
+ Bitcoin Enthusiast since 2011
+ Bitcoin Researcher since 2013
+ Part of the Sia team since 2014
What is Sia?
+ Decentralized Data Store
+ Low latency, high throughput uploads and downloads
+ Functioning Prototype Since June 2015
+ 3 full time devs, active community
Modern Cloud Storage
+ Data owned by 1 company
+ Often unencrypted, unauthenticated
+ Often in 1 legal jurisdiction
+ Profit motives may not align with the consumer
+ Gated ecosystems can inflate prices
Goals of Decentralization
+ Give control to the owner - the owner of a Bitcoin controls it's destiny.
+ Eliminate trust - except for 51% attacks, nobody can spend a Bitcoin but the owner, period. Fixed inflation schedule, etc.
+ Spread out power within the ecosystem - no party has control without consent from everyone else
Limitations of the Cloud
+ Cloud storage means someone else controls the data, by definition
+ The Host can unplug or delete data
+ Host can share data without permission
+ No way to guarantee data safety.
Decentralization with Sia
+ Data given to many hosts
+ Encrypted and authenticated
+ Many simultaneous legal jurisdictions
+ Incentives align with the consumer
+ Open marketplace drives prices down, encourages innovation
File Contracts
+ Renter and host both put money into a file contract
+ File contract contains a Merkle root of the file, along with the size of the file
+ File contract contains a duration. At the end of the duration, the host must provide a proof-of-storage to the blockchain to get the money in the contract
The Storage Proof
+ A random 64 byte segment is chosen
+ Host must upload segment to the blockchain, along with a Merkle tree proof.
+ Random number seeded by a block ID after the contract duration ends (block IDs are expensive/difficult to manipulate)
Storage Proof 2
+ Host has proven storage for 1 random segment
+ No way to predict which segment
+ Cheating has negative expected value due to the host and renter both adding money to the file contract
Uploading Strategy
+ Reed Solomon Codes - M of N
+ Assuming 95% reliable hosts, '7 of 21' provides 99.999999999% reliability, 3x overhead
+ Redundancy also provides protection against withholding/hostage attacks - if some hosts are holding data hostage, use the ones that aren't.
Host Selection Problem
+ A malicious actor could perform a Sybil attack, imitating millions of hosts
+ Attacker could provide very low prices, but only for a selected target (increasing chance of selection)
+ Other selection manipulations possible
Host Selection Solutions
+ Renter tracks host uptime, frequently challenges host to do off-chain storage proofs.
+ Proof-of-Burn is used to combat Sybil attacks - hosts burn % of revenue to demonstrate legitimacy
+ Weakest part of Sia protocol.
Optional Centralization
+ Third party agencies can monitor and certify hosts.
+ Renters can choose to trust agencies when trying to pick hosts
+ If there are a large number of agencies, bad agencies can be easily ignored
Scalability
+ Use of File Contract Revisions (payment channels for files)
+ Despite revision channels, scale limited to 50 million file contracts per year.
+ Unlimited amount of data per file contract.
Scalability 2
+ Most users will need between 20 and 200 file contracts per year.
+ Scale is therefore between 250,000 and 2.5 million users.
+ Potential improvements on horizon promise 5x - 100x improvements
+ Still not great.
Ecosystem
+ Decentralized ecosystem encourages collaborative app development
+ Open market encourages aggressive competition - similar to Bitcoin mining
+ Cheap, secure data has utility even if you don't care about decentralization
Conclusion
Despite imperfections, we can do substantially better than centralized cloud storage, in a way that has moderate scalability, especially at the enterprise level.
Thanks
Q & A
Deck is safe for reuse - best effort has been made to include only images that are 'labed for reuse'
Decentralizing the Cloud
By David Vorick
Decentralizing the Cloud
- 1,099