SlideShare a Scribd company logo
Simple Decentralized Storage
Speaker: William
1
Content
• 1. Introduction
• 2. General structure
• 3. Transactions
• Inputs and Outputs
• File Contracts
• Proof of Storage
• Arbitrary Transaction Data
• 4. Protection mechanism
• 5. Host selection solutions.
• 6. Siafund.
• 7. Pros & Cons of Sia.
2
1. Introduction
• Sia is a decentralized cloud storage platform develop by Nebulous.
• Peers on Sia rent storage from each other. Sia itself stores only the
storage contracts formed between parties
• Sia recommend storing data redundantly across multiple hosts
• By forming a contract, a storage provider(also known as a host)
agrees to store a client’s data, and to periodically submit proof of
their continued storage until the contract expires.
3
2. General structure
• Sia is an altcoin which is resemble Bitcoin structure.
• Sia opts instead to use an M–of–N multi-signature scheme for all
transactions
• Sia also extends transactions to enable the creation and enforcement
of storage contracts, and the extension is:
• Contracts
• Proofs
• Contract updates
• Contracts declare the intention of a host to store a file with a certain
size and hash.(They define the regularity with which a host must
submit storage proofs.)
4
Multi-Signature Transaction Scheme
Contract, proof
contract-update
5
3. Transactions
• Format of Transaction:
6
3.1 Inputs and Outputs
• Every input must come from a prior output, so an input is simply an
output ID.
• Inputs contain spend conditions .
• Outputs contain merkle root hash .
7
Spend Conditions
• Spend conditions include a time lock and a set of public keys, and the
number of signatures required.
• An output cannot be spent until the time lock has expired and enough of
the specified keys have added their signature.
• The spend conditions are hashed into a merkle tree, using below as leaves
• time lock
• number of signatures required
• public keys
• In order to spend the coins, the spend conditions corresponding to the
address hash must be provided.
8
Time
lock
# of Sig
requirement
Public
key
Public
key
Root
Hash
Public
Key
As an address where the money are sent.
.....
9
3.2 File Contracts
• A file contract is an agreement(like SLA) between a storage provider
and their client. Contain:
• Allowance: a pre-paid amount of Siacoin meant to pay storage and
bandwidth costs
• Core of the file contract is “files merkle root”
• The file is split into segments of constant size and hashed into a merkle tree.
• The root hash, along with the total size of the file, can be used to verify
storage proofs.
• File contracts are also created with a list of “edit conditions,”
analogous to the spend conditions of a transaction.
10
File contracts also specify :
• Duration (by default 13 weeks)
• Challenge frequency
• specifies how often a storage proof must be submitted.
• creates discrete challenge windows during which a host must submit storage
proofs .
• submitting “valid proof” triggers an automatic payment to the “valid proof” .
• Payout parameters
• reward for a valid proof .
• reward for an invalid or missing proof .
• maximum number of proofs that can be missed .
11
3.3 Proof of Storage
• During the contract, the hosts must submit Proofs of Storage to the
blockchain to demonstrate:
• They are online.
• They still preserve the client’s files.
• Storage proof transactions are periodically submitted to fulfill file
contracts.
• Each storage proof targets a specific file contract.
• Storage proof only contain
• contract ID
• the proof data.
12
Algorithm
• Hosts prove their storage by providing a segment of the original file and a
list of hashes from the file’s Merkle tree.
• Each storage proof uses a randomly selected segment. The random seed
for challenge window Wi is given by:
• If the host is consistently able to demonstrate possession of a random
segment, then they are very likely storing the whole file.
• 會產生隨機檔案中部分為64kb的file作為proof,
• 若他沒有持有完整的檔案,只有持有一半,那他會有50%的機率可以作弊猜中,但他得冒猜錯的
風險,不僅損失他從客戶收到的錢,而且也得損失他擔保的金錢(proof of burn)
13
14
File
Segment
Root
Hash
As an address where the money are sent.
.....
File
Segment
File
Segment
File
Segment
Randomly ask provider to
Provide a file segment and its
relative hash as proof to
“file contract”.
Attack of Proof of Storage
• Block Withholding Attacks
• Attacker withholds blocks until they find one that will produce a favorable
random number.
• Clients can specify a high challenge frequency and large penalties for missing
proofs.
• Closed Window Attacks
• Miners could maliciously exclude storage proofs from blocks, depriving
themselves of transaction fees but forcing a penalty on hosts.
• Miners could extort hosts by requiring large fees to include storage proofs
• Use a large window size. Hosts can reasonably assume that some percentage
of miners will include their proofs in return for a transaction fee.
15
3.4 Arbitrary Transaction Data
• Each transaction has an arbitrary data field which can be used for any
type of information.
• Nodes will be required to store the arbitrary data if it is signed by any
signature in the transaction.
• Nodes will initially accept up to 64 KB of arbitrary data per block.
• This arbitrary data provides hosts and clients with a decentralized way
to organize themselves.
• Arbitrary data could also be used to implement other types of soft
forks.
16
File Repair
• In versions earlier than 1.3.0 Capricorn, files had to be stored locally
in order to restore the redundancy.
• Now they are automatically downloaded from the available hosts and
uploaded to new ones.
17
4. Protection mechanism
18
Host Protections Client Protections
• A contract requires consent from
both the storage provider and
their client.
• They can setting price on
contract to show how reliable
their services is.
• Host should protect themselves
from such Dos attacks .
(or they will receive penalties).
• Use erasure codes (Reed-Solomon
erasure coding),to safeguard against
hosts going offline.
• Downloads can be run in parallel
to maximize available bandwidth.
5. Host selection solutions.
• Renter tracks hosts uptime and pick frequently chanllenge hosts to do
off-chain storage proof. (via micropayment channel).
• Proof of Burn: To combat Sybil attack, clients can require that hosts
that announce themselves in the arbitrary data section also include a
large volume of time locked coins.
• If 10 coins are time locked 14 days into the future, then the host can be said to have created
a lock valued at 140 coin-days. By favoring hosts that have created high-value locks
• Large coin-days means high quality guarantees.
19
6. Siafunds
• By imposing a fee on all contracts to get revenue.
• When a contract is created ,3.9% of the contract fund(A 3.9% of the
renter’s allowance and a 3.9% of the host’s) is removed and
distributed to the holders of siafunds.
• By using Siafunds instead of premining.
20
7.Pros and cons of Sia
Pros Cons
• Storage market place.
• Fully decentralized.
• Require collateral for hosting
• Only accepting siacoin as payment.
• Require entirely blockchain download.
• Currently not support streaming files.
21
Roadmap
22
Release
Feature
• Ability to repair files without having locally.
• Initial block sync time reduced.
• Simple File sharing.
• Ability to recover files using only wallet seed.
• Form file contract within 5 min instead of 60 min.
Short term
(Q1 2018)
• Video streaming support.
• Proper support tiny files. (from 40MB to ~ 100kbs).
• Automatic host pricing.
Medium term
Reference:
• Sia - Decentralized Cloud Storage - Presented by David Vorick at Mit
Bitcoin Expo 2016
https://www.youtube.com/watch?v=cR8YL05nq4A&t=14s
• Siacoin vs Storj https://www.youtube.com/watch?v=Kyy-mWn9Kv0
• Sia Roadmap https://trello.com/b/Io1dDyuI/sia-public-roadmap
23
Q&A
• Proof of storage由誰保存
• 為了避免storage provider丟棄本體,只保存(file + random) = hash
值 , 下一次proof 就直接提繳 hash值。
• 只記root hash 不過會有上面的狀況。
• 契約終止的條件。
• 確保用戶 提供者 價格保障
• 切片過程加密 是否會影響 上傳下載下率??
24

