Abstract
Hyperledger Sawtooth is a general purpose blockchain project featuring pluggable consensus mechanisms and smart contracts that can be written in any general purpose programming language. We introduce a design pattern that enables communication between smart contracts for Hyperledger Sawtooth. The pattern is called Inter-Family Communication and we apply it to build a general crypto-asset framework where assets can be controlled by secondary smart contracts. The pattern is designed secure with formal models for Hyperledger Sawtooth and relevant concepts to the Inter-family Communication design pattern.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
e.g. trusted executed environments, consensus mechanisms, public key infrastructure, certificate authorities, private channels, etc.
- 2.
Portions of this work is patent pending.
- 3.
In Sawtooth 1.0, there is an onchain setting to list the namespaces for transaction families. The validator interprets these namespaces as write access control and does not limit the read access.
- 4.
Proof-of-Elapsed-Time, batch, input-output prefixes and nonce in transactions, state-delta events, dependencies, etc.
- 5.
All results presented extend trivially to families with multiple reserved namespaces; however, focusing on a single namespace simplifies our presentation.
- 6.
For a definition of the Shuffle Product see any textbook on Automata Theory or Theory of Computation.
- 7.
The functions \(applyt^{\prime }()\) and applyb() are straightforwardly updated according to different read and write namespaces.
- 8.
The nonce is used here to prevent replay attacks and is intended to be negotiated offchain among users, ideally by having all parties contribute to its elaboration.
References
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). http://bitcoin.org/bitcoin.pdf
Bitcoin Script. https://en.bitcoin.it/wiki/Script. Accessed Aug 2018
Wood, G.: Ethereum: A Secure Decentralized Generalised Transaction Ledger - EIP-150 Revision (2017). http://yellowpaper.io/
Hyperledger. Blockchain for Business. https://hyperledger.org/. Accessed Aug 2018
Hyperledger Sawtooth, v1.0 (2018). https://github.com/hyperledger/sawtooth-core. Accessed Aug 2018
Hyperledger Fabric, version 1.0. https://hyperledger.org/projects/fabric, https://github.com/hyperledger/fabric. Accessed Aug 2018
Hyperledger Iroha. http://iroha.tech/, https://github.com/hyperledger/iroha. Accessed Aug 2018
ERC20 Token Standard. https://theethereum.wiki/w/index.php/ERC20_Token_Standard. Accessed Nov 2017
Poon, J., Dryja, T.: The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments, Version 0.5.9.2 (2016)
Ethereum. Security Considerations. https://solidity.readthedocs.io/en/develop/security-considerations.html. Accessed Aug 2018
Hildenbrandt, F.N., et al.: KEVM: A Complete Semantics of the Ethereum Virtual Machine (2017). http://hdl.handle.net/2142/97207
Hirai, Y.: Defining the Ethereum virtual machine for interactive theorem provers. In: 1st Workshop on Trusted Smart Contracts (2017)
Daian, P.: DAO attack (2016). http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/. Accessed Aug 2018
The Coq Development Team: The Coq Reference Manual, version 8.6 (2017). https://coq.inria.fr/
Lamport, L.: Specifying Systems. Addison-Wesley (2002). http://www.lamport.org/. Accessed Nov 2017
Swamy, N., et al.: Dependent types and multi-monadic effects in F*. In: 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2016, pp. 256–270. ACM (2016)
Intel: Intel Software Guard Extensions (Intel SGX) SDK (2018). https://software.intel.com/en-us/sgx-sdk
Lind, J., Eyal, I., Kelbert, F., Naor, O., Pietzuch, P.R., Sirer, E.G.: Teechain: scalable blockchain payments using trusted execution environments. In: The 4th Workshop on Bitcoin and Blockchain Research, BITCOIN 2017 (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 paper
Cite this paper
Owens, L., Razet, B., Smith, W.B., Tanner, T.C. (2019). Inter-family Communication in Hyperledger Sawtooth and Its Application to a Crypto-Asset Framework. In: Fahrnberger, G., Gopinathan, S., Parida, L. (eds) Distributed Computing and Internet Technology. ICDCIT 2019. Lecture Notes in Computer Science(), vol 11319. Springer, Cham. https://doi.org/10.1007/978-3-030-05366-6_32
Download citation
DOI: https://doi.org/10.1007/978-3-030-05366-6_32
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-05365-9
Online ISBN: 978-3-030-05366-6
eBook Packages: Computer ScienceComputer Science (R0)