Skip to content

PyIncentiveBC is a Python implementation of "Rewards and Penalties" approaches used in Blockchain-based systems.

License

Notifications You must be signed in to change notification settings

ouaguid/pyIncentiveBC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github version License

PyIncentiveBC

PyIncentiveBC is a Python implementation of "Rewards and Penalties" approaches used in Blockchain-based systems.

Overview

PyIncentiveBC allows researchers and developers to simulate and compare different reward and penalty mechanisms in blockchain systems. It provides a flexible framework for evaluating the effectiveness of various incentivization approaches.

Quick Start

Getting Started for Beginners :

For users new to Python or blockchain technology, we recommend using PyIncentiveBC through CodeOcean, which requires no installation:

  1. Access CodeOcean

  2. Explore the Capsule

    • On the left side, you'll see a file browser showing the project structure
    • The main file we'll be working with is PyIncentiveBC_demo.ipynb
  3. Run the Simulation

    • Click on the "Reproducible Run" button at the top of the page
    • This will execute the default simulation using pre-set parameters
  4. View Results

    • After the simulation completes, you'll see the output displayed in the notebook
    • This includes graphs comparing different incentivization approaches

Congratulations! You've run your first PyIncentiveBC simulation. Remember, you can always come back to this capsule to run more simulations or explore the code further.

For Advanced Users :

For advanced users or those who prefer local installation, follow these steps:

  1. Clone the repository:

git clone https://github.com/ouaguid/pyIncentiveBC.git

  1. The package has been tested for Python 3.7.3. Required packages are available in requirements.txt. Install required packages:

pip install -r requirements.txt

  1. Run the example Jupyter notebook:

jupyter notebook PyIncentiveBC_demo.ipynb

Example

An example Jupyter notebook is available in PyIncentiveBC_demo.ipynb

CodeOcean capsule

To check this software running you can access the codeocean capsule via: https://codeocean.com/capsule/2547976/tree/v3

Citation

If you use PyIncentiveBC in your work, please cite the following publications:

Ouaguid, Abdellah, Mohamed Hanine, Zouhair Chiba, Noreddine Abghour, and Mohammed Ouzzif. 2024. "PyIncentiveBC: A Python Module for Simulation of Incentivization Mechanism Implemented in Blockchain-Based Systems" Computation 12, no. 9: 179. https://doi.org/10.3390/computation12090179

A. Ouaguid, N. Abghour, M. Ouzzif, Towards a new reward and punishment approach for blockchain-based system, in: 2019 International Conference on Systems of Collaboration Big Data, Internet of Things & Security (SysCoBIoTS), IEEE, 2019, pp. 1–7.

As BibTeX:

