### Advanced Cryptography Techniques and Blockchain Applications PhD Thesis Proposal :open_book: Lorenzo Gentile lorg@itu.dk Advisor: Bernardo David beda@itu.dk Note: 15-20 min https://intranet.itu.dk/the-phd-guide/step-by-step/midway-evalutation/on-the-day-of-the-midway-evaluation --- #### About me - PhD Student at ITU :male_elf: - / Cryptographic protocols / Secure multi-party computation (MPC) / Privacy preserving blockchain applications :mag: ![](https://i.imgur.com/5ogwJbY.jpg =200x) --- #### Examples - How can different parties (e.g., tax authorities, hospitals, universities) ==combine their data== to ==extract something useful== while ==preserving privacy== (no third party involved)? :incoming_envelope: - What lies between ==MPC and blockchain==? :chains: --- ## Introduction :open_book: --- #### MPC intro: Yao's Millionaires' problem (1982) - Introduced by computer scientist Andrew Yao: two millionaires, Alice and Bob, are interested in knowing which of them is richer ==without revealing their actual wealth==. ``` a +--------+ Alice ---> | YAO | f(a,b) = 1 if a > b else 0 b | | ---> Bob ---> | | +--------+ ``` - Compute $f(a, b)$ while preserving the privacy of $a$ and $b$. --- ### Blokchain intro: Bitcoin (2008) ``` +----------------------+ +----------------------+ | +-------+ +-------+ | | +-------+ +-------+ | ----->| Prev. | | Nonce | |----->| Prev. | | Nonce | | | | Hash | | (PoW) | | | | Hash | | (PoW) | | | +-------+ +-------+ | | +-------+ +-------+ | | +----+ +----+ +----+ | | +----+ +----+ +----+ | | | Tx | | Tx | | ...| | | | Tx | | Tx | | ...| | | +----+ +----+ +----+ | | +----+ +----+ +----+ | +----------------------+ +----------------------+ ``` A distributed, decentralized and public transaction ledger. Note: Courtesy of Satoshi Nakamoto (2008) --- ### Blockchain intro: GKL model (2014) - Blockchain protocol properties in the GKL model: - Chain Growth - Chain Quality - Common Prefix - Assumption for proving security: the adversary ==can control $< 1/2$ of the computational power invested in solving the PoW puzzle==. Note: - Chain Growth: the chain will grow with at least constant speed (a constant number of new blocks is added to the chain after a constant number of rounds). - Chain Quality: given $k$ blocks in a blockchain, at least $c \cdot k$ blocks were generated by honest parties for a constant $c$ with overwhelming probability. - Common Prefix: the probability that two honest parties see different chains after removing the $k$ last blocks from a chain is negligible in $k$. --- ### Blockchain intro: smart contracts - Smart Contracts allow to describe ==arbitrarily complex conditions== under which transactions might take place among the parties. --- ### MPC and blockchain meeting point - Efficient MPC protocols for specific applications exist, but ==abort== and ==fairness== may be a problem $\rightarrow$ Adopt ==smart contracts== to financially punish cheating parties. - Find a ==tradeoff between privacy and accountability== in cryptocurrency and smart contract systems. --- ## Preliminary results :open_book: --- #### FAST protocol - Parties $P_i$ with $i \in {1,...,n}$. - Bid $b_i = b_{i1}|...|b_{il}$ with $b_{ir} \in \{0,1\}$. ``` b_1 +--------+ ---> | FAST | b_w = max(b_1,...,b_n) ... | | ---> b_n | | P_w sends b_w to the auctioneer ---> | | +--------+ ``` - Compute $max(b_1,...,b_n)$ while preserving the privacy of $b_1,...,b_n$. --- #### Secret deposits (novel technique) - Parties are required to send to a smart contract a ==deposit equal to their bid== plus the cost of running the protocol, thus it is guaranteed that ==funds are available== and ==cheating is not profitable== since it implies loosing the deposit. - The ==privacy of the bids has to be preserved==, thus the ==deposit is secret== (e.g., using ==confidential transactions==). --- #### Computing the winner - (idea) Use bit-by-bit anonymous veto protocol approach and modify input bits according to previous inputs and outputs. ``` b_1 = 1 1 0 1 0 b_2 = 1 1 0 0 1* b_3 = 1 0 1* 1* 1* -------------- v = 1 1 0 1 0 = max(b_1,b_2,b_3) v_r represents veto output in round r ``` - Using ==NIZK== parties have to prove that if $v_r = 1$ but $b_{ir} = 0$ then $b_{ik} = 0$ for $k = r+1,...,l$. --- #### Cheating detection - Parties are required to compute ==publicly verifiable== proofs to guarantee that each step of the protocol is executed correctly. - ==Only if== cheating is detected, a ==recovery stage== is executed with the help of a ==committee==. - The secret deposit is used to ==refund the other parties== or ==complete the payment==. --- #### Extension to second price auction - (idea) Execute again the protocol without the winning party $\mathcal{P}_w$. - (better idea) Once the winning party $\mathcal{P}_w$ is identified, conclude the execution to compute the second price without $\mathcal{P}_w$. - From a game theory perspective, bidding truthfully is a ==dominant strategy==. --- ## Ongoing and future work :open_book: --- #### Secret deposit: efficiency - Currently a trapdoor to spend the secret deposit of a cheating party is secret shared among the members of a committee. - (idea) Encrypt the trapdoor using ==witness encryption== (based on simplyfing assumption, *i.e.*, not for general NP statements) with witness equal to a ==proof that a majority of the members of the committee agree on decrypting the trapdoor==. --- #### Secret deposit: general purpose MPC - Extend the secret deposit technique to the case of ==general purpose MPC==, *i.e.*, computing any function on the private inputs, still with the ==secret deposit being a function of the private inputs==. --- #### PAPR: UC - PAPR (Publicly Auditable Privacy Revocation) is a credential scheme providing both ==conditional privacy of users== and ==public verifiability of correct behavior of a privacy revocation authority==. - Modify current protocol to achieve ==Universal Composability (UC)==. --- ### Time for questions! PhD Thesis Proposal :open_book: Lorenzo Gentile lorg@itu.dk Advisor: Bernardo David beda@itu.dk
{"metaMigratedAt":"2023-06-15T21:46:07.324Z","metaMigratedFrom":"YAML","title":"Thesis Proposal","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"d80064c0-9b1a-4455-a2b0-11618ed627cd\",\"add\":16282,\"del\":9822}]"}
    295 views