Replies: 8 comments 1 reply
-
Wow great innovation team Aleo 🫶 |
Beta Was this translation helpful? Give feedback.
1 reply
-
good job |
Beta Was this translation helpful? Give feedback.
0 replies
-
great use of staking aleo |
Beta Was this translation helpful? Give feedback.
0 replies
-
Nice
…On Wed, 24 Apr 2024, 16:20 lawrence olayiwola, ***@***.***> wrote:
good to be part of this
—
Reply to this email directly, view it on GitHub
<#52 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BGLI5YASIYNWJTRT7AW6R2DY67ESLAVCNFSM6AAAAAA7RQO25SVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TEMJVGA2DA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
arc: ARC-0038
title: Proposed Commission Rate for Staking: Ensuring Fair Compensation for Delegated Stakeholders
authors: OzielLa
topic: Protocol
status: Draft
created: 11/19/2023
Abstract
Validators contribute to the security of the network by verifying and confirming transactions, as well as monitoring and preventing malicious behavior. In return for their contributions, stakers receive rewards or earnings. Throughout this process, validators incur costs and must ensure the stability of their services and the network. To account for these expenses, it is proposed to set a commission rate for delegated staking.
The commission rate would serve as compensation to validators for their costs and as an incentive for their services. This rate would represent a portion of the rewards or earnings that validators receive from delegated stakers. The specific value of the commission rate can be determined based on the network's requirements and economic model. When setting the commission rate, the following factors should be considered:
The final commission rate should strike a balance, incentivizing validator participation and the provision of stable services, while providing fair returns to delegated stakers. Determining the commission rate may require community or consensus-based discussions and decision-making processes to ensure the sustainability and fairness of the network.
Specification
credits.aleo/struct committee_state
credits.aleo/struct bond_state
credits.aleo/finalize bond_public:
credits.aleo/finalize unbond_public
credits.aleo/finalize unbond_delegator_as_validator
credits.aleo/finalize set_validator_state
credits.aleo/finalize set_validator_commission
synthesizer/src/vm/helpers/rewards.rs
Test Cases
Build & Run
Validators
Create Test Address
snarkos account new
address for validator
validator1
Private Key APrivateKey1zkp7XpQVgvYU5BvJWz5r1RMLVDW2sFdeeKmNeZ7b2rXCfAv
View Key AViewKey1fMWPM14rPbkSWRJMTaWexGGyjynjyNFSCemHoRx5UoWY
Address aleo1mvnqajapz7pfk4gzu6feptyukdtvx9tgguwu78pc627u727vwyyqk7z893
validator2
Private Key APrivateKey1zkpGA2HBjpAoGaqUwPt6tGyN4qsnGBCLtwd1Qsy6wP1m1sJ
View Key AViewKey1e8wHruBhgTpL3rCfCmWPG2kVX5fTUfqSRdHUo4URrELP
Address aleo1dhu8eqmw9c3r6epca9p3ypshek5whmccz3kesyj5uy2jkyu7cuyq0qdfpc
address for delegator
delegator1
Private Key APrivateKey1zkpHZfW4B35P69CbqJx1URWPnNZgE9yyN9XTUFrTBzbQV6c
View Key AViewKey1tGkGsWVT8vht9s1YLvBcpV7cXZuHSDYbGSLGyEczqW8h
Address aleo1nkn799uj6v6d2dsv7xjp05swkw8dg44c62e28mptdxz9lkyunszsx7tmcv
delegator2
Private Key APrivateKey1zkp8aDjEp9f7vgCy58BHateQnSXmna7Gs1TC139t8GVsRiu
View Key AViewKey1iZ4FDms57Rjqqc1d7vXtA3sQMgG8kSRzyUp7bn9W29ao
Address aleo1zmz7wqhv4zad0j0ll6fl7z4ev9tpw4ycup2t74l9m7dl9tjxdsgqd9g6gw
delegator3
Private Key APrivateKey1zkp2fAhJBwVHgaXriFtdh1WNA2cx5F4NjBhX2w8nuyN2Fr8
View Key AViewKey1nqv9AFdjXSp5FSmTdto3Y5WUHSonrDKmRf4K5GUpHzJK
Address aleo13stxlgsae3qrr4exepj0zcx8dlq4qmyfzz8kc6t6uczseh5df5fqy3zmn3
Transfer_public 200w
snarkos developer execute "credits.aleo" transfer_public "aleo1mvnqajapz7pfk4gzu6feptyukdtvx9tgguwu78pc627u727vwyyqk7z893" 2000000000000u64 --private-key "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
snarkos developer execute "credits.aleo" transfer_public "aleo1dhu8eqmw9c3r6epca9p3ypshek5whmccz3kesyj5uy2jkyu7cuyq0qdfpc" 2000000000000u64 --private-key "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
snarkos developer execute "credits.aleo" transfer_public "aleo1nkn799uj6v6d2dsv7xjp05swkw8dg44c62e28mptdxz9lkyunszsx7tmcv" 2000000000000u64 --private-key "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
snarkos developer execute "credits.aleo" transfer_public "aleo1zmz7wqhv4zad0j0ll6fl7z4ev9tpw4ycup2t74l9m7dl9tjxdsgqd9g6gw" 2000000000000u64 --private-key "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
snarkos developer execute "credits.aleo" transfer_public "aleo13stxlgsae3qrr4exepj0zcx8dlq4qmyfzz8kc6t6uczseh5df5fqy3zmn3" 2000000000000u64 --private-key "APrivateKey1zkp8CZNn3yeCseEtxuVPbDCwSyhGW6yZKUYKfgXmcpoGPWH" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Validator bond
validator1 bond
snarkos developer execute "credits.aleo" bond_public "aleo1mvnqajapz7pfk4gzu6feptyukdtvx9tgguwu78pc627u727vwyyqk7z893" 1000000000000u64 --private-key "APrivateKey1zkp7XpQVgvYU5BvJWz5r1RMLVDW2sFdeeKmNeZ7b2rXCfAv" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Validator2 bond
snarkos developer execute "credits.aleo" bond_public "aleo1dhu8eqmw9c3r6epca9p3ypshek5whmccz3kesyj5uy2jkyu7cuyq0qdfpc" 1000000000000u64 --private-key "APrivateKey1zkpGA2HBjpAoGaqUwPt6tGyN4qsnGBCLtwd1Qsy6wP1m1sJ" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Set commission
validator1 commission set 100u8
snarkos developer execute "credits.aleo" set_validator_commission 100u8 --private-key "APrivateKey1zkp7XpQVgvYU5BvJWz5r1RMLVDW2sFdeeKmNeZ7b2rXCfAv" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
validator2 commission set 50u8
snarkos developer execute "credits.aleo" set_validator_commission 50u8 --private-key "APrivateKey1zkpGA2HBjpAoGaqUwPt6tGyN4qsnGBCLtwd1Qsy6wP1m1sJ" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Delegator bond
delegator1 bond 100w to validator1
snarkos developer execute "credits.aleo" bond_public "aleo1mvnqajapz7pfk4gzu6feptyukdtvx9tgguwu78pc627u727vwyyqk7z893" 1000000000000u64 --private-key "APrivateKey1zkpHZfW4B35P69CbqJx1URWPnNZgE9yyN9XTUFrTBzbQV6c" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
delegator2 bond 100w to validator2
snarkos developer execute "credits.aleo" bond_public "aleo1dhu8eqmw9c3r6epca9p3ypshek5whmccz3kesyj5uy2jkyu7cuyq0qdfpc" 1000000000000u64 --private-key "APrivateKey1zkp8aDjEp9f7vgCy58BHateQnSXmna7Gs1TC139t8GVsRiu" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Result
Updata commission
validator2 updata 100 to 30
snarkos developer execute "credits.aleo" set_validator_commission 30u8 --private-key "APrivateKey1zkp7XpQVgvYU5BvJWz5r1RMLVDW2sFdeeKmNeZ7b2rXCfAv" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
delegator bond 100w to validator1
snarkos developer execute "credits.aleo" bond_public "aleo1mvnqajapz7pfk4gzu6feptyukdtvx9tgguwu78pc627u727vwyyqk7z893" 1000000000000u64 --private-key "APrivateKey1zkp2fAhJBwVHgaXriFtdh1WNA2cx5F4NjBhX2w8nuyN2Fr8" --query "http://127.0.0.1:3033" --broadcast "http://127.0.0.1:3033/testnet3/transaction/broadcast" --priority-fee 1000000
Result
Reference Implementations
Dependencies
Backwards Compatibility
Security & Compliance
References
Beta Was this translation helpful? Give feedback.
All reactions