From 462ebce446f499d7c637fd61f413680ad3fa6ffc Mon Sep 17 00:00:00 2001 From: Zaki Manian Date: Sat, 5 Jan 2019 19:44:27 -0800 Subject: [PATCH 01/13] Added Minimium fee spec --- docs/spec/auth/README.md | 1 + docs/spec/auth/min_fee.md | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 docs/spec/auth/min_fee.md diff --git a/docs/spec/auth/README.md b/docs/spec/auth/README.md index 6db6db226c06..4863515123ca 100644 --- a/docs/spec/auth/README.md +++ b/docs/spec/auth/README.md @@ -27,3 +27,4 @@ This module will be used in the Cosmos Hub. 1. [AccountKeeper](keepers.md#account-keeper) 1. **[Handlers](handlers.md)** 1. [Ante Handler](handlers.md#ante-handler) +1. **[Minimum_fees](min_fee.md)** \ No newline at end of file diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md new file mode 100644 index 000000000000..4db586eac5eb --- /dev/null +++ b/docs/spec/auth/min_fee.md @@ -0,0 +1,15 @@ +# Minimum Fees specifications + +Fees serve two purposes for the operator the network. + +Fees rate limit the growth of the state in stored by every full node.and the allow for a general purpose for censorship of transactions that consume resources while being of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and idenities of users + +Node operators should set minimum fees and unit costs of gas in each token denomination they wish to support like. + +`--minimum=1steak,5photinos --gas_unit_cost=2steak,4photinos` + +When adding transactions to mempool or gossipping transactions, the transactions fee should be check to see if the provided fee equals or exceeds any of the min fee demoninations provided in the configurations. + +Tendermint does not currently provide fee based mempool prioritization and fee based mempool filtering is local to node and not part of consensus. + +Because the market value for tokens will fluctuate, validators are expected to dynamically adjust the min_fees to a level the encourage use of the network. From 4799d096e7504ebe504684e0bc90ae49cd1db2c8 Mon Sep 17 00:00:00 2001 From: Alexander Bezobchuk Date: Sun, 6 Jan 2019 12:12:57 -0800 Subject: [PATCH 02/13] Update docs/spec/auth/README.md Co-Authored-By: zmanian --- docs/spec/auth/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/README.md b/docs/spec/auth/README.md index 4863515123ca..702a2f664474 100644 --- a/docs/spec/auth/README.md +++ b/docs/spec/auth/README.md @@ -27,4 +27,4 @@ This module will be used in the Cosmos Hub. 1. [AccountKeeper](keepers.md#account-keeper) 1. **[Handlers](handlers.md)** 1. [Ante Handler](handlers.md#ante-handler) -1. **[Minimum_fees](min_fee.md)** \ No newline at end of file +1. **[Minimum Fees](min_fee.md)** From 148edc915d506a2dde78c8c82173101a5d7a7069 Mon Sep 17 00:00:00 2001 From: Alexander Bezobchuk Date: Sun, 6 Jan 2019 20:25:26 -0800 Subject: [PATCH 03/13] Update docs/spec/auth/min_fee.md Co-Authored-By: zmanian --- docs/spec/auth/min_fee.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md index 4db586eac5eb..b97ec1aa2ae8 100644 --- a/docs/spec/auth/min_fee.md +++ b/docs/spec/auth/min_fee.md @@ -1,6 +1,6 @@ # Minimum Fees specifications -Fees serve two purposes for the operator the network. +Fees serve two purposes for an operator of the network. Fees rate limit the growth of the state in stored by every full node.and the allow for a general purpose for censorship of transactions that consume resources while being of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and idenities of users From 153725c999630b24fed4aa50dbcedfc0c77ce134 Mon Sep 17 00:00:00 2001 From: Zaki Manian Date: Sun, 6 Jan 2019 21:08:26 -0800 Subject: [PATCH 04/13] Grammar fixes --- docs/spec/auth/min_fee.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md index 4db586eac5eb..9167372a5d42 100644 --- a/docs/spec/auth/min_fee.md +++ b/docs/spec/auth/min_fee.md @@ -2,11 +2,11 @@ Fees serve two purposes for the operator the network. -Fees rate limit the growth of the state in stored by every full node.and the allow for a general purpose for censorship of transactions that consume resources while being of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and idenities of users +Fees limit the growth of the state stored by every full node.and the allows for a general purpose for censorship of transactions of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and idenities of users. Node operators should set minimum fees and unit costs of gas in each token denomination they wish to support like. -`--minimum=1steak,5photinos --gas_unit_cost=2steak,4photinos` +`--minimum-fees=1steak,5photinos --gas_unit_cost=0.0001` When adding transactions to mempool or gossipping transactions, the transactions fee should be check to see if the provided fee equals or exceeds any of the min fee demoninations provided in the configurations. From e885c4167ef3ab612fae38a9a901106de51893e8 Mon Sep 17 00:00:00 2001 From: Alexander Bezobchuk Date: Mon, 7 Jan 2019 11:32:15 -0800 Subject: [PATCH 05/13] Update docs/spec/auth/min_fee.md Co-Authored-By: zmanian --- docs/spec/auth/min_fee.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md index 912b825dfc60..b9479c77f133 100644 --- a/docs/spec/auth/min_fee.md +++ b/docs/spec/auth/min_fee.md @@ -2,7 +2,7 @@ Fees serve two purposes for an operator of the network. -Fees limit the growth of the state stored by every full node.and the allows for a general purpose for censorship of transactions of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and idenities of users. +Fees limit the growth of the state stored by every full node and the allows for a general purpose for censorship of transactions of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and identities of users. Node operators should set minimum fees and unit costs of gas in each token denomination they wish to support like. From c533f072df81509b625f7e22a42948fbad6b62ed Mon Sep 17 00:00:00 2001 From: Jack Zampolin Date: Mon, 7 Jan 2019 12:37:56 -0800 Subject: [PATCH 06/13] Update docs/spec/auth/min_fee.md Co-Authored-By: zmanian --- docs/spec/auth/min_fee.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md index b9479c77f133..dc408917c3fd 100644 --- a/docs/spec/auth/min_fee.md +++ b/docs/spec/auth/min_fee.md @@ -4,7 +4,7 @@ Fees serve two purposes for an operator of the network. Fees limit the growth of the state stored by every full node and the allows for a general purpose for censorship of transactions of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and identities of users. -Node operators should set minimum fees and unit costs of gas in each token denomination they wish to support like. +Operators should set minimum fees when starting their nodes. They will set the unit costs of gas in each token denomination they wish to support: `--minimum-fees=1steak,5photinos --gas_unit_cost=0.0001` From bce533f98a3e90df7401377e2627c81269595104 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Fri, 11 Jan 2019 10:11:26 -0500 Subject: [PATCH 07/13] update docs to reflect new configuration & mechanism --- docs/spec/auth/README.md | 12 ++++++------ docs/spec/auth/gas_fees.md | 28 ++++++++++++++++++++++++++++ docs/spec/auth/min_fee.md | 15 --------------- 3 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 docs/spec/auth/gas_fees.md delete mode 100644 docs/spec/auth/min_fee.md diff --git a/docs/spec/auth/README.md b/docs/spec/auth/README.md index 702a2f664474..be6647a801e9 100644 --- a/docs/spec/auth/README.md +++ b/docs/spec/auth/README.md @@ -16,15 +16,15 @@ This module will be used in the Cosmos Hub. 1. **[State](state.md)** 1. [Accounts](state.md#accounts) 1. [Account Interface](state.md#account-interface) - 1. [Base Account](state.md#baseaccount) - 1. [Vesting Account](state.md#vestingaccount) + 2. [Base Account](state.md#baseaccount) + 3. [Vesting Account](state.md#vestingaccount) 1. **[Types](types.md)** 1. [StdFee](types.md#stdfee) - 1. [StdSignature](types.md#stdsignature) - 1. [StdTx](types.md#stdtx) - 1. [StdSignDoc](types.md#stdsigndoc) + 2. [StdSignature](types.md#stdsignature) + 3. [StdTx](types.md#stdtx) + 4. [StdSignDoc](types.md#stdsigndoc) 1. **[Keepers](keepers.md)** 1. [AccountKeeper](keepers.md#account-keeper) 1. **[Handlers](handlers.md)** 1. [Ante Handler](handlers.md#ante-handler) -1. **[Minimum Fees](min_fee.md)** +1. **[Gas & Fees](gas_fees.md)** diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md new file mode 100644 index 000000000000..0e34066caca2 --- /dev/null +++ b/docs/spec/auth/gas_fees.md @@ -0,0 +1,28 @@ +# Gas & Fees + +Fees serve two purposes for an operator of the network. + +Fees limit the growth of the state stored by every full node and it allows for +a general purpose for censorship of transactions of little economic value. Fees +are best suited as an anti-spam mechanism where validators are disinterested in +the use of the network and identities of users. + +Fees are determined by the gas limits and gas prices transactions provide. +Operators should set minimum gas prices when starting their nodes. They will set +the unit costs of gas in each token denomination they wish to support: + +`gaiad start ... --minimum-gas_prices=1steak,5photinos` + +When adding transactions to mempool or gossipping transactions, validators check +if the transaction's gas prices, which are determined by the provided fees, meet +any of the validator's minimum gas prices. In other words, a transaction must +provide a fee of at least one denomination that matches a validator's minimum +gas price. + +Tendermint does not currently provide fee based mempool prioritization and fee +based mempool filtering is local to node and not part of consensus. But with +minimum gas prices set, such a mechanism is possible. + +Because the market value for tokens will fluctuate, validators are expected to +dynamically adjust their minimum gas prices to a level that would encourage the +use of the network. diff --git a/docs/spec/auth/min_fee.md b/docs/spec/auth/min_fee.md deleted file mode 100644 index dc408917c3fd..000000000000 --- a/docs/spec/auth/min_fee.md +++ /dev/null @@ -1,15 +0,0 @@ -# Minimum Fees specifications - -Fees serve two purposes for an operator of the network. - -Fees limit the growth of the state stored by every full node and the allows for a general purpose for censorship of transactions of little economic value. Fees are best suited as an antispam mechanism where validators are disinterested in the use of the network and identities of users. - -Operators should set minimum fees when starting their nodes. They will set the unit costs of gas in each token denomination they wish to support: - -`--minimum-fees=1steak,5photinos --gas_unit_cost=0.0001` - -When adding transactions to mempool or gossipping transactions, the transactions fee should be check to see if the provided fee equals or exceeds any of the min fee demoninations provided in the configurations. - -Tendermint does not currently provide fee based mempool prioritization and fee based mempool filtering is local to node and not part of consensus. - -Because the market value for tokens will fluctuate, validators are expected to dynamically adjust the min_fees to a level the encourage use of the network. From 6594a72a217e157cda25fd44eebb12cbba4622e2 Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 14 Jan 2019 06:33:37 -0800 Subject: [PATCH 08/13] Update docs/spec/auth/gas_fees.md Co-Authored-By: zmanian --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index 0e34066caca2..a7acf11b8b30 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -3,7 +3,7 @@ Fees serve two purposes for an operator of the network. Fees limit the growth of the state stored by every full node and it allows for -a general purpose for censorship of transactions of little economic value. Fees +general purpose censorship of transactions of little economic value. Fees are best suited as an anti-spam mechanism where validators are disinterested in the use of the network and identities of users. From b05a6812723cbc2a03f58bcad901dcb082acbb9f Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 14 Jan 2019 06:33:47 -0800 Subject: [PATCH 09/13] Update docs/spec/auth/gas_fees.md Co-Authored-By: zmanian --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index a7acf11b8b30..ce8c10394c96 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -21,7 +21,7 @@ gas price. Tendermint does not currently provide fee based mempool prioritization and fee based mempool filtering is local to node and not part of consensus. But with -minimum gas prices set, such a mechanism is possible. +minimum gas prices set, such a mechanism could be implemented by node operators. Because the market value for tokens will fluctuate, validators are expected to dynamically adjust their minimum gas prices to a level that would encourage the From d30c117c4d6f17bba7033baf06afd9452b067d2f Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 14 Jan 2019 06:34:02 -0800 Subject: [PATCH 10/13] Update docs/spec/auth/gas_fees.md Co-Authored-By: zmanian --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index ce8c10394c96..59de28cf3688 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -19,7 +19,7 @@ any of the validator's minimum gas prices. In other words, a transaction must provide a fee of at least one denomination that matches a validator's minimum gas price. -Tendermint does not currently provide fee based mempool prioritization and fee +Tendermint does not currently provide fee based mempool prioritization, and fee based mempool filtering is local to node and not part of consensus. But with minimum gas prices set, such a mechanism could be implemented by node operators. From 5f4237f1b794c09d653c85bc44cddd9126b5df40 Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 14 Jan 2019 06:34:10 -0800 Subject: [PATCH 11/13] Update docs/spec/auth/gas_fees.md Co-Authored-By: zmanian --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index 59de28cf3688..8cbd457728b1 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -2,7 +2,7 @@ Fees serve two purposes for an operator of the network. -Fees limit the growth of the state stored by every full node and it allows for +Fees limit the growth of the state stored by every full node and allow for general purpose censorship of transactions of little economic value. Fees are best suited as an anti-spam mechanism where validators are disinterested in the use of the network and identities of users. From 8a2af378d1549eb9ed2844b2e073e2c39fa123bc Mon Sep 17 00:00:00 2001 From: Christopher Goes Date: Mon, 14 Jan 2019 06:41:33 -0800 Subject: [PATCH 12/13] Update docs/spec/auth/gas_fees.md Co-Authored-By: zmanian --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index 8cbd457728b1..810fc6f3971f 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -8,7 +8,7 @@ are best suited as an anti-spam mechanism where validators are disinterested in the use of the network and identities of users. Fees are determined by the gas limits and gas prices transactions provide. -Operators should set minimum gas prices when starting their nodes. They will set +Operators should set minimum gas prices when starting their nodes. They must set the unit costs of gas in each token denomination they wish to support: `gaiad start ... --minimum-gas_prices=1steak,5photinos` From 31a825290c42db5389d46b77c82343f107d7f077 Mon Sep 17 00:00:00 2001 From: Alexander Bezobchuk Date: Thu, 24 Jan 2019 10:14:54 -0500 Subject: [PATCH 13/13] Update gas_fees.md --- docs/spec/auth/gas_fees.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/spec/auth/gas_fees.md b/docs/spec/auth/gas_fees.md index 810fc6f3971f..fbe21039461a 100644 --- a/docs/spec/auth/gas_fees.md +++ b/docs/spec/auth/gas_fees.md @@ -11,7 +11,7 @@ Fees are determined by the gas limits and gas prices transactions provide. Operators should set minimum gas prices when starting their nodes. They must set the unit costs of gas in each token denomination they wish to support: -`gaiad start ... --minimum-gas_prices=1steak,5photinos` +`gaiad start ... --minimum-gas-prices=0.00001steak,0.05photinos` When adding transactions to mempool or gossipping transactions, validators check if the transaction's gas prices, which are determined by the provided fees, meet