-
Notifications
You must be signed in to change notification settings - Fork 0
/
P3-commentary.txt
39 lines (33 loc) · 1.83 KB
/
P3-commentary.txt
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
Protocol update commentary
Protocol Version: 3
Builds on Protocol Version: 2
Protocol Name: Alpha Centauri 3.0
In protocol versions 1 and 2 accounts and account addresses are in 1-1
relationship. In protocol version 3 each account has 16777216
addresses, namely a so-called canonical account address together with
matching account aliases. The canonical account address is derived
when an account is created on chain. The other 16 million addresses
with matching initial 29 bytes are referred to as account aliases for
the same account. Thus, accounts can be referred to by any address
whose initial 29 bytes match.
This allows each account to have aliases for different uses and
creates a kind of sub-account structure. An account owner can give out
different aliases for different uses to keep track of transfers and
assign them meaning.
Each account still has one total account balance. Hence, transfers to
and from aliases of an account add to and subtract from that total
account balance, respectively. Transfers between different aliases of
the same account do not change the balance of the account, apart from
cost. Finalization, block, and baking rewards are always received on
the account's canonical address.
It is ensured that the protocol update is backwards compatible such
that all existing accounts and smart contracts are carried over
without any changes, and all existing successful transactions retain
their meaning.
Because existing nodes do not support account aliases, node runners
will have to update their nodes before the protocol update will take
effect. The updated node software that supports the update will be
released ahead of time to give node runners time to update. A new
concordium-client tool will be released concurrently. Wallets do not
require a new version to be compatible with the account alias
functionality.