الفهرس | Only 14 pages are availabe for public view |
Abstract Secret key and public key are fundamental building blocks in cryptography that are used in numerous protocols. A trusted party is obligated to protect its secret key from any unfaithful party and spread its public key through secure communication channels to all other parties, this notation is called public key encryption. Node resources scale sub linearly in all respects (storage, disk IO, computation, and bandwidth). So a need for a deeper concept arises. Our goal is to implement a stateless consensus architecture, which means that all blocks can be fully validated without any access to state. The motivation is that this will allow validators to not keep any main chain state, lowering validator hardware requirements and making it more accessible. One of the difficulties with this is that the witness sizes required for this can be very substantial. We can reduce this by using polynomial commitments, in which any number of data elements can be proven using just a single group element as a witness. One such scheme relying on sorted key-value lists. However, it introduces significant complexity in the form of several layers of caching and needing permutation arguments to merge those separate commitments. This thesis aim is to address these two fundamental issues. First, we scale threshold cryptosystems, which protect secret keys by dividing them up across many parties. We discuss threshold signatures, verifiable secret sharing and distributed key generation protocols that can scale to millions of participants. Our protocols reduce execution time, depending on the scale. For example, at large scales, we reduce time from tens of hours to tens of seconds. At the core of most of our contributions lie new techniques for computing evaluation proofs in constant-sized polynomial commitments. Specifically, we describe how to decrease the time to calculate n proofs for a degree bound n polynomial from 𝛩(𝑛 2 ) to 𝛩(𝑛 𝑙𝑜𝑔 𝑛), at the cost of increasing proof size from 𝛩(1) to 𝛩(𝑙𝑜𝑔 𝑛). |