More Related Content

What's hot

Information security in private blockchains
Information security in private blockchainsInformation security in private blockchains
Information security in private blockchains
Coin Sciences Ltd
 
Container Security via Monitoring and Orchestration - Container Security Summit
Container Security via Monitoring and Orchestration - Container Security SummitContainer Security via Monitoring and Orchestration - Container Security Summit
Container Security via Monitoring and Orchestration - Container Security Summit
David Timothy Strauss
 
Ethereum - MetaMask&Remix&Smartcontract
Ethereum - MetaMask&Remix&SmartcontractEthereum - MetaMask&Remix&Smartcontract
Ethereum - MetaMask&Remix&Smartcontract
Hu Kenneth
 
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong SingaporeLi Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong
 
UVic Startup Slam September 2014 (Kiind)
UVic Startup Slam September 2014 (Kiind)UVic Startup Slam September 2014 (Kiind)
UVic Startup Slam September 2014 (Kiind)
sendwithus
 
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
SecuRing
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
Nur Aini Rakhmawati Gunawan
 
20180711 Metamask
20180711 Metamask 20180711 Metamask
20180711 Metamask
Hu Kenneth
 
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Digipolis Antwerpen
 

What's hot (9)

Information security in private blockchains
Information security in private blockchainsInformation security in private blockchains
Information security in private blockchains
 
