Syscalls for light client verification & cross-chain communication #517
PhilippeMts
started this conversation in
Filecoin Virtual Machine
Replies: 2 comments
-
Thanks very much for opening this discussion. It might also be (more?) relevant in https://github.com/filecoin-project/FIPs/discussions, especially if the initial milestones are focussed on the transition to WASM rather than adding new functionality. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Thanks @anorth for the advice. I guess once the discussion here moves from technical notes on the FVM primitives in regards to cross-chain communication, towards something more substantial and beyond the scope of the FVM only, it will indeed make sense to open a thread on the FIPs repository. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Context
Cross-network interoperability is one of the applications opened by the new capabilities of the FVM.
Three types of strategies are often discussed to achieve such interoperability12: (1) notary schemes, (2) hash-locking and (3) relays.
Relays can be very versatile and promising3, especially when combined with multi-layer architectures based on a relay chain, like it could be with Cosmos and Polkadot.
Technically, this strategy basically asks for one chain to verify itself information it has been provided about another chain. It is based on light client verification which involves two kinds of verifications: (1) consensus verification and (2) transaction inclusion verification.
With regard to the FVM, this means that possibly only a few cryptographic primitives (hash functions and signature verification) could be missing in order to create relays for other large networks.
Subjects of discussion
Enticed by the promise of such relays, we seek here to open the important questions related to the FVM set of syscalls so that we do not miss these opportunities.
What set of primitives might be missing?
What should be the interface for new syscalls?
Are dedicated syscalls required and justified?
Footnotes
Robinson, Peter. "Survey of crosschain communications protocols." Computer Networks 200 (2021): 108488. ↩
Buterin, Vitalik. "Chain interoperability." R3 Research Paper 9 (2016). ↩
Zamyatin, Alexei, et al. "Xclaim: Trustless, interoperable, cryptocurrency-backed assets." 2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019. ↩
Beta Was this translation helpful? Give feedback.
All reactions