Listing 1 - 2 of 2 |
Sort by
|
Choose an application
Choose an application
In the realm of distributed systems, the lack of a centralized clock as well as network delays and byzantine actors pose a significant challenge in globally ordering events. Pioneering work by Lamport introduced solutions such as Lamport timestamps and vector clocks, which, while effective at providing causal/local ordering, fail to achieve global event ordering. Early consensus algorithms, like Paxos and Practical Byzantine Fault Tolerance (PBFT), emerged to address this issue but were found to be inadequate in permissionless settings. Proof of Work (PoW) offers a permissionless alternative but is hindered by massive energy consumption. Recent developments in Trusted Execution Environments (TEEs) have enabled secure and isolated computation of code with a minimal amount of trust required in software and hardware. This presents a promising foundation for the development of novel consensus algorithms. By leveraging TEEs and remote attestation, it becomes possible to create verifiable computing and integrate this into existing consensus algorithms. This thesis explores the utilization of TEEs, particularly Intel Software Guard Extensions (SGX), to develop a custom consensus algorithm that addresses the challenges posed by decentralized event ordering in distributed systems. A unique implementation is proposed that extends Proof of Useful Work by incorporating a counting mechanism within a custom interpreter. This allows for the verifiable execution of arbitrary programs while preserving the energy efficiency benefits of TEE-based consensus algorithms. The main goal of the interpreter is to quantify computer resources dedicated to useful calculations. The proposed implementation, which leverages Intel SGX’s capabilities, demonstrates the potential for a solution to the long-standing problem of efficient decentralized event ordering. Extensive benchmarks are performed in order to evaluate the efficiency and security of the proposed mechanism. A thorough examination of the proposed approach’s problems and weaknesses is conducted while simultaneously addressing possible improvements that eliminate some of the shortcomings. This research contributes to the growing body of knowledge surrounding consensus algorithms and their applications in distributed systems, ultimately paving the way for more sustainable and efficient cloud computing solutions.
Listing 1 - 2 of 2 |
Sort by
|