docs(svm): propose a Solana network driver design - #2361
atharrva01 wants to merge 1 commit into
Conversation
Sketches a Solana backend for Panurus alongside the in-progress EVM driver, reusing the same off-chain-validation-plus-on-chain-signature- threshold trust model rather than starting from scratch. The two places it deliberately diverges from a straight EVM port: one PDA per token instead of one contract-wide mapping, so Sealevel can actually parallelize unrelated transfers, and native commitment levels in place of the EVM driver's confirmation-depth/reorg-detection subsystem. It also carries forward the EVM driver's most expensive lesson, a multi-TMS state-sharing bug that took a dedicated round to find and fix, as a day-one design requirement instead of a later patch. No code yet, this is a proposal for discussion. Signed-off-by: atharrva01 <atharvaborade568@gmail.com>
|
@adecaro , @AkramBitar , @Effi-S would love everyone's thought on this proposal |
|
@atharrva01, I think this would be a nice addition |
ReviewThis is a great idea and a well-structured design. Reusing the off-chain-validation + on-chain-signature-threshold trust model instead of starting from scratch is exactly the right call, the per-token PDA reasoning is sound (Sealevel parallelism is real and a shared-mapping design would throw it away), the finality simplification relative to the EVM driver is correctly identified, and carrying the multi-TMS isolation lesson forward as a day-one requirement rather than a later fix is the most important thing this doc gets right. A few gaps to address before implementation starts: 1. Durable nonce / endorsement flow interaction unspecified 2. 3. Transaction-size ceiling needs quantification before implementation 4. Multi-listener design asserted but not specified 5. Companion |
Proposal for a Solana (SVM) network driver, a third non-Fabric backend alongside the in-progress EVM driver.
It reuses the EVM driver's trust model (off-chain Go validation via
driver.Validator, on-chain signature-threshold checking only) rather than designing from scratch, and calls out the two places it deliberately doesn't just port that design: one PDA per token instead of one contract-wide mapping so Sealevel can actually parallelize unrelated transfers, and Solana's native commitment levels replacing the EVM driver's whole confirmation-depth/reorg-detection subsystem. It also treats the EVM driver's most expensive lesson, a multi-TMS state-sharing bug that took a dedicated bug-hunt round to find, as a day-one design requirement instead of something to discover the hard way twice.No code, no branch work started, just the design doc for discussion, same stage the EVM driver's own design doc was at before implementation began.