Container Security via Monitoring and Orchestration - Container Security Summit
Container Security via Monitoring and Orchestration - Container Security SummitContainer Security via Monitoring and Orchestration - Container Security Summit
Container Security via Monitoring and Orchestration - Container Security Summit
 
Ethereum - MetaMask&Remix&Smartcontract
Ethereum - MetaMask&Remix&SmartcontractEthereum - MetaMask&Remix&Smartcontract
Ethereum - MetaMask&Remix&Smartcontract
 
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong SingaporeLi Haidong, Bounty Resources Armenia, Li Haidong Singapore
Li Haidong, Bounty Resources Armenia, Li Haidong Singapore
 
UVic Startup Slam September 2014 (Kiind)
UVic Startup Slam September 2014 (Kiind)UVic Startup Slam September 2014 (Kiind)
UVic Startup Slam September 2014 (Kiind)
 
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
Outsmarting Smart Contracts - an essential walkthrough a blockchain security ...
 
Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
 
20180711 Metamask
20180711 Metamask 20180711 Metamask
20180711 Metamask
 
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
Meetup 19/12/2016 - Blockchain-as-a-service voor Antwerpen?
 

Similar to Sia report

An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ru
LennartF
 
blockchain class 3.pdf
blockchain class 3.pdfblockchain class 3.pdf
blockchain class 3.pdf
GopalSB
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
Gabriella Davis
 
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwkchapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
NiveditaSingh839848
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
LennartF
 
Blockchain target-share
Blockchain target-shareBlockchain target-share
Blockchain target-share
joelcrabb
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
BiswaranjanSwain19
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
Ingo Weber
 
CNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesCNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise Services
Sam Bowne
 
0045cbf22d80b68f
0045cbf22d80b68f0045cbf22d80b68f
0045cbf22d80b68f
sujit Biswas
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise Services
Sam Bowne
 
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruptionCNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
Sam Bowne
 
What is bitcoin?
What is bitcoin?What is bitcoin?
What is bitcoin?
Suraj Bora
 
BitCoin explained
BitCoin explainedBitCoin explained
BitCoin explained
Harelc
 
Advanced Blockchain Technologies on Privacy and Scalability
Advanced Blockchain Technologies on Privacy and ScalabilityAdvanced Blockchain Technologies on Privacy and Scalability
Advanced Blockchain Technologies on Privacy and Scalability
All Things Open
 
Vilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensusVilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensus
Audrius Ramoska
 
Open Infrastructure for Edge: A Distributed Ledger Outlook
Open Infrastructure for Edge: A Distributed Ledger OutlookOpen Infrastructure for Edge: A Distributed Ledger Outlook
Open Infrastructure for Edge: A Distributed Ledger Outlook
Nitinder Mohan
 
Resource slides for blockchain related question
Resource slides for blockchain related questionResource slides for blockchain related question
Resource slides for blockchain related question
Lin Lin (Wendy)
 
