poanetwork / hbbft

An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus.
Other
357 stars 96 forks source link

Question: Smart contracts, evm support, parity plugin #331

Closed rstormsf closed 6 years ago

rstormsf commented 6 years ago
  1. is there a community channel where I should ask those kind of questions?
  2. Curious to understand how to use this powerful project with parity client and have evm support to run smart contracts.
  3. What is transaction in current implementation? Is it account balance transfer? Is there any other types of transactions that currently supported.
  4. Public key crypto. What kind of account types does it support? Can I use same eth based account structure?

Thank you

vkomenda commented 6 years ago

@rstormsf, I invited you to our gitter channel.

afck commented 6 years ago

Yes, Gitter or GitHub issues are both fine.

Regarding 2, 3 and 4: hbbft is a network-agnostic library that only implements the Honey Badger consensus mechanism itself. It doesn't have a notion of "account", "balance", "evm" or "smart contract", and the "transactions" it handles are completely generic, and have to be defined by a higher layer of the application.

Please have a look at hydrabadger for a (work in progress) library that adds actual TCP networking to hbbft, and at our ongoing Parity integration effort. The plan is to use hydrabadger inside a new Hbbft consensus engine inside Parity. Then it will support all the same kinds of accounts and smart contracts as Ethereum. (Possibly with added features like random numbers that don't depend on block hashes and aren't knowable in advance.)

Regarding cryptography: Internally, hbbft uses threshold_crypto, but that will not affect the user. Accounts will use the same cryptography as in existing Ethereum-type networks.

afck commented 6 years ago

Please reopen if you have any follow-up questions.