EOSIO System Accounts Explained
The EOS blockchain has several accounts with prefix eosio.* in the name. These accounts are the System Accounts and they are here to maintain certain functions. From the very inception of the EOSIO blockchain, there was only one system account and it was eosio associated with eosio.system contract. This account provides the capability of transactions. Below we will name all the System Accounts and tell what role does each of them play. Please note that this list can be changed and upgraded by the community via proposals.
System Accounts List
eosio (privileged)
As it was mentioned earlier, this account contains eosio.system contract and all associated data.
This account is the source of rewards that are sent to Block Producers. eosio.bpay account allocates 0.25% of inflation (the exact amount of tokens per BP depends on the number of the produced blocks).
Rewards for votes made by Block Producers originate from this account. 0.75% of the EOS inflation is allocated depending on BP's share of votes.
This account helps to review or sign a multisignature proposal on-chain asynchronically. It makes the use of the EOS platform in general much more comfortable.
This account can be used only in case of emergency by Block Producers in order to process transactions on behalf of someone else's account.
When namespace auctions take place all the funds are held in namespace account. Awarded namespaces are taken as fees and held by this System Account. All that remains get returned after the outbidding.
Unlike the other accounts eosio.prods contain no contracts. It has dynamic permission structure that correlates with the actual schedule of Block Producers.
Every time someone purchases some RAM, the funds are collected in eosio.ram. When RAM gets released the funds go back to a user.
This account collects all the fees from RAM sales. So 0.5% of the value of each RAM purchase goes to eosio.ramfee.
This account collects 4% of all the EOS inflation.
When someone stakes the EOS tokens for CPU or network bandwidth, these tokens are held on eosio.staking.
The main EOS token is associated with the smart contract contained in this account.
This account contains a contract that allows every unregistered user claiming his/her tokens. The tokens are stored together with the Ethereum account information on-chain in eosio.unregd.
Who Controls System Accounts?
It is known (and it can be easily checked) that the owner and active permissions of any of the system accounts are managed by the named permission eosio@active (the name means it is the eosio's account active permission). The owner of this (eosio) account and active permissions lead to eosio.prods@active (eosio.prods or prods is the ever-changing current list of 21 Block Producers).
Privileged Accounts
Privileged accounts are not required to execute the standard authentication check while executing the transactions. To provide security of the network the permission to access the privileged accounts belongs only to eosio.prods.