Cees van Wijk - How to preserve privacy on a blockchain?
Cees van Wijk - How to preserve privacy on a blockchain?Cees van Wijk - How to preserve privacy on a blockchain?
Cees van Wijk - How to preserve privacy on a blockchain?
Vincent Everts
 
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruptionCNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
Sam Bowne
 

Similar to Sia report (20)

An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ru
 
blockchain class 3.pdf
blockchain class 3.pdfblockchain class 3.pdf
blockchain class 3.pdf
 
HTTP - The Other Face Of Domino
HTTP - The Other Face Of DominoHTTP - The Other Face Of Domino
HTTP - The Other Face Of Domino
 
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwkchapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Blockchain target-share
Blockchain target-shareBlockchain target-share
Blockchain target-share
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
CNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesCNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise Services
 
0045cbf22d80b68f
0045cbf22d80b68f0045cbf22d80b68f
0045cbf22d80b68f
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise Services
 
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruptionCNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
 
What is bitcoin?
What is bitcoin?What is bitcoin?
What is bitcoin?
 
BitCoin explained
BitCoin explainedBitCoin explained
BitCoin explained
 
Advanced Blockchain Technologies on Privacy and Scalability
Advanced Blockchain Technologies on Privacy and ScalabilityAdvanced Blockchain Technologies on Privacy and Scalability
Advanced Blockchain Technologies on Privacy and Scalability
 
Vilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensusVilnius blockchain club 20170413 consensus
Vilnius blockchain club 20170413 consensus
 
Open Infrastructure for Edge: A Distributed Ledger Outlook
Open Infrastructure for Edge: A Distributed Ledger OutlookOpen Infrastructure for Edge: A Distributed Ledger Outlook
Open Infrastructure for Edge: A Distributed Ledger Outlook
 
Resource slides for blockchain related question
Resource slides for blockchain related questionResource slides for blockchain related question
Resource slides for blockchain related question
 
Cees van Wijk - How to preserve privacy on a blockchain?
Cees van Wijk - How to preserve privacy on a blockchain?Cees van Wijk - How to preserve privacy on a blockchain?
Cees van Wijk - How to preserve privacy on a blockchain?
 
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruptionCNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
CNIT 40: 5: Prevention, protection, and mitigation of DNS service disruption
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 

