A Computational Study on Fairness of the Tendermint Blockchain Protocol
Abstract
:1. Introduction
1.1. Contributions
- A fairness improvement for the Tendermint protocol;
- A computational analysis of the fairness in the Tendermint protocol.
1.2. Organization
2. Background
2.1. Practical Byzantine Fault Tolerance
2.2. Tendermint Protocol
3. Tendermint Default Model
3.1. Overall System Model
3.2. Fairness Model
Fairness: A rational agent finds a system (i.e., the blockchain network) G fair, if the total satisfaction of its expectations is above a certain degree , where .
3.3. Blockchain Model
3.4. Validator Model
Algorithm 1 The actions of a validator agent v for creation of the ith block | |
1: action prepropose() | 33: {z,} |
2: createBlock() | 34: endfor |
3: send(〈v,“prepropose”, 〉, ) | 35: return |
4: | 36: |
5: action propose() | 37: action createBlock() |
6: if (valid()) then | 38: selectTransactions() |
7: send(〈v,“propose”, 〉, ) | 39: createCoinbaseTxs() |
8: else | 40: createMerkleTree() |
9: send(〈v,“propose”, 〉, ) | 41: |
10: endif | 42: return |
11: | 43: |
12: action vote() | 44: action invest(a) |
13: if () then | 45: if () then |
14: send(〈v,“vote”, 〉, ) | 46: |
15: else | 47: |
16: send(〈v,“vote”, 〉, ) | 48: endif |
17: endif | 49: |
18: | 50: action withdraw(a) |
19: action commit() | 51: if () then |
20: if () then | 52: |
21: } | 53: |
22: else | 54: endif |
23: newRound() | 55: |
24: endif | 56: action handleMessage(m) |
25: | 57: switch (m) |
26: action createCoinbaseTxs() | 58: case: “” |
27: for each () do | 59: |
28: for each () do | 60: case: “” |
29: | 61: |
30: {d,} | 62: case: “” |
31: endfor | 63: |
32: | 64: endswitch |
3.5. Delegator Model
Algorithm 2 The actions of a delegator agent d | |
1: action invest() | 8: action withdraw() |
2: if () then | 9: if () then |
3: | 10: |
4: | 11: |
5: | 12: |
6: endif | 13: endif |
7: | 14: |
4. Tendermint Fairness Model
Algorithm 3 The actions of a validator agent v for creation of the ith block in the Fairness model | |
1: action commit() | 12: action createCoinbaseTxs() |
2: if () then | 13: for each () do |
3: } | 14: for each () do |
4: if () then | 15: |
5: send(〈v,"hascommit", 〉, ) | 16: {d,} |
6: endif | 17: endfor |
7: else | 18: |
8: newRound() | 19: {z,} |
9: endif | 20: endfor |
10: | 21: return |
11: | 22: |
5. Simulations
5.1. Simulation Experiments
- There are no Byzantines, i.e., there are no crashes or no erroneous messages.
- Each participant always plays the same role.
- The size of the committee is always 5.
- There are no fees for the transactions.
- All agents process the messages as soon as they receive them.
- The total block reward is 50.
- There is no message transmission delay in the network.
- The reliability of the network is 100%, i.e., every message is received by its receivers.
- Starting from the creation of the first block, each 30 ticks, the simulator calculates the overall fairness of the system and adds new validators depending on the overall fairness according to
- The initial balance for validators () is calculated using a normal distribution between 50 and 100.
- The initial balance for delegators () is calculated using a normal distribution between 25 and 75.
- The utility function of all agents is and for every agent n the threshold .
- .
- : investing all balance in stakes,
- : investing random amounts from balance in stakes,
- : investing random amount from their balance in one random validator at each new block.
5.2. Experimental Setup
6. Results and Discussion
6.1. Results
6.2. Discussion
- a non selected validator has a higher sum of balance and stakes than a selected one, but lower stakes at one height. Then, at a further height, this non-selected validator chooses to invest enough balance in stakes to have more assets than the selected one, hence being selected afterwards.
- delegators invest enough stakes in non selected validators rather than selected validators to reverse the process.
7. Related Work
- There is no mechanism for a user to cancel an already issued transaction, i.e., once it decides to engage in the game, it can never abandon it. This implies expected values going to minus infinity. In decision theory terms, this would mean assuming a user having an infinite interest on a transaction, which is in fact hard to assume in real settings.
- Given different fees with their associated probabilities, more flexibility to guarantee fairness would have been reached by allowing the user (experiencing a long waiting time) to resend the transaction with a lower fee. This flexibility, on the other hand, is not achieved in Bitcoin-like blockchain systems mainly due to two reasons: (1) there is no deterministic guarantee that the system chooses a given copy of the transaction, it is only guaranteed with high probability that only one copy will be inserted into the blockchain, and (2) the miner behavior favors the transaction with the highest fee to get included in a block.
- The block size is a fixed parameter today. Obviously, if the volume of transactions increases over time, the space left for more transactions can become a scarce resource, and miners will be more apt to deliberately delaying a transaction with a low fee. This will dramatically drop the probabilities for low fees and their corresponding expected values by time.
- Fees are decided by the users, leading to a possible race among user fees. Such a situation would make the probabilities difficult to predict, and expected values of users might drop even faster.
- The fairness is a locally perceived concept, and it must indeed be tracked. This needs further detection mechanisms not included in the current systems.
8. Conclusions and Future Work
Author Contributions
Funding
Conflicts of Interest
Abbreviations
PBFT | Practical Byzantine Fault Tolerance |
PoS | Proof-of-Stake |
MAX | Multi-Agent eXperimenter |
MaDKit | Multi-Agent Development Kit |
References
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: http://www.bitcoin.org/bitcoin.pdf (accessed on 29 November 2019).
- Wood, G. Ethereum: A Secure Decentralised Generalised Transaction Ledger. Available online: http://gavwood.com/Paper.pdf (accessed on 27 November 2019).
- Goodman, L.M. Tezos – s Self-Amending crypto-ledger. White Paper. 2014. Available online: https://tezos.com/static/white_paper-2dc8c02267a8fb86bd67a108199441bf.pdf (accessed on 29 November 2019).
- Buchman, E.; Kwon, J.; Milosevic, Z. The latest gossip on BFT consensus. arXiv 2018, arXiv:1807.04938. [Google Scholar]
- Androulaki, E.; Barger, A.; Bortnikov, V.; Cachin, C.; Christidis, K.; Caro, A.D.; Enyeart, D.; Ferris, C.; Laventman, G.; Manevich, Y.; et al. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains. arXiv 2018, arXiv:1801.10228. [Google Scholar]
- Back, A. Hashcash-A Denial of Service Counter-Measure. Technical Report. 2002. Available online: http://www.hashcash.org/papers/hashcash.pdf (accessed on 29 November 2019).
- Castro, M.; Liskov, B. Practical Byzantine Fault Tolerance. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, New Orleans, LA, USA, 22–25 February 1999; USENIX Association: Berkeley, CA, USA, 1999; pp. 173–186. [Google Scholar]
- Wang, W.; Hoang, D.T.; Hu, P.; Xiong, Z.; Niyato, D.; Wang, P.; Wen, Y.; Kim, D.I. A Survey on Consensus Mechanisms and Mining Strategy Management in Blockchain Networks. IEEE Access 2019, 7, 22328–22370. [Google Scholar] [CrossRef]
- Crain, T.; Gramoli, V.; Larrea, M.; Raynal, M. (Leader/Randomization/Signature)-Free Byzantine Consensus for Consortium Blockchains. Available online: http://csrg.redbellyblockchain.io/doc/ConsensusRedBellyBlockchain.pdf (accessed on 27 November 2019).
- Decker, C.; Seidel, J.; Wattenhofer, R. Bitcoin Meets Strong Consistency. In Proceedings of the 17th International Conference on Distributed Computing and Networking Conference (ICDCN), Singapore, 4–7 January 2016. [Google Scholar]
- Kokoris-Kogias, E.; Jovanovic, P.; Gailly, N.; Khoffi, I.; Gasser, L.; Ford, B. Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing. In Proceedings of the 25th USENIX Conference on Security Symposium, Austin, TX, USA, 10–12 August 2016; USENIX Association: Berkeley, CA, USA, 2016; pp. 279–296. [Google Scholar]
- Eyal, I.; Sirer, E.G. Majority is not enough: Bitcoin mining is vulnerable. In International Conference on Financial Cryptography and Data Security; Springer: Berlin, Germany, 2014; pp. 436–454. [Google Scholar]
- Lewenberg, Y.; Sompolinsky, Y.; Zohar, A. Inclusive block chain protocols. In International Conference on Financial Cryptography and Data Security; Springer: Berlin, Germany, 2015; pp. 528–547. [Google Scholar]
- Eyal, I. The miner’s dilemma. In Proceedings of the 2015 IEEE Symposium on Security and Privacy, San Jose, CA, USA, 17–21 May 2015; pp. 89–103. [Google Scholar]
- Sapirshtein, A.; Sompolinsky, Y.; Zohar, A. Optimal selfish mining strategies in bitcoin. In International Conference on Financial Cryptography and Data Security; Springer: Berlin, Germany, 2016; pp. 515–532. [Google Scholar]
- Eyal, I.; Gencer, A.E.; Sirer, E.G.; Van Renesse, R. Bitcoin-NG: A Scalable Blockchain Protocol. In Proceedings of the 13th USENIX Symposium on Networked Systems Design and Implementation, Santa Clara, CA, USA, 16–18 March 2016; pp. 45–59. [Google Scholar]
- Göbel, J.; Keeler, H.P.; Krzesinski, A.E.; Taylor, P.G. Bitcoin blockchain dynamics: The selfish-mine strategy in the presence of propagation delay. Perform. Eval. 2016, 104, 23–41. [Google Scholar] [CrossRef]
- Pass, R.; Shi, E. FruitChains: A Fair Blockchain. Cryptology ePrint Archive, Report 2016/916. 2016. Available online: http://eprint.iacr.org/2016/916.pdf (accessed on 27 November 2019).
- Carlsten, M.; Kalodner, H.; Weinberg, S.M.; Narayanan, A. On the instability of bitcoin without the block reward. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016; pp. 154–167. [Google Scholar]
- Liu, J.; Li, W.; Karame, G.O.; Asokan, N. Towards Fairness of Cryptocurrency Payments. arXiv 2016, arXiv:1609.07256. [Google Scholar] [CrossRef]
- Gürcan, Ö.; Del Pozzo, A.; Tucci-Piergiovanni, S. On the Bitcoin Limitations to Deliver Fairness to Users. In On the Move to Meaningful Internet Systems. OTM 2017 Conferences; Panetto, H., Debruyne, C., Gaaloul, W., Papazoglou, M., Paschke, A., Ardagna, C.A., Meersman, R., Eds.; Springer International Publishing: Cham, Switzerland, 2017; Volume 10573, pp. 589–606. [Google Scholar] [CrossRef]
- Gürcan, Ö.; Ranchal Pedrosa, A.; Tucci-Piergiovanni, S. On Cancellation of Transactions in Bitcoin-Like Blockchains. In On the Move to Meaningful Internet Systems. OTM 2018 Conferences; Panetto, H., Debruyne, C., Proper, H.A., Ardagna, C.A., Roman, D., Meersman, R., Eds.; Springer International Publishing: Cham, Switzerland, 2018; Volume 11229, pp. 516–533. [Google Scholar] [CrossRef]
- Gürcan, Ö. Multi-Agent Modelling of Fairness for Users and Miners in Blockchains. In Proceedings of the 2nd Workshop on Block Chain Technologies 4 Multi-Agent Systems (BCT4MAS), Co-Located with PAAMS 2019, Avila, Spain, 26–28 June 2019. [Google Scholar]
- Amoussou-Guenou, Y.; Del Pozzo, A.; Potop-Butucaru, M.; Tucci-Piergiovanni, S. Correctness and Fairness of Tendermint-Core Blockchains; Research Report; LIP6 UMR 7606; UPMC Sorbonne Universités: Paris, France, 2018. [Google Scholar]
- Kwon, J. Tendermint: Consensus without Mining; White Paper. 2014. Available online: https://pdfs.semanticscholar.org/df62/a45f50aac8890453b6991ea115e996c1646e.pdf (accessed on 29 November 2019).
- Russell, S.J.; Norvig, P. Artificial Intelligence: A Modern Approach, 3rd ed.; Prentice Hall Press: Upper Saddle River, NJ, USA, 2009. [Google Scholar]
- Merkle, R.C. A Digital Signature Based on a Conventional Encryption Function. In Advances in Cryptology—CRYPTO ’87: Proceedings; Pomerance, C., Ed.; Springer: Berlin/Heidelberg, Germany, 1988; pp. 369–378. [Google Scholar] [CrossRef]
- Gutknecht, O.; Ferber, J. The MadKit Agent Platform Architecture. In Workshop on Infrastructure for Scalable Multi-Agent Systems at the International Conference on Autonomous Agents; Springer: Berlin/Heidelberg, Germany, 2000; Volume 1887. [Google Scholar] [CrossRef]
- Pass, R.; Shi, E. FruitChains: A Fair Blockchain. In Proceedings of the ACM Symposium on Principles of Distributed Computing, Washington, DC, USA, 25–27 July 2017; ACM Press: New York, NY, USA, 2017; pp. 315–324. [Google Scholar] [CrossRef]
- Herlihy, M.; Moir, M. Enhancing accountability and trust in distributed ledgers. arXiv 2016, arXiv:1606.07490. [Google Scholar]
- Snow, P.; Deery, B.; Kirby, P.; Johnston, D. Factom Ledger by Consensus. 2015. Available online: https://factomize.com/uploads/FactomLedgerbyConsensus.pdf (accessed on 29 November 2019).
- Kosba, A.; Miller, A.; Shi, E.; Wen, Z.; Papamanthou, C. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts. In Proceedings of the 2016 IEEE symposium on security and privacy (SP), San Jose, CA, USA, 22–26 May 2016; pp. 839–858. [Google Scholar]
- Zyskind, G.; Nathan, O.; Pentland, A. Enigma: Decentralized computation platform with guaranteed privacy. arXiv 2015, arXiv:1506.03471. [Google Scholar]
- Jalalzai, M.M.; Richard, G.; Busch, C. An Experimental Evaluation of BFT Protocols for Blockchains. In Blockchain—ICBC 2019; Joshi, J., Nepal, S., Zhang, Q., Zhang, L.J., Eds.; Springer International Publishing: Cham, Switzerland, 2019; pp. 34–48. [Google Scholar]
Experiment # | Model | Validator Strategy | Initial # Validators | Initial # Delegators |
---|---|---|---|---|
Ex 1 | Default | 10 | 0 | |
Ex 2 | Default | 10 | 5 | |
Ex 3 | Default | 10 | 0 | |
Ex 4 | Default | 10 | 5 | |
Ex 5 | Fairness | 10 | 0 | |
Ex 6 | Fairness | 10 | 5 | |
Ex 7 | Fairness | 10 | 0 | |
Ex 8 | Fairness | 10 | 5 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Lagaillardie, N.; Djari, M.A.; Gürcan, Ö. A Computational Study on Fairness of the Tendermint Blockchain Protocol. Information 2019, 10, 378. https://doi.org/10.3390/info10120378
Lagaillardie N, Djari MA, Gürcan Ö. A Computational Study on Fairness of the Tendermint Blockchain Protocol. Information. 2019; 10(12):378. https://doi.org/10.3390/info10120378
Chicago/Turabian StyleLagaillardie, Nicolas, Mohamed Aimen Djari, and Önder Gürcan. 2019. "A Computational Study on Fairness of the Tendermint Blockchain Protocol" Information 10, no. 12: 378. https://doi.org/10.3390/info10120378
APA StyleLagaillardie, N., Djari, M. A., & Gürcan, Ö. (2019). A Computational Study on Fairness of the Tendermint Blockchain Protocol. Information, 10(12), 378. https://doi.org/10.3390/info10120378