Show simple item record

dc.contributor.advisorHaritsa, Jayant R
dc.contributor.authorKumar, Hemant
dc.date.accessioned2021-06-22T10:35:30Z
dc.date.available2021-06-22T10:35:30Z
dc.date.submitted2021
dc.identifier.urihttps://etd.iisc.ac.in/handle/2005/5169
dc.description.abstractBlockchain technology elegantly provides a spectrum of desirable semantic properties, including immutability, authenticity, verifiability, and data integrity. In recent years, implementing blockchains on relational database platforms has been advocated as a synergistic enterprise that leverages their efficient data processing capabilities. Therefore, in this work, we study Credereum, a public-domain software that layers blockchain semantics on native PostgreSQL. Specifically, Credereum is intended for delivering cryptographically verifiable consensus and provenance in a permissioned centralized setting, using an Ethereum smart contract as an immutable trusted storage repository. Our motivation for choosing Credereum is that it is among the few public-domain permissioned blockchain systems developed on an RDBMS platform. However, while studying Credereum, we encountered two major issues – the first related to security, with a potential for malicious server activity in block Merkle formation, and the other with regard to degraded transaction throughput. We address both these issues in our work, as described in the following. With regard to security, Credereum summarizes the modifications made at transaction-level and block-level by constructing Merkle trees, namely, Transaction Merkle Tree (TMT) and Block Merkle Tree (BMT). However, the BMT details are hidden from the clients, and therefore the server can maliciously include extra rows, leading to ledger invalidity. To tackle this loophole, we propose SecCred, which displays the block Merkle details for clients to verify in SHA-256 hash forms. Importantly, these changes retain Credereum’s native blockchain properties, and do not incur perceptible processing overheads. Turning to performance, our analysis shows that the Credereum blockchain semantics are obtained with enormous cost in performance – specifically, orders-of-magnitude degradation in transaction throughput as compared to native PostgreSQL. We carefully investigate the sources of this massive deterioration, and propose an initial set of simple but potent programming and algorithmic changes to the Credereum software that help retrieve an order-of-magnitude of the lost performance. These modifications are primarily with respect to the procedures for string matching and TMT formation. Again, our modified versions, called ProgCred, PerfCredA and PerfCredB, are implemented so as to preserve Credereum’s blockchain semantics.en_US
dc.language.isoen_USen_US
dc.rightsI grant Indian Institute of Science the right to archive and to make available my thesis or dissertation in whole or in part in all forms of media, now hereafter known. I retain all proprietary rights, such as patent rights. I also retain the right to use in future works (such as articles or books) all or part of this thesis or dissertationen_US
dc.subjectRDBMSen_US
dc.subjectBlockchainen_US
dc.subjectCredereumen_US
dc.subjectDatabasesen_US
dc.subject.classificationResearch Subject Categories::TECHNOLOGYen_US
dc.subject.classificationResearch Subject Categories::INTERDISCIPLINARY RESEARCH AREASen_US
dc.titleEnhancing Blockchain Implementationsen_US
dc.typeThesisen_US
dc.degree.nameMTech (Res)en_US
dc.degree.levelMastersen_US
dc.degree.grantorIndian Institute of Scienceen_US
dc.degree.disciplineEngineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record