LibreFortune: an App Ecosystem Based on a Modern Reification of Proof-of-Stake
Project LibreFortune (
white paper) originates from a critical thinking on the following two questions: does Proof-of-Stake work, and what should we build with it.
Does Proof-of-Stake work? It is strange to ask this question today, given that many pure PoS designs have already been proposed out there. However, existing PoS designs either have security defects, or remedy security defects at the sacrifice of decentralization. After a year of careful designing and refinement, we have found a way to achieve security, fairness and decentralization at the same time, although, it takes a radical redesign from the very basic idea of Proof-of-Stake.
What do we build with it?Given a solid blockchain with a very low operating cost, people can do a lot. Our choice is to build an app platform based on this, which can greatly simplify the development of decentralized apps. (See our whitepaper for workflows of example decentralized apps, and see the FAQ for a comparison with Ethereum).
Key Contributions- We propose an original blockchain technology with critical innovations in the PoS block generation protocol and the main chain protocol. The well-designed protocols successfully eliminate incentives for off-main chain mining, as well as chances of early setup in mining, achieving a clean probability model of the mining process. It is the first pure PoS protocol that realizes resistance against long-range attack without compromising the decentralized consensus model.
- We propose a mode-based transaction system with a powerful and intuitive transaction control. This allows designing and implementing advanced transaction contracts in a straightforward way.
- Based on the solid blockchain and transaction system, we built a platform which directly provides pragmatic high-level APIs/Events for the apps to query/subscribe/publish blockchain data/events. Existing apps can easily migrate to the platform and start to leverage LibreFortune's infrastructures and powerful payment system.
An advanced PoS blockchain protocol, a powerful transaction system, and barrier-free accessibility --- together they make LibreFortune very promising to quickly evolve into an active app ecosystem, which will bring concrete and rich demands to the system.
Progress of DevelopmentCore Components:
- Decentralized, fair and secure pure PoS protocol. [Done];
- Transaction system. [Done]
- Networking. [Done]
- Rpc server. [Done]
- Wallet. [Done]
- Blockchain explorer. [Done]
- Desktop Qt UI. [Done]
- App platform. [ In Progress. ETA: In December]
Future Enhancements:
ResourcesHome page:
www.librefortune.orgWhite Paper:
www.librefortune.org/res/librefortune-whitepaper.pdfDiscussion:
www.reddit.com/r/LibreFortuneBinaries: TBD
Q/A(Frequently asked question will be added to this list.)
Why not distribute all genesis coins at once?Please read the “Initial Distribution” section of the white paper.
Is this project open source?Yes. LibreFortune's canonical client, which is written in C++11, will be open source gradually after the binary is released.
What is the difference between LibreFortune's app platform and Ethereum's smart contract system?In Ethereum, apps run on EVM (Ethereum virtual machine) and app executions cost ether (coin of Ethereum). In LibreFortune, apps run independently and communicate with LibreFortune via high-level APIs and event callbacks. Thus LibreFortune virtually imposes no constraint on the apps (type, size, run time, etc.). Video games, social apps, shopping apps, etc. can all be placed on LibreFortune's platform.
In Ethereum, app executions may cause blockchain state transition. For the consensus of the network, every node has to perform every triggered app execution, even the user running the node has nothing to do with the app, and has no idea what the app is doing. In LibreFortune, app execution cannot change blockchain directly, and users are free to choose which apps to install and run, just like normal apps.
Ethereum's strength is in allowing apps to change the ledger directly during execution. This enables some simple app like gambling to run in a fully decentralized way. In LibreFortune, apps cannot change the ledger directly. Thus an app that needs to change the ledger (e.g. lottery) has to issue a new asset to achieve a similar effect by redistributing this new asset, or just keeps its client-server pattern. On the other hand, LibreFortune provide better support for apps which do not need to change the ledger (e.g. distributed DNS server), and apps only need to make transactions through the platform's APIs (e.g. in-app purchase apps) .