{'fraction_non_alphanumeric': 0.013872135102533172, 'fraction_numerical': 0.0018094089264173703, 'mean_word_length': 5.583333333333333, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Graph Model Based Blockchain Implementation for Increasing Performance and Security in Decentralized Ledger Systems

Blockchains are being recently used as a supporting technology framework for decentralized applications requiring functionalities such as exchange of value through tokens, cryptocurrency and smart contracts. In this paper, we have developed a decentralized application model in Python, where blockchain data are stored in a Neo4j graph database. Following the basic principles of Ethereum blockchain network, we implemented a Casper-like consensus mechanism and tested its effectiveness in achieving finality. For block proposing, we employed both Proof of Work and Proof of Stake protocols and examined how participants’ incentives and consensus criteria differ according to each one. A major part of this work is to incorporate the graph model in the functionality of the blockchain and its components, while also exploiting its benefits in data analysis by finding relationships between data and extracting their true value. Through this approach, we were able to monitor and visualize changes in blockchain data in various use case scenarios. Lastly, we ran a series of simulated experiments to test the efficiency of the implemented technologies and mechanisms in preventing the most common blockchain attacks such as the 51% Attack, Catastrophic Crashes and Attack from dynamic validator sets. We show how the modelling of the blockchain data as a distributed graph can assist protocols operations, enhance their security, and facilitate the application of analytical methods to the stored information through path-dependent queries.