Conference:March 6-8, 2017
Workshops:March 9-10, 2017
Presentation: Big Ideas: Decentralised Storage
Location:
- Mountbatten, 6th flr.
Duration
Day of week:
- Wednesday
Level:
- Intermediate
Persona:
- Developer
Key Takeaways
- Learn about a decentralized cloud storage platform
- Gain knowledge about the security properties and trust dynamics of cloud storage
- Understand how smart contracting with blockchain and escrow allows untrusting parties to interact
Abstract
Will cover: the need for distributed / decentralised storage, real life use-cases for distributed storage systems, dealing with data loss in a distributed system, brief overview of IPFS and Sia, building on top of distributed storage systems
Interview
We’re building a decentralized cloud storage platform. It’s a marketplace where people with extra cloud storage can offer that to the market and sell their storage, and companies can rent that storage. There’s a global set of nodes that are competing. When you sell storage you set your own price and terms, people who want to rent look at all the nodes and select the ones best suited. We want to drive prices down and quality up.
Sellers don’t need to brand themselves, they need to have a node that’s performing up time checks and speed checks demonstrating its capabilities on an ongoing basis.
As people can be using any random node we have to make sure that we can do that safely and can throw data on these random machines and not lose it. One way we deal with this is by using redundancy. If a node increases its price, goes offline or does malicious things, you can just ignore them and treat them as having disappeared and you can use who remains to recover your data. Next you can go and find some new nodes and then restore your redundancy.
Second thing we do is that we encrypt everything and we are very careful about client site encryption by making sure that data is encrypted before ever hitting the network. The sites will know how much data you have but nothing specifically about it.
Third thing we do is smart contracting and this is where blockchain comes in. Nodes put money into escrow. When you rent storage and form a contract with a party you will put money in escrow and they will also put money in escrow. Escrow is completely arbitrated by blockchain, there’s no humans involved or legal framework; it’s completely mechanical. The host does not get paid for their service until they have demonstrated that they have held on to the data for the amount of time.
I will dive into how the smart contracts work using blockchain and talk about specific decisions that we made for that. I will also talk about scalability, showing how block chains are limited in the sense of what you can do but unlimited in how many you can have. I will also show different use cases for decentralized cloud storage like backup and CDN.
I’m targeting this talk towards architects and also to developers who are interested in the overall picture.
Between intermediate and advanced, mainly for the blockchain parts.
I hope to inspire people around the security properties of the network and the trust dynamics. I will also dive into the history of bitcoin mining and show how focusing this technology on storage can lead to optimized solutions.
In the next ten years bitcoin or some derivation from bitcoin is going to become super important to everything because it allows untrusting parties to interact. You can do very tiny payments and do ten million of them. The ability to work together in a way that doesn’t require trust will allow a lot more powerful applications than we currently do.
Similar Talks






Tracks
-
Architecting for Failure
Building fault tolerate systems that are truly resilient
-
Architectures You've Always Wondered about
QCon classic track. You know the names. Hear their lessons and challenges.
-
Modern Distributed Architectures
Migrating, deploying, and realizing modern cloud architecture.
-
Fast & Furious: Ad Serving, Finance, & Performance
Learn some of the tips and technicals of high speed, low latency systems in Ad Serving and Finance
-
Java - Performance, Patterns and Predictions
Skills embracing the evolution of Java (multi-core, cloud, modularity) and reenforcing core platform fundamentals (performance, concurrency, ubiquity).
-
Performance Mythbusting
Performance myths that need busting and the tools & techniques to get there
-
Dark Code: The Legacy/Tech Debt Dilemma
How do you evolve your code and modernize your architecture when you're stuck with part legacy code and technical debt? Lessons from the trenches.
-
Modern Learning Systems
Real world use of the latest machine learning technologies in production environments
-
Practical Cryptography & Blockchains: Beyond the Hype
Looking past the hype of blockchain technologies, alternate title: Weaselfree Cryptography & Blockchain
-
Applied JavaScript - Atomic Applications and APIs
Angular, React, Electron, Node: The hottest trends and techniques in the JavaScript space
-
Containers - State Of The Art
What is the state of the art, what's next, & other interesting questions on containers.
-
Observability Done Right: Automating Insight & Software Telemetry
Tools, practices, and methods to know what your system is doing
-
Data Engineering : Where the Rubber meets the Road in Data Science
Science does not imply engineering. Engineering tools and techniques for Data Scientists
-
Modern CS in the Real World
Applied, practical, & real-world dive into industry adoption of modern CS ideas
-
Workhorse Languages, Not Called Java
Workhorse languages not called Java.
-
Security: Lessons Learned From Being Pwned
How Attackers Think. Penetration testing techniques, exploits, toolsets, and skills of software hackers
-
Engineering Culture @{{cool_company}}
Culture, Organization Structure, Modern Agile War Stories
-
Softskills: Essential Skills for Developers
Skills for the developer in the workplace