A Distributed Ledger Technology Based on Shared Write-Once Objects
- 348 Downloads
Abstract
Research on blockchain technologies and applications has exploded since Satoshi Nakamoto’s seminal paper on Bitcoin. Everybody agrees that blockchain is a foundational technology, but neither has a unified definition of blockchain been established yet, nor does a commonly agreed upon standard exist. The basic principle of a blockchain is to maintain transactions on digital assets, without utilizing a central coordinator. Despite the assumed trustless environment, high security is promised.
The core technologies behind blockchain are well known in distributed computing. They comprise peer-to-peer replication and peer-to-peer consensus. In addition, cryptography is used to sign transactions and to achieve a timely order between them.
In this paper we show how a coordination middleware that relies on the virtual shared memory (VSM) paradigm can contribute to realizing a flexible and generally distributed ledger technology (DLT) that can serve as the basis for many different kinds of blockchain applications. As a proof-of-concept, the realization of different blockchain types, such as public and permissioned, and different consensus protocols are sketched on top of this VSM-based DLT.
Keywords
Virtual shared memory Shared objects Coordination system Distributed ledger technology BlockchainReferences
- 1.Bitcoin is an innovative payment network and a new kind of money. https://bitcoin.org/en/
- 2.Corda R3. https://www.r3.com/corda-platform/. Accessed 01 Apr 2019
- 3.Ethereum. https://www.ethereum.org/. Accessed 01 Apr 2019
- 4.Hydrachain. https://github.com/HydraChain/. Accessed 01 Apr 2019
- 5.Hyperledger Fabric. https://www.hyperledger.org/projects/fabric/. Accessed 01 Apr 2019
- 6.J.P. Morgan Quorum Whitepaper. https://github.com/jpmorganchase/quorum-docs/blob/master/Quorum%20Whitepaper%20v0.1.pdf. Accessed 01 Apr 2019
- 7.Litecoin. https://litecoin.org/. Accessed 01 Apr 2019
- 8.NEM. https://nem.io/. Accessed 01 Apr 2019
- 9.Ripple. https://ripple.com/. Accessed 01 Apr 2019
- 10.Stellar. https://www.stellar.org/. Accessed 01 Apr 2019
- 11.Arnold, K., Hupfer, S., Freeman, E.: JavaSpaces Principles, Patterns, and Practice. Addison-Wesley Professional, Boston (1999)Google Scholar
- 12.Bettini, L., et al.: The KLAIM project: theory and practice. In: Priami, C. (ed.) GC 2003. LNCS, vol. 2874, pp. 88–150. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-40042-4_4CrossRefGoogle Scholar
- 13.Bettini, L., De Nicola, R.: Mobile distributed programming in X-Klaim. In: Bernardo, M., Bogliolo, A. (eds.) SFM-Moby 2005. LNCS, vol. 3465, pp. 29–68. Springer, Heidelberg (2005). https://doi.org/10.1007/11419822_2CrossRefGoogle Scholar
- 14.Bettini, L., De Nicola, R., Ferrari, G.L., Pugliese, R.: Mobile applications in X-KLAIM. In: WOA 2000: Dagli Oggetti agli Agenti. 1st AI*IA/TABOO Joint Workshop “From Objects to Agents”: Evolutive Trends of Software Systems, Parma, Italy, pp. 1–6 (2000)Google Scholar
- 15.Bukhres, O., Elmagarmid, A.K., Kühn, E.: Implementation of the Flex Transaction Model. IEEE Data Eng. Bull. 16(2), 28–32 (1993)Google Scholar
- 16.Buravlev, V., De Nicola, R., Mezzina, C.A.: Tuple spaces implementations and their efficiency. In: Lluch Lafuente, A., Proença, J. (eds.) COORDINATION 2016. LNCS, vol. 9686, pp. 51–66. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39519-7_4CrossRefGoogle Scholar
- 17.Buravlev, V., De Nicola, R., Mezzina, C.A.: Evaluating the efficiency of Linda implementations. Concurr. Comput. Pract. Exp. 30(8), e4381 (2018)CrossRefGoogle Scholar
- 18.De Nicola, R.: From process calculi to KLAIM and back. Electr. Notes Theor. Comput. Sci. 162, 159–162 (2006). US patent US6848109B1. https://patents.google.com/patent/US6848109
- 19.De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: a kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24(5), 315–330 (1998)CrossRefGoogle Scholar
- 20.De Nicola, R., Julien, C. (eds.): COORDINATION 2013. LNCS, vol. 7890. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38493-6CrossRefGoogle Scholar
- 21.De Nicola, R., Kühn, E. (eds.): SEFM 2016. LNCS, vol. 9763. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8CrossRefGoogle Scholar
- 22.De Nicola, R., Loreti, M.: A modal logic for Klaim. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 339–354. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45499-3_25CrossRefGoogle Scholar
- 23.De Nicola, R., Pugliese, R.: Linda-based applicative and imperative process algebras. Theor. Comput. Sci. 238(1–2), 389–437 (2000)MathSciNetCrossRefGoogle Scholar
- 24.Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetCrossRefGoogle Scholar
- 25.Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)CrossRefGoogle Scholar
- 26.Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems (1992)Google Scholar
- 27.Kühn, E.: Fault-tolerance for communicating multidatabase transactions. In: Proceedings of the Twenty-Seventh Annual Hawaii International Conference on System Sciences (HICSS), Wailea, Maui, Hawaii, vol. 2, pp. 323–332. IEEE (1994)Google Scholar
- 28.Kühn, E.: Coordination System. European Patent, Number EP0929864 B1 (March 21th 2001), PCT Number PCT/AT1997/000209Google Scholar
- 29.Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)CrossRefGoogle Scholar
- 30.Lamport, L.: Byzantizing Paxos by refinement. In: Peleg, D. (ed.) DISC 2011. LNCS, vol. 6950, pp. 211–224. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24100-0_22CrossRefGoogle Scholar
- 31.Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)CrossRefGoogle Scholar
- 32.Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System (2008). https://bitcoin.org/bitcoin.pdf
- 33.Saltzer, J.H., Reed, D.P., Clark, D.D.: End-to-end arguments in system design. ACM Trans. Comput. Syst. 2(4), 277–288 (1984)CrossRefGoogle Scholar
- 34.Uriarte, R.B., De Nicola, R.: Blockchain-based decentralized cloud/fog solutions: challenges, opportunities, and standards. IEEE Commun. Stan. Mag. 2(3), 22–28 (2018)CrossRefGoogle Scholar
- 35.Xu, X., et al.: A taxonomy of blockchain-based systems for architecture design. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 243–252 (2017)Google Scholar