Artery Network White Paper
Attention! From October 6, 2022 this document is not up to date.
Updated version: https://arterynetwork.medium.com/artery-network-2-0-ng-white-paper-20b0129fe2a8
Before starting to read White Paper, we want to tell you about our vision of the document. Due to the gain of momentum, millions of newbies enter the Blockchain market every month. They are eager to “be in’’, but are faced with a ton of new terms and thousands of experts, each of whom has their own understanding of Blockchain. Based on this, we decided to split the White Paper into 2 parts: Concept Unit and Technical Unit. The goal of the first one is to convey in the principle of the Artery Blockchain and the Artery application “human” language, therefore all the material was simplified as much as possible and in some parts was described in more detail than it’s usually required. Technical unit — the traditional description of the Artery Blockchain and the Artery Network application in the form familiar to developers and advisors. Good luck!
Concept Unit (clearly on the main points)
It’s worth starting with the fact that Artery is a project based on 2 key components: utility and clarity. Based on this, the main tasks were formed:
· Communicate clearly about the work of Artery Blockchain;
· Provide users with useful Blockchain products in the form of an Artery Network application and enable them to make money with them.
Artery Blockchain — the name of the own blockchain project.
Artery Network — app name in App Store and Play Market. It is thanks to the he application that the Artery network is created from validators, nodes, delegators and product users.
ARTR — project coin ticker.
Artery — when it comes to the project in general.
A couple of theses:
· Based on the reliable and fast Tendermint BFT consensus engine
· Transactions up to 15 seconds with minimum commission (0.3%, max. 10 ARTR)
· Combined consensus: DPoS (Delegated Proof of Stake)+ PoA (Proof of Authority)
· Transactions are completed immediately after being committed to the block
· High reliability of a distributed network. In the event that 1/3 of the validators are offline or send erroneous data, Artery Blockchain will remain operational
· Written using GO language and Cosmos SDK
· The ability to seamlessly update the blockchain based on the decision of the participants (in the future)
· Modular structure with good module isolation — protection against critical errors at the application level (an error in one module or a failure in transaction processing will not stop the entire blockchain)
· Built-in system for rewarding participants for using and promoting blockchain products
· Voting module for managing key parameters. The community decides together how the conditions for the functioning of Artery will change
· Increased block release time — reduced network and performance requirements for the devices running the blockchain. Due to the soon release of the update, where an ordinary phone can sign blocks, it was decided to lower the technical requirements for validators
· Accessible and documented REST API node for blockchain management
Roles in the system
Incomplete node — a device whose owner has allocated free disk space (memory) and internet connection for the Artery network in the Artery Node product of the Artery Network application. The encrypted parts of users files of the Artery Storage product are automatically placed on the allocated disk space, and with an active connection to Wi-Fi, the traffic of Artery VPN users passes through the device Internet connection. It is the incomplete nodes that help decentralize the Artery Storage and Artery VPN products, for which the Artery Network app pays them weekly ARTR rewards.
Complete node (validator) — a device whose owner proved to have a stake of 100.000ARTR (DPoS) and received status 3(Master) in the partner program (PoA). The validator has the right to generate and sign blocks in the order established by the system, for which he receives a reward. It consists of commissions from transactions of the signed block. It is possible to activate block validation in the Artery Node product of the Artery Network application.
Delegator — the application user who sent their ARTRs for delegation. After being sent to the wallet, the coins become unavailable for transfers until the delegator withdraws them back to the main wallet.
For more information on how DPoS Delegation to Artery Network works, see the Products section. Delegation
The coin was created specifically for access to products based on the Artery Blockchain, and in particular the Artery Network application. Products that are already released: Artery Storage (decentralized data storage), Artery VPN, Artery Node (block validation + provision of resources for Artery Storage and Artery VPN products), DPoS Delegation.
Total issuance 4.000.000.000 ARTR. The preliminary full issuance period is 10 years (2030). The emission of new coins occurs through the payment of remuneration to delegates.
The graph below shows an indicative model of the ARTR issuance, as well as the periods of planned reductions in remuneration to delegates to reduce the risks of hyperemission:
Please note: the validator receives an increased percentage provided that he is in the queue or in the main group and has not received penalties for at least 6 blocking periods (720 blocks)
Products (Artery Network application)
You upload any files from photos to documents and provide them with complete security. When loaded, they are automatically encrypted, divided into small parts and sent to dozens of devices (nodes) on the network for storage. The device that accepts your file will receive a reward for storing it. Your files will remain completely confidential and no one will be able to view them, since they will be split into encrypted parts and only you have a special key for their reverse recovery!
When Artery VPN is enable, your internet connection is completely secure. All your traffic will go through the same devices (nodes) on the network as in Artery Storage. Nodes, in turn, will also receive a reward for this.
There are 3 types of functionality:
1. You share the memory of your device where the application will place the encrypted parts of the Artery Storage users’ files. Available from Status 2 (Leader) for mobile version and status 1 (Lucky) for desktop version.
2. You share your device internet connection through which the traffic of Artery VPN users will pass. Available from Status 2 (Leader) for mobile version and status 1 (Lucky) for desktop version.
3. You become a validator and sign blocks in the Artery Blockchain. Available from Status 3(Master) (PoA) + delegated team stake based on your 100.000ARTR (DPoS). To activate this functionality, you need to download the application from the link on the official website and in Artery Node section activate validation. With a combined consensus, we would be able to achieve increased blockchain security due to the fact that, in addition to reaching a certain stake size, the validator also needs to obtain an internal status in the system, proving its authority (Proof of Authority).
Here you participate in the emission of new coins on the principle of well-known DPoS, already well-known to many. When sending ARTRs for delegation, you simply transfer them from the main wallet to the delegation wallet. The reward is paid daily to the main wallet. Withdrawal of coins from delegation takes 28 days.
By delegating ARTR, you are rewarded for:
1. … coins delegated by you which are counted in the steak for upstream users in the affiliate program. Thus, having reached a stake of 10.000 ARTR, they get the opportunity to become validators of the Artery Blockchain. Likewise for you: if your invitees (up to level 10) delegate coins, then their steak is counted for you (your steak is also counted).
2. … delegating coins, sort of freeze them, providing ARTR with liquidity in the market.
Income (Artery Network application)
To clearly record your progress, 9 statuses were developed. All methods of earning are focused around them. Statuses are a) understandable b) they motivate to grow.
Status 1: Lucky
· Rate payment
· Artery Storage, Artery VPN product activation , Team (affiliate program)
· Access to the referral program 2 levels deep
Access to the Artery Node product (for desktop version)
Status 2: Leader
· Level 1, 2 people
· Level 2, 4 people (each of the 2 invitees on the 1st level has 2 activated invited users)
· Access to Artery Node product (for mobile version)
· Opening of 4 levels in the affiliate program
Status 3: Master
· Level 1, 3 people
· Level 2, 9 people. (each of the 3 invitees has 3 activated invitees at level 1)
· Opening of 6 levels in the affiliate program
· Access to block validation (requires a team stake of 100,000 ARTR)
Status 4: Champion
· 3 branches, 10 people each (each of the 3 invitees at the first level has a team of 10 activated users)
· Opening of 10 levels in the affiliate program
· Receiving bonus participants for 1 level from an open entrance (registered without an invitation link)
Status 5: Businessman
· 3 branches, 50 people each
· Coins per team: 150.000ARTR
· 1% of the company turnover, which is shared with all holders of the Businessman status
· Access to travel fees
Status 6: Professional
· 3 branches, 100 people each
· Coins per team: 300.000ARTR
· 2% of the company turnover, which is shared with all holders of the Businessman and Professional status
Status 7: Top
· 3 branches, 200 each
· Coins per team: 1.000.000ARTR
· 3% of the company turnover, which are shared with all holders of the status of Businessman, Professional, Top
Status 8: Hero
· 3 branches, 300 people each
· Coins per team: 2.000.000ARTR
· 4% of the company turnover, which are shared with all holders of the status of Businessman, Professional, Top, Hero
· Getting on the company leadership council
Status 9: Artery Champion
· 3 branches, 400 people each
· Coins per team: 5.000.000ARTR
· 5% of the company turnover, which are shared with all holders of the status of Businessman, Professional, Top, Hero, Artery Champion
· Upon confirmation of the status, a car is given as a gift within 6 months
5 ways to make money
1. Coin delegation
What delegation is and how it works is described above in the “Products” section
Your reward depends on the size of the delegated steak:
You delegate 0.5–9999 ARTR, reward + 5%/month.
You delegate 10.000–99.999 ARTR, reward + 8%/month.
You delegate 100.000 and more ARTR, reward + 11%/month.
You are a validator, rewards. + 13%/month
If the number of delegated coins is less than 0.423999, the delegation fee is not payed
2. Affiliate program with rate payment
For recommending Artery Network products, you are rewarded with as many as 10 levels. For example, if you recommend a product to 3 users, and they, in turn, will activate simply 1 person a week, then after 3 months you will start earning over 1 million rubles a month only from the affiliate program.
Earnings by level:
Level 1: 15% of tariff payment;
Level 2: 10% of tariff payment;
Level 3–7: 7% of tariff payment;
Level 8: 5% of tariff payment;
Level 9–10: 2% of tariff payment;
3. Affiliate Program from Delegation of Invitees
If your invitees (up to Level 10) delegate their coins, then you also earn your percentage from this, since before sending coins for delegation, a person is charged a one-time commission of 15% from the delegated steak. From this commission the remuneration is paid to the superior, that is to you.
Earnings by Level:
Level 1: 4.8% of delegated amount;
Level 2–3: 0.8% of delegated amount;
Level 4: 1.8% of delegated amount;
Level 5–9: 0.8% of delegated amount;
Level 10: 0.4% of delegated amount;
4. Leadership Bonuses
They are created as an additional reward to users for excellent results in promoting the product. 15% are reserved from each payment of the rate (5% for each type) to pay bonuses. Bonuses are divided into 3 types:
1. Percentage of company turnover. A person who reached status 5 shares 1% of the company with everyone who also has status 5, status 6 shares with everyone who has statuses 5 and 6, and so on up to status 9 inclusive. The bonus is paid once a week.
2. A car. The condition is simple — to reach Status 9 (Artery Champion) and hold it for 6 months. The bonus is issued once.
3. Promo. Monthly bonuses aimed at stimulating the involvement of the audience by project participants.
5. Artery Node Product
For more information about what Artery Node is and how it works, see the “Products” section
Here you get regular rewards for sharing the resources of your device with the help of which you sign blocks, store encrypted parts of Artery Storage users’ files, and provide an Internet connection for Artery VPN users.
At the time of the project launch (2020), it is difficult to surprise someone with the newly launched Blockchain, DPoS or own coin. Due to the fact that we set ourselves to create not only usable products, but also suitable for all professional contingents, 5 steps were taken:
1. Analyze the market thoroughly;
2. Collect the most effective and trendy;
3. Create the quintessence of efficient and trendy in the form of your blockchain;
4. Release an application to prove the functionality and effectiveness of the developed blockchain;
5. Translate everything into the “human” language;
6. Go to market;
As a result, truly interesting products with their own philosophy appeared. Their viability is ensured by a blockchain that works not on bulky and expensive video cards, but at the expense of ordinary phones and computers that act as network validators and receive rewards for this.
With an eye to today’s market, the resulting Blockchain is a) Trendy b) Safe.
Imagine, your device, having reached a stake of 100.000ARTR and Status 3(Master), gets the right to sign blocks and bring passive income.
You can’t agree, connecting a phone is much easier than buying an expensive video card and waiting for your turn to create a block (PoW). Thus, the number of validators in the Artery Blockchain will grow many times faster than in projects familiar to the market, and, consequently, the power and security of the blockchain itself will increase.
Some users upload their files to Artery Storage, some delegate coins, and at the same time other users allocate memory on their device and sign blocks. Thus, everything works as a single organism. Some users keep their files and traffic safe, and whoever provided it receives a reward. Profit is guaranteed for everyone!
Thus, we can safely say that Artery is a new holistic organism that fits perfectly into the modern market and strives to become its leader in decentralized products.
Below is a roadmap for the next 2.5 years. Of course, in addition to these points, the development of urgently necessary things or the optimization of existing ones will be going on in parallel, but this will not prevent us from meeting the deadlines.
While developing the Artery Blockchain, we tried to implement the model described in the Concept Unit in an optimal way in terms of timing and quality. Therefore, the final product combines ready-made solutions (Tendermint Core, Cosmos SDK), taken as a basis, and our own developments (Artery VPN, Artery Storage).
In this document, we will describe the structure of the entire Artery project, divided into functional blocks, and also briefly describe the modules we developed for the Cosmos SDK.
The key features of the blockchain are:
1. Combined consensus of Delegated Proof of Stake and Proof of Authority (more details in the blockchain ConceptUnit).
2. Support of the structure of account relationships within the blockchain (affiliate program).
3. Verification that an account was created and posted on the blockchain prior to any transaction affecting it.Thus, the impossibility of sending funds “to nowhere” is guaranteed, the structure is recorded in the MLM structure, protection from DoS attacks and spam is provided (since in most cases the operation of creating an account is a paid service).
4. Triple system of account addressing. In addition to the main addresses (using the BIP32 key structure), simplified 16-character addresses of the ARTR-XXXX-XXXX-XXXX format and a nickname system (arbitrary account names) are used.
5. Resource accounting when using Artery VPN and Artery Storage external services.
6. Voting for changing parameters (level of reward, commissions for validators, etc. For more details see 3.3.7).
The payment instrument in the system is ARTR coins, while in the blockchain they are stored and processed with an accuracy of up to 6 decimal places in the uARTR denomination (1 ARTR = 1,000,000 uARTR).
2. General Structure
The Artery network can be divided into two large blocks. On-chain block is transaction processing, storage of critical data. The second one (off-chain) is the direct processing of passing traffic from Artery VPN, data storage within Artery Storage, a table of active nodes, etc.
The on-chain block is built on the basis of the Cosmos SDK and Tendermint Core and includes both standard Cosmos SDK modules and modules developed specifically for the Artery blockchain:
Mentioned modules will be described in more detail in the following sections of this document.
Main functionality of the block includes:
● storage of information about wallets;
● storing of information about the profiles of users (linked to wallets);
● storage of a list of validators and charging them with rewards for signing blocks;
● storage of MLM structure;
● storage of information on the use of Artery VPN and Artery Storage services;
● processing of transactions (funds transfers, distribution of rewards, changing profile parameters, posting information about files in Artery Storage, changing the remains of Artery VPN traffic, etc.).
The off-chain block includes the Artery Network app, as well as Artery Storage and Artery VPN. Main functionality includes:
● providing an interface for managing accounts and profiles in the blockchain;
● management of a node, enabling and disabling block validation;
● provision of services for data transfer Artery VPN;
● management of distributed protected storage Artery Storage.
3. Artery Blockchain
The main code of the Artery Blockchain node is built on the basis of the Cosmos SDK using the Go programming language. The maximum block size is 21MB, blocks are generated every 15 seconds. The block fee depends on the transactions included in it (the fees are described in the Concept Unit, in the Blockchain section).
3.1 Wallet Addressing
As a basis, Artery Blockchain uses the built-in Cosmos SDK wallet addressing system (for more details see the link https://docs.cosmos.network/master/basics/accounts.html), based on the BIP32, BIP43 and BIP44 recommendations.
To create private and public keys and wallet addresses, a mnemonic (seed phrase) with a length of 24 words is used.
Additionally, to improve brevity and usability, the ability to translate addresses into human-friendly forms was introduced.
The first possibility is to use simplified 16-character addresses, like ARTR-XXXX-XXXX-XXXX, where X is numbers from 0 to 9. This format allows you to address 10 ^ 12 (about 1 trillion) accounts. At the time of this document creation, about 43 million Bitcoin wallets were registered.
The second possibility is the use of nicknames (short names) to determine the addresses of users. Nicknames are allowed to use Latin characters, underscore, period and numbers from 0 to 9. The minimum length of a nickname is 3 characters, the maximum is 250. Changing a nickname after creating an account is a paid service to reduce the possibility of spam transactions.
All information about the addresses translation is stored in the blockchain, which ensures the uniqueness of the used nicknames and simplified addresses and uniquely determines their correspondence. At the same time, when sending a transaction, the main wallet address is used, which is automatically located by a nickname or a simplified address.
3.2 General information about how Blockchain operates
There are two sources of changes in the internal state of the blockchain: transactions, each is created by the user and signed by his private key, and events that occur automatically in accordance with the blockchain algorithm (for example, reward charging).
The generation of each block consists of 3 stages:
● begin blocker;
● transaction processing;
● end blocker.
At the beginning of the block, the following actions are performed:
● a reward is charged for signing the previous block (the validator who offered it receives a commission from all transactions included in it);
● penalties are applied to validators who missed signing the previous block;
● reward for delegation is charged;
● (once a week) users with the Businessman status and higher are charged a percentage of the company turnover;
● scheduled tasks are performed (see 3.3.11):
— actual withdrawal of funds from delegation;
— reward for storage and VPN is charged;
— actual downgrade of status (in case of prolonged non-fulfillment of the current status conditions;
— rate payment verification and auto payment;
— summing up the results of the current voting.
After that, user transactions are processed. The commission for transfers between wallets and funds delegation goes to a special service wallet (FeeCollector), from which, after the block is released, it will be transferred to the validator. Distribution of rewards across the referral structure and recalculation of statuses occur immediately after each transaction.
At the end of the block, updates to the list of validators are applied.
3.3. Artery Blockchain Modules
In this section, we will briefly describe the Cosmos SDK modules developed for the Artery Blockchain.
It is a modified version of the standard Cosmos SDK module, responsible for transferring coins between accounts and storing information about coins.
Three possible states of coins (liquid/delegated/in the process of withdrawal from delegation) are implemented at the blockchain level in the form of three different denominations: uartr, uartrd and uartrr. Unlike the standard implementation, this module allows you to transfer only liquid (uartr) coins, prohibits transfers to non-existent wallets and charges a flat fee on all transfers.
Responsible for storing information about user profiles, namely:
● ARTR card number;
● auto payment status (on/off);
● VPN Node condition (on/off);
● Storage Node condition (on/off).
All data, except for the card number, can be changed by a transaction from the user’s side. The card number is set when creating an account. The module also allows you to create new accounts using a special transaction sent on behalf of an existing one.
Responsible for storing the following data set for each account: status, activity sign, referrer (inviter) and list of referrals (guests). Also, for optimization purposes, the module stores and maintains the following aggregated data: the number of delegated coins, the total number of coins in the structure and the number of active referrals, broken down by levels. They are used when checking an account for compliance with status criteria and in the algorithm compression.
If the account doesn’t meet the criteria of the current status, the module plans to downgrade the status after 86400 blocks (~ 1 month) and makes an appropriate note in the data block indicating the block number. If the user later restores compliance according with status criteria, the mark is removed and the status is not downgraded.
Compression — it is a process of “compression” of the structure of invited users because the user who invited them doesn’t pay a rate for 2 months. In this case, the entire structure is transferred one level up, and rewards are redistributed to higher-level accounts.
In addition, every 20160 blocks (~ 1 week) this module calculates leadership bonuses: 1% of the company turnover is divided between all accounts with the Businessman level and above, another 1% — between all accounts with the Professional level and above, and so on.
Responsible for the funds delegation and their withdrawal from the delegation, as well as the calculation and payment of reward to delegates.
At the beginning of each block, a reward is paid to those accounts which time since the last change in the stake is equal to 2880 blocks (~ 24 hours). The reward is credited to the balance of the main wallet. If a user delegates funds or withdraws them from the delegation, he immediately receives a reward for the past part of the day (proportionally), and the countdown of 2880 blocks for him starts over — this makes it easy and accurate to consider any changes in the balance of the delegation wallet.
If the user withdraws funds from the delegation, they are credited to the balance of the main wallet after 80640 blocks (~ 4weeks). During this time, they are not considered to be delegated, and no reward is charged for them.
The module is responsible for storing the current VPN traffic limit and the current consumed traffic. Direct accounting of traffic is carried out by the off-chain part, and its recording into the blockchain is carried out by special transactions from the service account.
The module is responsible for storing the currently available and already used storage space. Direct accounting of the amount of data is carried out by the off-chain part, and its recording into the blockchain is carried out by special transactions from the service account.
The module is responsible for changing the parameters of the blockchain. The decision to change must be taken by the governing body in accordance with the following procedure:
1. Any member of the voting council makes a proposal to change the blockchain parameter. Only one vote can be taken at a time.
2. The rest of the participants must accept or reject the offer within 2160 blocks (~ 1 day).
3. Voting ends when all participants have voted, or when the allocated time has run out. The proposal is considered accepted if at least 2/3 of the council members voted “in favour”. The initiator of the vote is considered to have voted “in favour”.
The following changes can be submitted to a voting:
● rate cost;
● amount of reward for delegation;
● the size of the referral reward for the delegation of coins by an invited participant;
● the size of the referral reward for paying the tariff by an invited participant;
● cost of 1 GB VPN rate beyond of what is already included in the rate;
● cost of 1 GB of storage beyond of what is already included in the rate;
● changes in the membership of the governing council;
● changes in the list of trusted validators (i.e. accounts that have the right to validate blocks regardless of the status and volume of delegated coins);
● changes in the list of service accounts:
— an account with rights to create new accounts for free;
— an account with rights to keep track of the traffic consumed by VPN users;
— an account with rights to keep track of the amount of storage consumed by users;
— an account with rights pay reward for providing resources for Artery VPN and Artery Storage;
— an account with rights to enter the current coin rate into the blockchain;
— transition to a new version of the blockchain (updating the program code).
Thus, by changing the amount of reward for delegation, the governing council can carry out “halving” and control the issuance of coins.
Responsible for storing the current cost of the base rate, the cost of Artery VPN rate and data in Artery Storage. Stores information about the activity of the base rate, ensures the payment of the rate, updates the rates and data limits every 86400 blocks (~ 30 days).
After 86400 blocks have passed since the last payment of the rate, the module checks the autopayment mark (see 3.3.2) and, if it is set, automatically tries to pay the tariff using the funds on the user’s main wallet. In case of failure (insufficient funds), the module does not make repeated attempts, the user will have to pay by himself.
Part of these funds goes to pay validators rewards, affiliate program rewards, leadership bonuses, etc. The rest are sent to special wallets, from which rewards are then paid for providing resources for Artery VPN and Artery Storage (see 3.3.9) : ⅓ to the Artery VPN wallet and ⅔ to the Artery Storage wallet.
If the user hasn’t paid for the rate longer then 86400 blocks (~ 1 month), the addition of new referrals is blocked until the payment is made
Responsible for paying reward for providing resources to ensure the operation of Artery VPN and Artery Storage services.
Payments are made from service wallets, to which only this module has access. Each of the services has its own wallet. Wallets are replenished with each payment of the rate (see 3.3.8), as well as when the user buys additional traffic or additional storage (in this case, the entire amount minus the validator’s commission is transferred to the corresponding wallet).
The payout process is launched by the off-chain block, which considers the amount of resources provided and distributes the reward between the participants accordingly, through a special transaction from the service account. Resources are accounted for for each service separately.
The payment is made every week, while ¼ of the balance of the Artery VPN and Artery Storage wallets is transferred to the users’ wallets in proportion to their contribution. ¾ remain on the balance sheet and are distributed next time. This model makes it possible to smooth out fluctuations caused by the fact that payments for access to services come from users unevenly in time.
Responsible for updating the list of validators, enabling and disabling user validation, collecting statistics on signed and skipped blocks.
126.96.36.199. Forming and updating the list of validators
At the stage of transaction processing (for more details about the stages of block generation, see 3.2), the module accumulates updates to the list of validators and then transfers them to Tendermint Core at the end of the block.
To validate blocks, you must have the Leader status or higher and keep at least 10,000 ARTR frozen on delegation (we consider both the user’s personal funds and funds delegated by his team). If a valid validator no longer meets these requirements, it is automatically removed from the list. Also, the user can be temporarily or permanently removed from the list due to the received fines (see .3.10.3). Of course, the user can independently enable and disable validation through special transactions.
The maximum number of simultaneously voting validators for a block is limited to 100 nodes, since too many simultaneous signatures complicate consensus and can significantly slow down block output. If the number of applicants exceeds this figure, validators are selected on a competitive basis according to the following criteria (in decreasing order of importance):
1. The number of skipped blocks (see 188.8.131.52) (the less, the better).
2. Weight (see 184.108.40.206) (the more the better).
3. The number of successfully signed blocks in a row (see 220.127.116.11) (the more, the better).
18.104.22.168. Weight (voting power)
When the validators vote for a new block, those of them whose teams have delegated 100,000 ARTR or more have 15 votes each, and the rest validators have only 10. Besides consensus, this also affects how often the validator will be able to propose new blocks (and receive a reward for them) — the dependence is directly proportional, the more votes, the more often blocks can be proposed.
22.214.171.124. Statistics and fines
The validator status imposes a great responsibility on the participant: the more stable the validating nodes work, the more stable the blockchain as a whole. The following parameters are used to determine the most stable nodes:
● number of skipped blocks;
● number of blocks successfully signed in a row.
Data on which of the validators participated in signing the block and who missed it. The module at the beginning of the next block (for more details about the stages of block generation, see 3.2) is received from Tendermint Core. If a block is skipped (due to poor Internet connection, insufficient power of the validating node, its unexpected disconnection, or for any other reason), the number of skipped blocks increases by 1, and the number of successfully signed blocks in a row is reset to zero. This worsens the validator’s rating and can lead to the fact that at the end of the block it will be removed from the list and another validator will take its place (see 126.96.36.199).
If a validator misses 2 blocks in a row, a jail is imposed on it — it is immediately removed from the list of validators and cannot return there for an hour. This measure is provided so that reliable nodes that unexpectedly encounter technical problems (power outages, etc.) can solve the problem before their rating is irreversibly damaged.
If Tendermint Core detects a double signing attempt for the first time (see https://docs.tendermint.com/master/spec/consensus/signing.html#double-signing), the validator receives a warning, and the second time he is removed from the list of validators for life.
188.8.131.52. Validators’ reward
At the beginning of each block, the module transfers the entire amount accumulated on the FeeCollector service wallet (on which the commission for all transfers and other operations is added) to the balance of the main wallet of the validator that offered the previous block.
Responsible for scheduling pending tasks. It doesn’t have its own user interface and is used exclusively by other modules. With its help, any module can schedule any action for a block with a certain height in the future. All scheduled tasks are performed at the beginning of the block (see section 3.2).
3.4. Blockchain Software Update
Artery Blockchain provides the ability to update your code. For this, the Cosmos SDK upgrade module is used.(see https://docs.cosmos.network/v0.39/modules/upgrade/).
When the update is complete, its source code is posted on GitHub in the repository https://github.com/arterynetwork/artr/. Executable files for various platforms are collected from this code and uploaded to https://artrnetwrk.com/en. Links to these files and their checksums are written into a JSON file of a special format, which is also uploaded there. After that, a vote is initiated to upgrade to this version (see 3.3.7). The change proposal includes a link to this JSON file and its checksum, as well as the block height at which this update is proposed to be made; all this information is entered into the blockchain. In case of a positive decision of the governing council, upon reaching the specified height, all nodes stop and display a message like “UPGRADE“ <version> ”NEEDED at <height>: <JSON link and checksum>” in accordance with the cosmosd Upgradeable Binary Specification (see https://github.com/regen-network/cosmosd#upgradeable-binary-specification).
To continue the work of the node, run a newer version of artrd, downloaded from the link from the specified file or compiled from sources. The Artery Node application downloads executable files, replaces them at the right time and launches a new version automatically. You can also use the Cosmos Upgrade Manager for these purposes. (see https://github.com/regen-network/cosmosd). Validators are advised to download executable files in advance in order to get back to work as soon as possible after the update and not to skip blocks.
4. Off-chain services
4.1. Artery VPN
The main purpose is to hide the source and destination of data when transmitted over public Internet networks. For this, encryption and forwarding of traffic between different network participants is used. In this case, the transmission route changes regularly. Due to the location of the project audience in different countries, tracking information is further complicated.
For Artery VPN to work, all nodes with an active service are entered into a special distributed table. Next, onion routing is used, similar to the TOR network: when establishing a connection, the sender selects a random number of intermediate nodes from this table and generates a message for each, encrypting them with a key and indicating for each node which will be next on the way. As a result, messages transmitted along the chain have a “layered” structure in which it is necessary to decrypt the outer layers in order to gain access to the original message. The established chain of nodes is used for two-way data transmission for some time, then it is rebuilt. The recipient of the request can send a response along the same chain without compromising the anonymity of each of the parties.
4.2. Artery Storage
It is a distributed file storage. The files are not stored as a whole, but as separate blocks.
Briefly, the storage operation algorithm can be described as follows:
When placing data:
1. the file breaks into pieces of different sizes;
2. for each part, several nodes are selected from the list of available ones;
3. each node receives a part of the file, supplemented with a random data set to complicate the selection of the key;
4. information about who the parts of the file are transferred to is stored in the blockchain in encrypted form;
5. each node also stores information about the stored part on its side (hash, size, retention period);
6. until the part is removed from the node, it is regularly rewarded for storage.
Upon their receipt:
1. information about stored files and their parts is obtained from the blockchain upon request;
2. information is decrypted;
3. the application communicates with random nodes that store the file and are online;
4. the parts are decrypted and assembled into a whole file.
4.3. Block Observer
The main goal at the initial stage is to provide blockchain participants with convenient access to information about current blocks, transactions and the state of wallets.
4.4. Wallet (Artery Network Application)
A mobile, desktop and web application designed to easily manage transactions within the blockchain, view the network structure, manage the user’s profile, access Artery VPN, Artery Storage and Artery Node.
Due to the fact that the information on Artery Blockchain and its API is publicly available, anyone can develop their own wallet application.