cloud computations integrity certification protocol · meet safecomp smart contract checks the...

22
Cloud Computations Integrity Certification Protocol Cloud Computations Integrity Certification Protocol Evgeny Shishkin Evgeny Kislitsyn

Upload: others

Post on 05-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Cloud Computations Integrity Certification Protocol Cloud Computations Integrity Certification ProtocolEvgeny ShishkinEvgeny Kislitsyn

Page 2: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

The Problem● How can we ensure that computation C(d) was performed correctly?

Correctly = semantics of C(x) has not been distored by the computation provider neither intentionally (malicious party), nor by accident (software, hardware bugs).

C(x), d

C(d) = r

Page 3: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

More General Problem● How can we ensure that C(d) was computed correctly?

● How to assure other users that C(d)=r was computed correct and do it fast?

C(x), d, r

C(x), d, r

C(x), d

C(d) = r

Page 4: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

ApproachesRepeat computation

C(d) = r ?

C(x), d

C(d) = r

Page 5: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

sig(r) = sigR

Digital Signature =?= Trust

Check(sigR) ?= True

C(x), d

C(d) = r

Approaches

Page 6: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

C(x), d

C(d) = r1

Redundant computation

C(d) = r2

C(d) = r3r1 == r2 == r3 ?

Approaches

Page 7: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

C(x) -> A(x), d

Approaches based on PCP-theorem(r, cert) = A(d)

Approachescheck(A, d, r, cert) = {true | false}

Page 8: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Blockchain Protocols PropertiesImmutable

business logic programmed as a smart-

contact

Transparent data and

transactionsValue Exchange within the system

High Availability

Massive Fault-Tolerance

Page 9: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

C(x)

Smart-contract on a blockchainC(d)

Smart-contracts on a public blockchain could solve the problem, but their computing ability is too low.

r = C(d)

Approaches

Page 10: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

C(x), d

(r, cert) = F(C, d)

Smart-Contract

blockchain

r, cert

Check(C, d, r, cert) = True?

C(d) =?= r

Blockchain Protocol SketchC(x), d, r

Page 11: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Basic Blockchain ProtocolC(x), d

C(d)C(x), d

C'(d)

Page 12: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Trust Model● We do not trust Computation Providers 'per se'

(malicious actor, errors in computation, etc..)● We do trust smart-contract, i.e. can inspect smart-

contract logic● All participants are rational, i.e. everything they do is

motivated by an attempt to maximize their profit● At least, 1 fair/correct motivated computation provider

available in the system

Page 13: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Assumptions● User program C(x) and initial data d is small

enough to be placed into the blockchain

● Program result C(d) is small enough to be placed into the blockchain

● Program (i.e. function) C(x) is terminating

Page 14: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

SafeComp ProtocolProtocol Participants

Computing ProviderClient Computing

AuditorSmart-Contracton a BlockChain

Blockchain Oracle Intruder

ComputationRequest

Computation processing/audition

Transparent reliable refutation procedure

Trusted link with an externel

Data Source

Wants to trickthe protocol for

profit

Page 15: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Meet SafeComp● User program C(x) is transformed into iterative function

form f(x) , such that: proj f (f ( f ( … f ( inj (d) ) ..) = C(d) proj ((fix f) (inj d)) = C(d)● Computation provider calculates values:

● c_1 = H(d)● c_{i + 1} = H(c_i * f(r_i))● H(x) - secure hash-function

● Values <c_1, c_2, … , c_k> forms a verifiable certificate

Main ideas of the protocol

Page 16: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Meet SafeComp● Computation providers take a problem f(x), the point d , and compute

result r = f(..f(d)) together with a certificate cert● Provider publishes computed pair <r, cert> together with a

guarantee deposit. Such provider is called the solver.

● Other computation providers that were late on submitting the answer (called auditors in this case), do the check of the result and the certificate

● If error is found, the refutation is sent into the smart-contract. The refutation consist of a triple: <c_{p-1}, c_p, r_{p-1}>

Main ideas of the protocol

Page 17: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Meet SafeComp● Smart contract checks the refutation by performing only a

single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))● In case of refutation acceptance, the solver is punished by

paying the guarantee deposit fee. The problem is moved back to 'published' state awaiting other solutions to be provided.

● At the end, all fair auditors and the final solver get compensated using the total deposit (initial user deposit + all guarantee deposits) of this computation task.

Main ideas of the protocol

Page 18: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

SafeComp Protocold C(d)C : Input → Output

inj d R, such that proj R = C(d)f : Input' → Input'

Page 19: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Function in Iterative Formfact (0) −> 1;fact (N) when N > 0 −> N * fact (N−1) .

FactFP ({0, Acc}) −> {0, Acc} ;FactFP ({N, Acc}) when N > 0 −> {N − 1, Acc * N} .

fact : Nat → Nat

factFP : Nat * Nat → Nat * Natinj(n) = { n, 1 }; proj({n, m}) = m

\forall n . fact (n) == proj((fix factFP) (inj n))

Non-iterative form:

Iterative form:

Page 20: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Function in Iterative FormC(1, _) −> 1;C(_, 0) -> 1;C(N, N) -> 1;C(N, M) −> C(N-1, M) + C(N-1,M-1).

Cfp({[], Acc}) -> {[], Acc};Cfp({[{1,_} | T], Acc}) -> {T,1 + Acc};Cfp({[{0,_} | T], Acc}) -> {T 1 + Acc};Cfp({[{N,N} | T], Acc}) -> {T,1 + Acc};Cfp({[{N,M} | T], Acc}) -> {[{N-1,M} | [{N-1,M-1} | T]], Acc}.

C : Nat * Nat → Nat

Cfp : list(Nat) * Nat → list(Nat) * Nat

inj({n, m}) = {[{n, m}], 0}; proj({_, acc}) = acc

Non-iterative form:

Iterative form:

Page 21: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Related Workshttps://truebit.io

Page 22: Cloud Computations Integrity Certification Protocol · Meet SafeComp Smart contract checks the refutation by performing only a single computation step c_p ≟ H(c_{p-1} * f(r_{p-1}))

Evgeniy ShishkinSenior researcher

JSC «InfoTeCS»127287, Moscow, Stariy Petrovsko-Razumovskiy proezd, 1/23, bld. 1

+7 (495) 737 61 92 (ext.4726)[email protected]

https://unboxedtype.bitbucket.io