Luckychain is a blockchain layered on top
of IPFS. It uses Intel SGX
capabilities of modern CPUs for Proof of Luck consensus algorithm which allows energy efficient mining.
Transactions can reference arbitrary data of practically unlimited size. A new block is mined on
average every 13 seconds. It is written in JavaScript and uses a NPM package which allows running JavaScript in SGX enclaves.
Warning: This is a prototype. Do not use it yet for anything important.
Current implementation uses mock SGX implementation without any of the security assurances of the SGX platform.
Help finalizing the NPM package with full SGX support is welcome.
Build guide
This library has the following system dependencies:
The whitepaper describing Proof of luck consensus protocol and Luckychain blockchain was published in
SysTEX '16 Proceedings of the 1st Workshop on System Software for Trusted Execution,
DOI 10.1145/3007788.3007790.
In the paper, we present designs for multiple blockchain consensus primitives and a novel blockchain
system, all based on the use of trusted execution environments (TEEs), such as Intel SGX-enabled CPUs.
First, we show how using TEEs for existing proof of work schemes can make mining equitably distributed
by preventing the use of ASICs. Next, we extend the design with proof of time and proof of ownership
consensus primitives to make mining energy- and time-efficient. Further improving on these designs,
we present a blockchain using a proof of luck consensus protocol. Our proof of luck blockchain uses
a TEE platform's random number generation to choose a consensus leader, which offers low-latency
transaction validation, deterministic confirmation time, negligible energy consumption, and equitably
distributed mining. Lastly, we discuss a potential protection against up to a constant number of
compromised TEEs.
You can cite it as:
@inproceedings{Milutinovic2016,
author = {Milutinovic, Mitar and He, Warren and Wu, Howard and Kanwal, Maxinder},
title = {Proof of Luck: An Efficient Blockchain Consensus Protocol},
booktitle = {Proceedings of the 1st Workshop on System Software for Trusted Execution},
series = {SysTEX '16},
year = {2016},
isbn = {978-1-4503-4670-2},
location = {Trento, Italy},
pages = {2:1--2:6},
articleno = {2},
numpages = {6},
url = {http://doi.acm.org/10.1145/3007788.3007790},
doi = {10.1145/3007788.3007790},
acmid = {3007790},
publisher = {ACM},
address = {New York, NY, USA},
keywords = {Blockchain, Consensus Protocol, Intel SGX, Trusted Execution Environments},
}
请发表评论