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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Although the Ethereum protocol is not intended for permissioned blockchains, there exist permissioned Ethereum based variants like Quorum or Hydrachain.
- 2.
As an advanced feature, the transaction mechanism also supports weaker forms of commit. In this case, the transaction will not fail and rollback, but report an error and allow certain operations to be withdrawn and new ones to be possibly added in order to “repair” the transaction.
- 3.
If a peer wants to transfer only a sub-amount of a coin, then it will transfer the rest to itself by creating a ToCoin at its own site.
- 4.
Eager replication is used for all objects.
- 5.
The peer shall reexamine the verification result of the peer group, which must be the same as its own, if the verifier peers did not lie.
References
Bitcoin is an innovative payment network and a new kind of money. https://bitcoin.org/en/
Corda R3. https://www.r3.com/corda-platform/. Accessed 01 Apr 2019
Ethereum. https://www.ethereum.org/. Accessed 01 Apr 2019
Hydrachain. https://github.com/HydraChain/. Accessed 01 Apr 2019
Hyperledger Fabric. https://www.hyperledger.org/projects/fabric/. Accessed 01 Apr 2019
J.P. Morgan Quorum Whitepaper. https://github.com/jpmorganchase/quorum-docs/blob/master/Quorum%20Whitepaper%20v0.1.pdf. Accessed 01 Apr 2019
Litecoin. https://litecoin.org/. Accessed 01 Apr 2019
NEM. https://nem.io/. Accessed 01 Apr 2019
Ripple. https://ripple.com/. Accessed 01 Apr 2019
Stellar. https://www.stellar.org/. Accessed 01 Apr 2019
Arnold, K., Hupfer, S., Freeman, E.: JavaSpaces Principles, Patterns, and Practice. Addison-Wesley Professional, Boston (1999)
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_4
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_2
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)
Bukhres, O., Elmagarmid, A.K., Kühn, E.: Implementation of the Flex Transaction Model. IEEE Data Eng. Bull. 16(2), 28–32 (1993)
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_4
Buravlev, V., De Nicola, R., Mezzina, C.A.: Evaluating the efficiency of Linda implementations. Concurr. Comput. Pract. Exp. 30(8), e4381 (2018)
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
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)
De Nicola, R., Julien, C. (eds.): COORDINATION 2013. LNCS, vol. 7890. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38493-6
De Nicola, R., Kühn, E. (eds.): SEFM 2016. LNCS, vol. 9763. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8
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_25
De Nicola, R., Pugliese, R.: Linda-based applicative and imperative process algebras. Theor. Comput. Sci. 238(1–2), 389–437 (2000)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems (1992)
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)
Kühn, E.: Coordination System. European Patent, Number EP0929864 B1 (March 21th 2001), PCT Number PCT/AT1997/000209
Lamport, L.: Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)
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_22
Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982)
Nakamoto, S.: Bitcoin: A Peer-to-Peer Electronic Cash System (2008). https://bitcoin.org/bitcoin.pdf
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Kuehn, E.M. (2019). A Distributed Ledger Technology Based on Shared Write-Once Objects. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds) Models, Languages, and Tools for Concurrent and Distributed Programming. Lecture Notes in Computer Science(), vol 11665. Springer, Cham. https://doi.org/10.1007/978-3-030-21485-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-030-21485-2_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-21484-5
Online ISBN: 978-3-030-21485-2
eBook Packages: Computer ScienceComputer Science (R0)