Patterns for Blockchain Migration

With the rapid evolution of technological, economic, and regulatory landscapes, contemporary Blockchian platforms are all but certain to undergo major changes. Therefore, applications that rely on them will eventually need to migrate the Blockchain to remain competitive and secure, as well as to enhance the performance, cost efficiency, privacy, and regulatory compliance. However, the differences in data and smart contract representations, mode of hosting, transaction fees, and the need to preserve consistency, immutability, and data provenance introduce unique challenges over database migration. We first present a set of Blockchain migration scenarios and data fidelity levels using an illustrative example. We then derive a set of migration patterns to address those scenarios and above data management challenges. Finally, we demonstrate how the effort, cost, and risk of Blockchain migration can be minimized by choosing a suitable data fidelity level and proactive system design. Practical considerations and several research challenges are also highlighted.

[1]  Tommi Mikkonen,et al.  To Fork or Not to Fork: Fork Motivations in SourceForge Projects , 2011, OSS.

[2]  Stefan Tai,et al.  Not Acid, Not Base, but Salt - A Transaction Processing Perspective on Blockchains , 2017, CLOSER.

[3]  Tim Wellhausen,et al.  Patterns for Data Migration Projects , 2011 .

[4]  Andreas Rüping Transform! Patterns for Data Migration , 2013, Trans. Pattern Lang. Program..

[5]  John Morris,et al.  Practical Data Migration , 2006 .

[6]  Elder Cirilo,et al.  A Framework for Migrating Relational Datasets to NoSQL1 , 2015, ICCS.

[7]  Orlenys López-Pintado,et al.  Caterpillar: A business process execution engine on the Ethereum blockchain , 2018, Softw. Pract. Exp..

[8]  Cesare Pautasso,et al.  A Pattern Collection for Blockchain-based Applications , 2018, EuroPLoP.

[9]  Stefan Thomas,et al.  A Protocol for Interledger Payments , 2016 .

[10]  Ki-Hoon Lee,et al.  Migration from RDBMS to Column-Oriented NoSQL: Lessons Learned and Open Problems , 2018 .

[11]  Ingo Weber,et al.  A Platform Architecture for Multi-Tenant Blockchain-Based Systems , 2019, 2019 IEEE International Conference on Software Architecture (ICSA).

[12]  Klaus Haller,et al.  Towards the Industrialization of Data Migration: Concepts and Patterns for Standard Software Implementation Projects , 2009, CAiSE.

[13]  Frank Leymann,et al.  Migrating Application Data to the Cloud using Cloud Data Patterns , 2013, CLOSER.

[14]  PRADIP KUMAR SHARMA,et al.  A Software Defined Fog Node Based Distributed Blockchain Cloud Architecture for IoT , 2018, IEEE Access.

[15]  Salman Baset,et al.  Sol2js: Translating Solidity Contracts into Javascript for Hyperledger Fabric , 2018, SERIAL@Middleware.

[16]  Gerard G. Meszaros,et al.  A pattern language for pattern writing , 1997 .