-
Notifications
You must be signed in to change notification settings - Fork 0
/
Blockchain Primitives
72 lines (41 loc) · 3.74 KB
/
Blockchain Primitives
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Blocks
Blocks are used to record the most recent set of transactions in the DeFli blockchain. Blocks are mined based on time, as defined in the block_time chain variable. The current target block time is 60000 milliseconds (or 60 seconds). During any given epoch, the most recent block consists of:
Block Version
Block Height
Previous Block Hash
Transactions (stored as a Merkle hash)
Threshold signature from the current consensus group
# Epochs
An epoch is the target time period for which a 12 transaction block is to be generated by a miner.
The target time for an epoch is currently 6 blocks, as defined in the tranche_interval chain variable.
Approximately every 6 blocks mined marks the passing of an epoch, after which a new group of Miner tranches is elected to form the next block builder group.
# Transactions
The DeFli blockchain currently has 18 native transaction types. Some appear in nearly every block mined while others were created to be used only once and will never be heard from again.
add ground station - Add a new gateway to the DeFli Network Network.
For the purposes of transactions, a “ground station” is the term for a DeFli-compliant Miner that is mining and providing network assets.
assert location - Assert a ground station’s location on the DeFli Network. This happens after a ground station has been added via the add ground station transaction. Once asserted, this location is then used as part of Proof of Signal (PoS) and Proof of Pass (PoP) challenges.
A Miner’s location can be asserted more than once but each subsequent assertion will cost a fee.
assert elevation- As above but for elevation
chain vars - Change a chain variable
tranche group - Marks the migration of a new cminer tranche under vPoS, responsible for mining during the next epoch.
create hashed timelock - Creates a transaction that can only be redeemed by providing the correct pre-image to the hashlock within the specified timelock
flight token - Burn DEFLI for FLIGHT's at the current oracle price and deliver them to the target wallet address.
orbit token- Burn DESKY for ORBIT at the current oracle price and deliver them to the target wallet address.
payment - Used to send $DEFLI from one wallet to another
payment S- Used to send $DESKY from one wallet to another
proof of signal receipts - The result of a PoS submitted to the network upon completion.
proof of pass receipts- The result of a PoP submitted to the network upon completion.
redeem hashed timelock - Redeem the transaction created using the create hashed timelock transaction.
reward df - A DEFLI token payout for a specific event on the network
reward ds - A DESKY token payout for a specific event on the network
rewards - Bundles multiple reward transactions at the end of each epoch and distributes all $DEFLI and/or $DESKY produced in that block to wallets that have earned them.
token burn exchange rate df - Change the exchange rate for burning $DEFLI to FLIGHTs.
token burn exchange rate ds - Change the exchange rate for burning $DESKY to ORBITs.
# CHAIN VARIABLES
Chain Variables, often referred to as chain vars, are a series of configuration settings for the DeFli blockchain.
Chain Variables can be used to change things like target block time and target epoch time.
hain Variables can be altered by submitting a transaction containing the chain variable to be changed, its new value, and a signature of the chain variable master key.
# Accounts, Wallets, and Keys
The DeFli blockchain uses an account-based system for wallets and balances.
Both the DeFli Explorer Wallet and the CLI Wallet create and use keys based on the ed25519 public key signature system.
The CLI can also support NIST p-256 keys. And the DeFli blockchain supports both key types.