Applicability of Cryptographic Protocols to Support Service Level … · 2015. 2. 20. ·...
Transcript of Applicability of Cryptographic Protocols to Support Service Level … · 2015. 2. 20. ·...
Applicability of Cryptographic Protocols to Support Service Level
AgreementsInternet Economics Talk 4
Alexander Mülli, Mohit Narang
Agenda
● SLAs● Blockchain● SLA Compensations with Bitcoin● Enforcement of SLAs with Ethereum ● Possible Solutions for Distributed
SLA Monitoring
Service Level Agreements
Service Provider Customer
Service Level AgreementsAmazon EC2 Service Level Agreement
Monthly Uptime Percentage Service Credit Percentage
Less than 99.95% but equal to or greater than
99.0%
10%
Less than 99.0% 30%
In order to reclaim the service credit, a case has to be opened with the support manually.
Source: https://aws.amazon.com/ec2/sla/
How it works with Amazon
● Amazon is the one who monitors the service● It also decides whether the SLA was met or
not. ● Its not in favor of Amazon to report SLA
breaches by itself.● Even if an SLA breach support case is
opened by a client it is up to Amazon to accept it or not.
How could this problem of support cases be solved?
● Trusted Third Party● Automatic SLA compensation
Problems of SLAs
● Compensation● Enforcement● Monitoring
Compensation
● Whenever an SLA is breached by one of the parties there has to be a compensation to the other.
● It involves a considerable amount of work to calculate and carry out a transaction regarding the compensation.
Compensation
An example is if you are using Amazon you have to open a case with the support team:● Open a case● Someone analyzes the validity of case● Payment or refund is initiated but a client
only gets credit for future usage which is how the Internet Economics works here
Enforcement
● Enforcement of SLA can sometimes be hard because all the parties have to agree.
● It is also very inefficient to resolve the issues with the help of a third party like a court or an independent consultancy.
Monitoring
● Monitoring of the SLA parameters is one of the most challenging tasks
● Whenever two parties agree on an SLA there need to be valid facts they can both use to determine whether an SLA is breached.
Monitoring Approaches
Service Provider Customer
3rd Party
Monitoring Monitoring
Monitoring
Problems of Monitoring
● Customer can misreport for financial gain● Provider can also misreport for financial gain● Trusted third party - possible solution, but
can be swayed by Customer and/or Provider
A viable solution to tackle all possible cases is challenging and not yet widely implemented
Cryptographic protocols
Possible technologies we found to support SLAs and solve the aforementioned problems:
● Bitcoin● Ethereum
Bitcoin based automated payments
Sender(Customer)
Receiver(Service Provider)
Third Party(Authoritative
signatory)
Bitcoin based transaction
Service Provider Customer
3rd Party
C
C,T
C,T,S
Broadcast C,T,SC,T,S
Compensations of SLA breach with Bitcoin Smart Contracts
Bitcoin contracts can be either scripted or done in multiple steps.Independent third party Oracles (Key-Value stores) can be used as real world facts regarding SLAs. The Bitcoin contracts can read these Oracles for the SLA monitoring facts to ensure SLA compensations, so that no party can back off from the agreed SLA, hence no need of third parties to resolve payments.
Bitcoin transaction using Oracle
Service Provider Customer
Oracle
C
C,T
C,T,S
Broadcast C,T,SC,T,S
Ethereum● crowdfunded project● based on the bitcoin blockchain technology ● decentralized publishing platform featuring
stateful user-created digital contracts● Turing-complete contract programming
language
Ethereum (cont.)
How does it compare to Bitcoin?
Let’s have a look at the bitcoin blockchain again.
Blockchain
Source: https://github.com/ethereum/wiki/wiki/White-Paper
Network timeline consists of broadcasts
BlockchainNode
Blockchain as a State Transition System
Source: https://github.com/ethereum/wiki/wiki/White-Paper
Blockchain as a State Transition System
Source: https://github.com/ethereum/wiki/wiki/White-Paper
Ethereum Applications
What could it be used for?
● Implementing an alternative cryptocurrency● Smart multisignature escrow● Crop insurance / Financial derivatives● A decentralized data feed (SchellingCoin)
Enforcement of SLAs with Ethereum
Smart contracts based on an oracle that tells whether an SLA is violated or not can be run on the ethereum network itself
Decentralized monitoring oracle
The oracle that the SLA contract is based on could be decentralized with an implementation based on the ShellingCoin
e.g. n parties provide the information whether a service is available or not.
Decentralized monitoring oracle
Service Provider Customer
Monitoring
3rd Party
Conclusion
P2P monitoring of SLAs is a promising fact based and more truthful solution to the problem of SLA monitoringThere is still considerable amount of work to be done in this area.
Questions
Discussion points
● Who is familiar with SLAs?● What are your experiences with SLAs?● How do you monitor the SLAs? ● Any third parties you use?● Would you like to publish your monitoring
contracts on a P2P network rather than third parties?
Possible solutions for blockchain based distributed monitoring
What if we would get our service from a consensus based network?
Ethereum theoretically allows you to run any kind of computation on it.
Would it be possible to have a network of nodes running your service that monitor themselves?