Sia report

  • 2. Content • 1. Introduction • 2. General structure • 3. Transactions • Inputs and Outputs • File Contracts • Proof of Storage • Arbitrary Transaction Data • 4. Protection mechanism • 5. Host selection solutions. • 6. Siafund. • 7. Pros & Cons of Sia. 2
  • 3. 1. Introduction • Sia is a decentralized cloud storage platform develop by Nebulous. • Peers on Sia rent storage from each other. Sia itself stores only the storage contracts formed between parties • Sia recommend storing data redundantly across multiple hosts • By forming a contract, a storage provider(also known as a host) agrees to store a client’s data, and to periodically submit proof of their continued storage until the contract expires. 3
  • 4. 2. General structure • Sia is an altcoin which is resemble Bitcoin structure. • Sia opts instead to use an M–of–N multi-signature scheme for all transactions • Sia also extends transactions to enable the creation and enforcement of storage contracts, and the extension is: • Contracts • Proofs • Contract updates • Contracts declare the intention of a host to store a file with a certain size and hash.(They define the regularity with which a host must submit storage proofs.) 4
  • 6. 3. Transactions • Format of Transaction: 6
  • 7. 3.1 Inputs and Outputs • Every input must come from a prior output, so an input is simply an output ID. • Inputs contain spend conditions . • Outputs contain merkle root hash . 7
  • 8. Spend Conditions • Spend conditions include a time lock and a set of public keys, and the number of signatures required. • An output cannot be spent until the time lock has expired and enough of the specified keys have added their signature. • The spend conditions are hashed into a merkle tree, using below as leaves • time lock • number of signatures required • public keys • In order to spend the coins, the spend conditions corresponding to the address hash must be provided. 8
  • 10. 3.2 File Contracts • A file contract is an agreement(like SLA) between a storage provider and their client. Contain: • Allowance: a pre-paid amount of Siacoin meant to pay storage and bandwidth costs • Core of the file contract is “files merkle root” • The file is split into segments of constant size and hashed into a merkle tree. • The root hash, along with the total size of the file, can be used to verify storage proofs. • File contracts are also created with a list of “edit conditions,” analogous to the spend conditions of a transaction. 10
  • 11. File contracts also specify : • Duration (by default 13 weeks) • Challenge frequency • specifies how often a storage proof must be submitted. • creates discrete challenge windows during which a host must submit storage proofs . • submitting “valid proof” triggers an automatic payment to the “valid proof” . • Payout parameters • reward for a valid proof . • reward for an invalid or missing proof . • maximum number of proofs that can be missed . 11
  • 12. 3.3 Proof of Storage • During the contract, the hosts must submit Proofs of Storage to the blockchain to demonstrate: • They are online. • They still preserve the client’s files. • Storage proof transactions are periodically submitted to fulfill file contracts. • Each storage proof targets a specific file contract. • Storage proof only contain • contract ID • the proof data. 12
  • 13. Algorithm • Hosts prove their storage by providing a segment of the original file and a list of hashes from the file’s Merkle tree. • Each storage proof uses a randomly selected segment. The random seed for challenge window Wi is given by: • If the host is consistently able to demonstrate possession of a random segment, then they are very likely storing the whole file. • 會產生隨機檔案中部分為64kb的file作為proof, • 若他沒有持有完整的檔案,只有持有一半,那他會有50%的機率可以作弊猜中,但他得冒猜錯的 風險,不僅損失他從客戶收到的錢,而且也得損失他擔保的金錢(proof of burn) 13
  • 14. 14 File Segment Root Hash As an address where the money are sent. ..... File Segment File Segment File Segment Randomly ask provider to Provide a file segment and its relative hash as proof to “file contract”.
  • 15. Attack of Proof of Storage • Block Withholding Attacks • Attacker withholds blocks until they find one that will produce a favorable random number. • Clients can specify a high challenge frequency and large penalties for missing proofs. • Closed Window Attacks • Miners could maliciously exclude storage proofs from blocks, depriving themselves of transaction fees but forcing a penalty on hosts. • Miners could extort hosts by requiring large fees to include storage proofs • Use a large window size. Hosts can reasonably assume that some percentage of miners will include their proofs in return for a transaction fee. 15
  • 16. 3.4 Arbitrary Transaction Data • Each transaction has an arbitrary data field which can be used for any type of information. • Nodes will be required to store the arbitrary data if it is signed by any signature in the transaction. • Nodes will initially accept up to 64 KB of arbitrary data per block. • This arbitrary data provides hosts and clients with a decentralized way to organize themselves. • Arbitrary data could also be used to implement other types of soft forks. 16
  • 17. File Repair • In versions earlier than 1.3.0 Capricorn, files had to be stored locally in order to restore the redundancy. • Now they are automatically downloaded from the available hosts and uploaded to new ones. 17
  • 18. 4. Protection mechanism 18 Host Protections Client Protections • A contract requires consent from both the storage provider and their client. • They can setting price on contract to show how reliable their services is. • Host should protect themselves from such Dos attacks . (or they will receive penalties). • Use erasure codes (Reed-Solomon erasure coding),to safeguard against hosts going offline. • Downloads can be run in parallel to maximize available bandwidth.
  • 19. 5. Host selection solutions. • Renter tracks hosts uptime and pick frequently chanllenge hosts to do off-chain storage proof. (via micropayment channel). • Proof of Burn: To combat Sybil attack, clients can require that hosts that announce themselves in the arbitrary data section also include a large volume of time locked coins. • If 10 coins are time locked 14 days into the future, then the host can be said to have created a lock valued at 140 coin-days. By favoring hosts that have created high-value locks • Large coin-days means high quality guarantees. 19
  • 20. 6. Siafunds • By imposing a fee on all contracts to get revenue. • When a contract is created ,3.9% of the contract fund(A 3.9% of the renter’s allowance and a 3.9% of the host’s) is removed and distributed to the holders of siafunds. • By using Siafunds instead of premining. 20
  • 21. 7.Pros and cons of Sia Pros Cons • Storage market place. • Fully decentralized. • Require collateral for hosting • Only accepting siacoin as payment. • Require entirely blockchain download. • Currently not support streaming files. 21
  • 22. Roadmap 22 Release Feature • Ability to repair files without having locally. • Initial block sync time reduced. • Simple File sharing. • Ability to recover files using only wallet seed. • Form file contract within 5 min instead of 60 min. Short term (Q1 2018) • Video streaming support. • Proper support tiny files. (from 40MB to ~ 100kbs). • Automatic host pricing. Medium term
  • 23. Reference: • Sia - Decentralized Cloud Storage - Presented by David Vorick at Mit Bitcoin Expo 2016 https://www.youtube.com/watch?v=cR8YL05nq4A&t=14s • Siacoin vs Storj https://www.youtube.com/watch?v=Kyy-mWn9Kv0 • Sia Roadmap https://trello.com/b/Io1dDyuI/sia-public-roadmap 23
  • 24. Q&A • Proof of storage由誰保存 • 為了避免storage provider丟棄本體,只保存(file + random) = hash 值 , 下一次proof 就直接提繳 hash值。 • 只記root hash 不過會有上面的狀況。 • 契約終止的條件。 • 確保用戶 提供者 價格保障 • 切片過程加密 是否會影響 上傳下載下率?? 24

