Project Plan: Implement the Secure Asset Transfer Protocol in Cacti
Abstract
Implement the IETF Secure Asset Transfer Protocol according to proposed drafts (precursor to official RFCs) in Cacti using Relays.
Mentors
Name | Time zone | Discord ID | Email ID |
---|---|---|---|
Venkatraman Ramakrishna | IST | vramaiitkgp | vramakr2@in.ibm.com |
Rafael Belchior | EST | rafaelapb#6679 | rafael.belchior@tecnico.ulisboa.pt |
Sandeep Nishad | IST | sandeepn | sandeep.nishad1@ibm.com |
Sikhar Patranabis | IST | Sikhar | sikhar.patranabis@ibm.com |
Mentee
Name | Time zone | Discord ID | Email ID |
---|---|---|---|
Zakwan Jaroucheh | EST | zakwanj | zakwanj@gmail.com |
Communication channel: Slack + Discord+ Github
Project repo: https://github.com/hyperledger/cacti
Deliverables
- Augment Cacti Relay module to implement the IETF SATP (Secure Asset Transfer Protocol)
- Relay as asset source
- Relay as asset destination
- Failover and recovery support in the Cacti Relay module
- Augment Fabric driver to handle SATP asset transfer instructions received from relays
- Augment Fabric Interoperation SDK to trigger and manage asset transfers using SATP
- Augment Fabric CLI to run and demonstrate an end-to-end instance of asset transfer
- (Optional) Augment Corda Interoperation SDK to trigger and manage asset transfers using SATP
- (Optional) Augment Corda CLI to run and demonstrate an end-to-end instance of asset transfer
- Demonstrate asset transfers across Fabric networks using the SATP
- (Optional) Demonstrate asset transfers across any combination of Fabric and Corda networks using the SATP
- Unit and Integration tests
- Write RFCs around the design and implementation of SATP using relays (final design specs will be an outcome of experimentation, and will be adjusted to reflect the latest IETF SATP draft specs.
- Write tutorial documents for users to configure and run testnets and applications and move assets across them
- Propose updates to the IETF SATP drafts
- (Optional) Port SATP logic from Relay to Node Server (older implementation using ODAP)
Merged PR's
- TBD
Final Project Presentation:
- TBD
Milestones
Eval 1:
- Research: understand the SATP by reading the drafts, read about distributed commit protocols
- Get hands-on with relay and driver code within Cacti
- Implement: basic relay support for round-trip messaging
- Implement: Stage 1: Steps 1.1 - 1.4: happy path and error handling
Eval 2:
- Implement: remainder of the steps: 2.1 - 3.9: happy pat and error handling
- Implement: Fabric Interoperation SDK support
Eval 3:
- Implement: Fabric CLI additions to orchestrate asset transfers using this protocol
- Demonstrate asset transfer across Fabric networks
- Write tutorial documentation to guide users
- Add appropriate Github Actions for integration testing
Eval 4:
- Relay support for crash (fault) monitoring and recovery
- Write design specifications (RFCs) for SATP-based asset transfer
- TBD: Optional deliverables
Timeline
Dates | Tasks/Plan | Status |
---|---|---|
Jun 12 - Jun 30 | Mentee intro with mentors, getting hands-on with the Cacti-Weaver code and documentation, understanding the SATP, understanding the deliverables | ✅ |
July 1 - July 15 | Design and Implement: GRPC Protobufs for SATP Implement: basic relay support for round-trip messaging: endpoints for Stages 1 and 2 | ✅ |
July 16 - July 31 | Implement: Steps 2.1 - 2.3, with Stage 1 bootstrapping | ✅ |
Aug 1 - Aug 15 | Implement: remainder of the steps: 2.4 - 3.10 | ✅ |
Aug 16 - Aug 31 | Implement: Fabric Interoperation SDK support | ✅ |
Sept 1 - September 30 | Implement: Fabric CLI additions to orchestrate asset transfers using this protocol Demonstrate asset transfer across Fabric networks | ✅ |
October 1 - October 15 | Write tutorial documentation to guide users | Partially done (docs need to be published) |
October 16 - October 31 | Relay support for crash (fault) monitoring and recovery | ✅ |
November 1 - November 15 | Presentation for Standardization Body (IETF) Meeting (118, Prague) | ✅ (See Notes for presentation link) |
November 16 - November 30 | Write design specifications (RFCs) for SATP-based asset transfer Add appropriate Github Actions for integration testing | |
Nov 7 - Nov 30 (Nov 30 eval) | Final presentation |
Methodology
- TBD
- TBD
- TBD
Notes
IETF 118 Presentation (Virtual) in the SATP Working Group
Date: November 9, 2023
Venue: Prague, Czech Republic
Conference agenda: https://datatracker.ietf.org/meeting/118/agenda
Session recording: https://play.conf.meetecho.com/Playout/?session=IETF118-SATP-20231109-1200