@Article{computation12090179,
AUTHOR = {Ouaguid, Abdellah and Hanine, Mohamed and Chiba, Zouhair and Abghour, Noreddine and Ouzzif, Mohammed},
TITLE = {PyIncentiveBC: A Python Module for Simulation of Incentivization Mechanism Implemented in Blockchain-Based Systems},
JOURNAL = {Computation},
VOLUME = {12},
YEAR = {2024},
NUMBER = {9},
ARTICLE-NUMBER = {179},
URL = {https://www.mdpi.com/2079-3197/12/9/179},
ISSN = {2079-3197},
DOI = {10.3390/computation12090179}
}

@inproceedings{ouaguid2019towards,
	title={Towards a New Reward and Punishment Approach for Blockchain-based System},
	author={Ouaguid, Abdellah and Abghour, Nourdine and Ouzzif, Mohamed},
	booktitle={2019 International Conference on Systems of Collaboration Big Data, Internet of Things \& Security (SysCoBIoTS)},
	pages={1--7},
	year={2019},
	organization={IEEE}
}

Support

If you encounter any issues or have questions, please open an issue on GitHub or contact us at [[email protected]].

References

  • Padmavathi, U.; Rajagopalan, N. Concept of blockchain technology and its emergence. InResearch Anthology on Convergence of Blockchain, Internet of Things, and Security; IGI global, 2023;pp. 21–36.
  • Pragasam, T.T.N.; Thomas, J.V.J.; Vensuslaus, M.A.; Radhakrishnan, S. CEAT: CategorisingEthereum Addresses’ Transaction Behaviour with Ensemble Machine Learning Algorithms.Computation 2023, 11, 156.
  • Bellaj, B.; Ouaddah, A.; Bertin, E.; Crespi, N.; Mezrioui, A.; Bellaj, K. BTrust: A New BlockchainBased Trust Management Protocol for Resource Sharing. Journal of Network and Systems Management 2022, 30, 64.
  • Ren, Y.S.; Ma, C.Q.; Chen, X.Q.; Lei, Y.T.; Wang, Y.R. Sustainable finance and blockchain: Asystematic review and research agenda. Research in International Business and Finance 2023, p.101871.
  • Zouina, M.; Outtai, B. Towards a distributed token based payment system using blockchaintechnology. In Proceedings of the 2019 International Conference on Advanced CommunicationTechnologies and Networking (CommNet). IEEE, 2019, pp. 1–10.
  • Yazdinejad, A.; Dehghantanha, A.; Parizi, R.M.; Srivastava, G.; Karimipour, H. Secure intelligentfuzzy blockchain framework: Effective threat detection in iot networks. Computers in Industry2023, 144, 103801.
  • Bobde, Y.; Narayanan, G.; Jati, M.; Raj, R.S.P.; Cviti´c, I.; Perakovi´c, D. Enhancing Industrial IoTNetwork Security through Blockchain Integration. Electronics 2024, 13, 687.
  • Al-Sumaidaee, G.; Alkhudary, R.; Zilic, Z.; Swidan, A. Performance analysis of a privateblockchain network built on Hyperledger Fabric for healthcare. Information Processing &Management 2023, 60, 103160.
  • Ouaguid, A.; Hanine, M.; Chiba, Z.; Abghour, N.; Ghazal, H. Analysis of Blockchain Integrationin the e-Healthcare Ecosystem. In Proceedings of the 2023 6th International Conference onAdvanced Communication Technologies and Networking (CommNet). IEEE, 2023, pp. 1–8.
  • Bidry, M.; Ouaguid, A.; Hanine, M. Enhancing E-Learning with Blockchain: Characteristics,Projects, and Emerging Trends. Future Internet 2023, 15, 293.
  • Ghorab, A.S.; Rasheed, R.S.; Salah, M.S.; AbuSamra, A.A. PalCert: A Blockchain-based Certificate Attestation and Verification System for HEIs in Palestine. In Information and CommunicationTechnology in Technical and Vocational Education and Training for Sustainable and Equal Opportunity:Business Governance and Digitalization of Business Education; Springer, 2024; pp. 123–139.
  • Hao, Y.; Helo, P.; Tsoniotis, N.; Toshev, R. Blockchain-Based Supply Chain System in AutomotiveIndustry forSmall-and Medium-Sized Manufacturing. In Blockchain Driven Supply Chains andEnterprise Information Systems; Springer, 2023; pp. 151–171.
  • Ouaguid, A.; Fathi, F.; Zouina, M.; Ouzzif, M.; Abghour, N. Androscanreg 2.0: Enhancement ofAndroid Applications Analysis in a Flexible Blockchain Environment. International Journal ofSoftware Innovation (IJSI) 2022, 10, 1–28.
  • Amallah, M.A.; Abghour, N.; Moussaid, K.; El Omri, A.; Rida, M. Review on Blockchain andAccess Control Systems. In Advances on Smart and Soft Computing: Proceedings of ICACIn 2021;Springer, 2021; pp. 235–246.
  • Lawrence, L.; Shreelekshmi, R. VECDSigL: Video integrity verification using elliptic curvedigital signature links. Software Impacts 2023, 15, 100474.
  • Abirou, M.; Abghour, N. A Review of Blockchain and the Benefits for Digital Marketing-RelatedApplications of Blockchain Integration. Advances on Smart and Soft Computing: Proceedings ofICACIn 2021 2022, pp. 355–365.
  • El Akrami, N.; Hanine, M.; Flores, E.S.; Aray, D.G.; Ashraf, I. Unleashing the Potential ofBlockchain and Machine Learning: Insights and Emerging Trends from Bibliometric Analysis.IEEE Access 2023.
  • Xiong, H.; Chen, M.; Wu, C.; Zhao, Y.; Yi, W. Research on Progress of Blockchain ConsensusAlgorithm: A Review on Recent Progress of Blockchain Consensus Algorithms. Future Internet2022, 14, 47.
  • King, S.; Nadal, S. Ppcoin: Peer-to-peer crypto-currency with proof-of-stake. self-published paper,August 2012, 19, 1.
  • Dziembowski, S.; Faust, S.; Kolmogorov, V.; Pietrzak, K. Proofs of space. In Proceedings of theAnnual Cryptology Conference. Springer, 2015, pp. 585–605.
  • Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decentralized business review 2008.
  • Abooleet, S.; Kinnett, S. A Systematic Review of Blockchain-based Loyalty Programs. Proceedingsof the 56th Hawaii International Conference on System Sciences 2023.
  • Chen, Y.; Mandler, T.; Meyer-Waarden, L. Three decades of research on loyalty programs: Aliterature review and future research agenda. Journal of Business Research 2021, 124, 179–197.
  • The Loyalty Report 2019, 2020. https://cdn2.hubspot.net/hubfs/352767/TLR%202019/Bond_US%20TLR19%20Exec%20Summary%20Launch%20Edition.pdf, visited 2024-06-20.
  • Bitcoin fee-to-reward ratio, explained, 2023. https://cointelegraph.com/explained/what-isbitcoins-fee-to-reward-ratio, visited 2024-06-20.
  • Ouaguid, A.; Abghour, N.; Ouzzif, M. Towards a new reward and punishment approach forblockchain-based system. In Proceedings of the 2019 International Conference on Systems ofCollaboration Big Data, Internet of Things & Security (SysCoBIoTS). IEEE, 2019, pp. 1–7.
  • Larimer, D. Delegated proof-of-stake (dpos). Bitshare whitepaper 2014, 81, 85.
  • Sompolinsky, Y.; Wyborski, S.; Zohar, A. PHANTOM GHOSTDAG: a scalable generalization ofNakamoto consensus: September 2, 2021. In Proceedings of the Proceedings of the 3rd ACMConference on Advances in Financial Technologies, 2021, pp. 57–70.
  • Slimcoin - A Peer-to-Peer Crypto-Currency with Proof-of-Burn - “Mining without Powerful Hardware”, 2014. https://github.com/slimcoin-project/slimcoin-project.github.io/raw/master/whitepaperSLM.pdf, visited 2020-02-22.
  • Gai, F.; Wang, B.; Deng, W.; Peng, W. Proof of reputation: A reputation-based consensus protocolfor peer-to-peer network. In Proceedings of the Database Systems for Advanced Applications:23rd International Conference, DASFAA 2018, Gold Coast, QLD, Australia, May 21-24, 2018,Proceedings, Part II 23. Springer, 2018, pp. 666–681.
  • Bentov, I.; Lee, C.; Mizrahi, A.; Rosenfeld, M. Proof of activity: Extending bitcoin’s proof ofwork via proof of stake [extended abstract] y. ACM SIGMETRICS Performance Evaluation Review2014, 42, 34–37.
  • Nguyen, D.C.; Ding, M.; Pham, Q.V.; Pathirana, P.N.; Le, L.B.; Seneviratne, A.; Li, J.; Niyato,D.; Poor, H.V. Federated learning meets blockchain in edge computing: Opportunities andchallenges. IEEE Internet of Things Journal 2021, 8, 12806–12825.
  • Matsunaga, T.; Zhang, Y.; Sasabe, M.; Kasahara, S. An Incentivization Mechanism with ValidatorVoting Profile in Proof-of-Stake-Based Blockchain. IEICE Transactions on Communications 2022,105, 228–239.
  • Xiao, Y.; Zhang, N.; Li, J.; Lou, W.; Hou, Y.T. Distributed consensus protocols and algorithms.Blockchain for Distributed Systems Security 2019, 25, 40.
  • Gervais, A.; Karame, G.O.; Wüst, K.; Glykantzis, V.; Ritzdorf, H.; Capkun, S. On the securityand performance of proof of work blockchains. In Proceedings of the Proceedings of the 2016ACM SIGSAC conference on computer and communications security, 2016, pp. 3–16.
  • Tripathi, A.K.; Jain, A.; Kumar, A.; Singh, S.; Shukla, B. Exploring consensus algorithms: Acomprehensive examination and comparative analysis. In Proceedings of the AIP ConferenceProceedings. AIP Publishing, 2024, Vol. 3168.
  • PROOF-OF-STAKE REWARDS AND PENALTIES, 2024. https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/rewards-and-penalties/, visited 2024-06-20.
  • Slashing Penalties - The Long Term Evolution of Proof of Stake (POS), 2021. https://novuminsights.com/post/slashing-penalties-the-long-term-evolution-of-proof-of-stakepos/, visited 2024-06-20.
  • McKinney, W.; et al. pandas: a foundational Python library for data analysis and statistics.Python for high performance and scientific computing 2011, 14, 1–9.
  • Van Der Walt, S.; Colbert, S.C.; Varoquaux, G. The NumPy array: a structure for efficientnumerical computation. Computing in science & engineering 2011, 13, 22–30.
  • Plotly Open Source Graphing Library for Python, 2023. https://plotly.com/python/, visited2024-06-20.
  • McKinney, W.; et al. Data structures for statistical computing in python. In Proceedings of theProceedings of the 9th Python in Science Conference. Austin, TX, 2010, Vol. 445, pp. 51–56.
  • PyIncentiveBC: A Python module for simulation of incentivization mechanism implemented inBlockchain-based Systems, 2024. https://codeocean.com/capsule/2547976/tree/v3, visited2024-06-20, https://doi.org/10.24433/CO.4994364.v3.
  • Blockchair, 2024. https://gz.blockchair.com/bitcoin/blocks/, visited 2024-08-11.
  • What is block health ?, 2024. https://mempool.space/docs/faq#what-is-block-health, visited2024-08-11.
  • Empty Block Report:A data driven analysis of the bitcoin empty block phenomenon, 2024.research.mempool.space/empty-block-report/, visited 2024-08-11.
  • Ouaguid, A. A Blockchain-Based Security Analysis Framework for Mobile Applications. PhDthesis, Hassan II University, Casablanca, Morocco, 2021. https://doi.org/10.5281/zenodo.8219291.
  • Xu, J.; Wang, C.; Jia, X. A Survey of Blockchain Consensus Protocols. ACM Comput. Surv. 2023.Just Accepted, https://doi.org/10.1145/3579845.
  • Dickson-Karn, N.M.; Orosz, S. Implementation of a Python Program to Simulate Sampling.Journal of Chemical Education 2021, 98, 3251–3257.
  • Stamenkovi´c, S.; Jovanovi´c, N.; Chakraborty, P. Evaluation of simulation systems suitable forteaching compiler construction courses. Computer Applications in Engineering Education 2020,28, 606–625.
  • PyIncentiveBC source code, 2024. https://github.com/ouaguid/pyIncentiveBC.
  • Clyburne-Sherin, A.; Fei, X.; Green, S.A. Computational reproducibility via containers in socialpsychology. Meta-Psychology 2019, 3.

About

PyIncentiveBC is a Python implementation of "Rewards and Penalties" approaches used in Blockchain-based systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published