Skip to content

Definitions

Loong edited this page Sep 25, 2019 · 37 revisions

This page defines the core data structures and roles that exist in Hyperdrive.

Transaction

A transaction is executed in order to transform an initial state into a new state. It is assumed that the execution of a transaction will happen in full, or not at all. In this sense, a transaction can be considered atomic.

execute :: Transaction -> State -> State

Multiple transactions can be executed in parallel, on the same initial state, if and only if the output state is equal to the output state that would result from executing each transaction in sequentially.

execute :: [Transaction] -> State -> State
execute txs initialState = fold initialState (\tx state -> execute tx initialState)

Plan

A plan represents the pre-processed data that is needed to apply a set of transactions to a state. The pre-processed data depends on the secure multi-party computation that is used for execution.

State

Block

Signatory

Message

Clone this wiki locally