Fluence is an efficient decentralized data processing engine
Clone or download
DieMyst update dashboard (#346)
* update dashboard

* new line

* rename appAddress to storageHash
Latest commit 9c24886 Jan 18, 2019

README.md

Build Status Join the chat at https://gitter.im/fluencelabs/fluence

What is Fluence?

Fluence is the efficient decentralized data processing network where anyone can install and run the compute node. Fluence attacks the real-time execution | decentralized security | cost efficiency – (pick two) trilemma using a hybrid real-time + batch approach.

Real-time component allows to obtain computation results immediately with adequate but not necessarily absolute security guarantees. Batch component, on the contrary, performs a thorough verification of historical results and penalizes misbehaving nodes if it finds any discrepancy.

Fluence heavily employs the existing decentralized technology stack. It uses Ethereum as the secure state storage, Tendermint as the BFT consensus engine for the real-time data processing, WebAssembly as the virtual machine for computations and, finally, Ethereum Swarm as the cold storage for the history of operations. For dispute resolution Fluence relies on the verification game concept described in the TrueBit paper.

Because computation results returned in the real-time by Fluence to the (light) client are exhaustively verified only later, it is correct to say that Fluence provides eventual security guarantees. In other words, the client is optimistic that real-time nodes will not turn out to be malicious. If this happens, however, Fluence network will evict such nodes by forfeiting their security deposits.

Fluence architecture

architecture overview

Motivation

Building data intensive applications which would use a decentralized stack is not always easy. For example, it's not possible to expect a browser page or a mobile app to download gigabytes of the blockchain data and apply heavy computations to it. Full nodes might solve the problem, but the client has to trust them. Moreover, full nodes are not incentivized to process the client queries in time which might lead to delays.

Ideally we would want a decentralized network to perform the data processing, and perform it with the real-time performance, securely and reasonably inexpensive compared to the traditional cloud processing. This is exactly what Fluence aims to become :)

Check out this slide share to learn more!

Project status

The project is undergoing a heavy development at the moment.
Check out the issue tracker to learn more about the current progress.

Internal details

The protocol draft can be found here, and the future whitepaper outline – here.

Stay tuned, more details are coming :)

Contributing

You are welcome to contribute. At the current moment we don't have detailed instructions on how to join development or which code guidelines to follow. However, you can expect more info to appear soon enough. In the meanwhile, check out the basic contributing rules.

License

Apache 2.0