Inter-Blockchain Interoperability - A discussion · • Even though a notary should use a public...
Transcript of Inter-Blockchain Interoperability - A discussion · • Even though a notary should use a public...
BlockchainWorkshop/Conference
26 April 2018
Inter-Blockchain Interoperability- A discussion -
Steve Capell: Enterprise Architect, AU Dept of Home Affairs
Why does this matter?
• There’s already over 200 blockchain projects around the world, many related to the international supply chain in some way.
• Even a single consignment is likely to touch multiple ledgers.
• Some focussed on finance• Some on goods provenance• Some on transport logistics• Some on compliance & certification
• In their rush to dominate their sector, most blockchain projects don’t even think about standards.
• So a profusion of non-interoperable platforms seems highly likely!
• So, what should UN/CEFACT do about this?
There are already inter-ledger specs!
• Interledger.org supports payments across crypto-currencies. The pattern looks like this:
Ledger 1
PayeerApp
ILP Plugin
Ledger 2 Ledger n-1 Ledger n
ILP Plugin
ILP Plugin
ILP Plugin
Payee App
Bitcoin Ripple Ethereum Litecoin
Very complex protocol!
But – Remember this Scenario?
1 2 3 4 5
9 8 7
6
10
11
12
13 14 15 16
17
Perfect PinotABN:12345
Fine RedsHunan WinesCT:665544
QR:998877 Vintage:2016
DCL
INV:445566
ACK:445566
DCL
25DegC BIC:UQU:12876
COO:223344UCR:77665544
AU:EXP:464646
CN:IMP:121223
DCL
INV:445566
Genuine 2016 Perfect Pinot
It’s a different pattern• International Trade’s main use of blockchain is NOT
cryptocurrency payments. It looks more like this:
Ledger 1
Provenance Platform
Ledger 2 Ledger n-1 Ledger n
Finance Platform
Logistics Platform
Regulator Platform
EthereumSolidity
HL FabricGolang
BitCoinOpCode
HL SawtoothMany languages
Ledger 3
Insurance Platform
R3 Corda CordApps
My consignment
My Business Platform
Some Quick Revision!
Block n-1
# # # #
# #
Merkle Root
Nonce
Hash of n-2
Transactions
Block n
# # # #
# #
Merkle Root
Nonce
Hash of n-1
Transactions
Block n+1
Merkle Root
Nonce
Hash of n
Transactions
421ed30f0fbbb0644b9fd2150da1c5b0415cc42c19ce8008607751ec9817a8a0
Any sized file
SHA-256
Fixed length unique ”fingerprint”
“On-Chain”Hashes
“Off-Chain”Data
# # # #
# #
• Remember! – the actual data is not on the chain. Only the hashes (fingerprints) that verify the data.
Some Quick Revision!
• It’s a “distributed ledger” because each node has a full copy of the chain – kept aligned by the consensus algorithm.
• Trust is ensured because each node operator can check on every other node operator.
Node “n”
Node 1
Node 2
Node 5
Node 3
Node 4
Consensus Algorithm
So, back to our supply-chain model
This bit is just the data and could follow existing UN/CEFACT standards
Ledger 1
Provenance Platform
Ledger 2 Ledger n-1 Ledger n
Finance Platform
Logistics Platform
Regulator Platform
EthereumSolidity
HL FabricGolang
BitCoinOpCode
HL SawtoothMany languages
Ledger 3
Insurance Platform
R3 Corda CordApps
This bit is where blockchain node operators run consensus and check on each other. You can’t verify unless you host a node! (don’t need to participate in consensus).
My consignment
My Business Platform
But that means you’d have to do this• Which is not a practical proposition!
Ledger 1
Provenance Platform
Ledger 2 Ledger n-1 Ledger n
Finance Platform
Logistics Platform
Regulator Platform
EthereumSolidity
HL FabricGolang
BitCoinOpCode
HL SawtoothMany languages
Ledger 3
Insurance Platform
R3 Corda CordApps
My consignmentMy Business Platform
My ethereumnode
My bitcoin node
My corda node
My HL fabric node
My HL Sawtooth node
Unless…• There was a standard way to notarise / verify a
transaction, irrespective of the blockchain network.
My consignment
My Business Platform
Ledger 1
Provenance Platform
Ledger 2 Ledger n-1 Ledger n
Finance Platform
Logistics Platform
Regulator Platform
Ledger 3
Insurance Platform
Notary Service
Notary Service
Notary Service
Notary Service
Notary Service
Better, but there’s still a problem• Some “private ledgers” are not very trustworthy.
Better an independent notary using a public ledger:
Ledger 1
Provenance Platform
Ledger 2 Ledger n-1 Ledger n
Finance Platform
Logistics Platform
Regulator Platform
Ledger 3
Insurance Platform
My consignment
My Business Platform
Notary Service
Bitcoin&
IPFS
Public Notary Service
Which is why this is in the whitepaper:
Exporters
Various Platforms
Export Services Import Services
Importers
Carriers Ports
Resource Discovery
IoTPorts
Exporting Country
ImportingCountry
Certification services
Inter-agency Ledger
AuthoritySemantics
Finance ServicesFinance Services
Payer Banks
Private Ledgers
Certification services
Inter-agency Ledger
Authority
Payee Banks
IoT
UN/CEFACT Standards
Goods
Funds
Data
Trust
Goods
Funds
Data
TrustNotary Services
Ledger Interop
Public Ledgers
UN/CEFACT Ledger Interop / Notary Specification
Thank you – now lets discuss!
Notary Service – Discussion Notes
• A notary service is a parallel "proof of coexistence" mechanism that allows data from multiple ledgers (including private ledgers) to be independently linked
• Even though a notary should use a public ledger for strongest integrity, it can still be a system that restricts access to data based on permissions.
• Notaries can use multiple public chains - which makes the notary stronger - only one has to survive to preserve integrity.
• It is not a honey pot, the only thing the notary must store is hashes/addresses of content in other systems (data pointers, not the data itself) plus any restrictions on who is allowed to access that reference