mirror of https://github.com/poanetwork/gecko.git
24 lines
794 B
Go
24 lines
794 B
Go
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package snowman
|
|
|
|
import (
|
|
"github.com/ava-labs/gecko/snow/engine/common"
|
|
)
|
|
|
|
// Engine describes the events that can occur to a Snowman instance.
|
|
//
|
|
// The engine is used to fetch, order, and decide on the fate of blocks. This
|
|
// engine runs the leaderless version of the Snowman consensus protocol.
|
|
// Therefore, the liveness of this protocol tolerant to O(sqrt(n)) Byzantine
|
|
// Nodes where n is the number of nodes in the network. Therefore, this protocol
|
|
// should only be run in a Crash Fault Tolerant environment, or in an
|
|
// environment where lose of liveness and manual intervention is tolerable.
|
|
type Engine interface {
|
|
common.Engine
|
|
|
|
// Initialize this engine.
|
|
Initialize(Config)
|
|
}
|