ReadMe ======================================================================= ****TrustSim: A Decentralized Reputation and Trust Model Simulator***** ======================================================================= Authors: S. Venkatesan, Sandeep Kumar Shukla and Yuvaraj Rajendra +---------------------------------------------------------------------+ |This work is sponsored by the Department of Science and Technology, | |Ministry of Science and Technology, Government of India under the | |Cyber Security (CS) Research of Interdisciplinary Cyber Physical | |Systems (ICPS) project titled Development of Secure IoT Communication| |using the Blockchain Technology. | +---------------------------------------------------------------------+ 0.Requirement ------------- The tool is written using the Golang and the Linux system should have golang installed. 1.Files: ------- mainprogram.go ----> Includes the code for node activities initialize/initialize.go ----> Includes the code for initializing various attributes like node personalization,neighbors, etc. variables/variables.go ----> Includes the declaration of various parameters enduser/user.go ----> Includes the code for decision making based on model. run.sh ----> Shell script to set the golang path and run the tool. 2. Execution ------------ To run the tool, do the following $unzip simulator.zip $cd simulator $bash run.sh 3. Output Interpretation ----------------------- a) For every trust and reputation model, it displays the metric results b) In case of rounds, the outputs will be separated with a Round Change Message 4. Modification Required ------------------------ a) Set the variables in variables.go as per your requirement. b) No change required for initialize.go c) No change required for mainprogram.go d) Add your trust and reputation model golang code in the user.go file. Update only the required function and accordingly increase the count of 'tmodel' by one. 5. Files created while execution -------------------------------- The neighbor list will be available in the txt files a)initgraph.txt - The neighbors of each node after initialization. b)graphsession0.txt - The neighbors after the completion of the first round. c)graphsession1.txt - The neighbors after the completion of the second round. d)graphsessionfinal.txt - The neighbors after the completion of all rounds. 6. Understanding of different attributes ---------------------------------------- Refer Annexure 7. More about the Tool ---------------------- Refer TrustSim paper from The Fourth International Conference on Blockchain Computing and Applications (BCCA 2022) 8. Implemented Trust Models in the Tool ------------------------------------ a) Jaya Singh, Ayush Sinha, Priyanka Goli, Venkatesan Subramanian, Sandeep Kumar Shukla and Om Prakash Vyas (2021), "Insider Attack Mitigation in a Smart Metering Infrastructure using Reputation Score and Blockchain Technology", International Journal of Information Security, Springer. b) Venkatesan Subramanian, Yuvaraj Rajendra, Shubham Sahai and Sandeep Kumar Shukla (2020), "Decentralized Device Authentication Model Using the Trust Score and Blockchain Technology for Dynamic Networks' published in the proceedings of the 3rd IEEE Blockchain Conference, Greece. [Online] c) None Model that is no trust or reputation used in taking decisions 9. Contact ---------- venkat@iiita.ac.in