Editor's Notes

  1. Hosts同時得為proof 作補償,若proof遺失host會受到懲罰 用戶不用去驗證,而是會有礦工來做驗證 在未來 會支援two-way peg for Bitcoin channel.
  2. Contract定義了Host該如何儲存檔案內容大小和hash值,並且要定期去提繳storage proof.欲更新Contract透過”contract updates” , eschewing(避免) the scripting system entirely. This reduces complexity and attack surface.
  3. 用戶得自行將檔案下載回來(只有他自己有私鑰能做signature),再透過regnerating algorithm 來回復檔案的備份 Different user may share the same providers’ storage
  4. 使用merkle tree可以讓party選擇要揭露部分資訊 只能使用Siacoin (或是將Bitcoin 轉換成siacoin)
  5. 必須要知道 黃色區域的值 才能建立出merkle tree root hash 使用該hash 包含的錢
  6. 用戶和host provider 制定好契約 將原始檔案切割並建立成 merkle root hash 可以用來驗證之後 host所提交的proofs. The client software of the renter picks up 50 optimal hosts according to their scoring.
  7. 如果在chanllenge window提繳proof 送獎勵到該proof 的address (若到chanllenge window最後若還沒有valid proof, 那送獎勵到missed proof address)
  8. (但attacker必須要花費成本來whithhold blocks) 礦工可以用假的proof 雖然沒手續費可領 不過可以讓host受到懲罰 礦工也可以收取龐大手續費 趕走host 也因此叫做關閉window攻擊 因為可以手動關 擴大window size可以解決該問題,避免少數window被少數惡意礦工佔據
  9. 用戶可以在Sia的blockchain上找到有提供database的hosts,並與信任的hosts建立起contract. These codes typically operate by splitting a file into n pieces, such that the file can be recovered from any subset of m unique pieces. if only 10 out of 100 pieces are needed to recover the file, then the client is actually relying on the 10 most reliable hosts 如果只需要100個鐘的10個 就可以進行恢復,那用戶只要挑選10個最為穩定的hosts 來作為他儲存的對象 (那系統是否要幫用戶挑選最為適合的?) 用戶可以使用再產生檔案的code來復原他們的檔案,因為檔案會被切割成好幾等分,會分散並加密儲存在各個 Hosts中,即使平均上網絡穩定不高,但至少可以保有用戶對他檔案存取的最高穩定度 減少lantency 從最近的10個 減少download speed 從最快的10個hosts。 都可以平行去運作 以提昇總體傳輸效率