abklabs / svmkit

SVMKit is a operational toolchain for SVM
https://abklabs.com
GNU General Public License v3.0
30 stars 11 forks source link

SVM Chain Identifier #4

Open kespinola opened 5 months ago

kespinola commented 5 months ago

Context

The discussion revolves around the need for a chain ID in the transaction format for Solana chains to enhance security and prevent phishing attacks. This is similar to how EVM chains handle chain IDs, which are essential for differentiating between different blockchain networks and preventing replay attacks. In Solana's case, the genesis PoH (Proof of History) hash can be used as the chain ID.

Key Points

  1. Chain ID in Transaction Format:

    • A chain ID embedded in the transaction format is crucial to ensure that transactions are executed on the intended network, preventing replay attacks and enhancing security.
  2. User-Controlled Custom Chains:

    • Users should have the ability to add custom chains to their wallets without needing permission from the wallet provider. This improves user autonomy and flexibility.
  3. Phishing Attack Prevention:

    • A chain ID helps prevent phishing attacks where malicious actors trick users into signing transactions on a fake network that actually targets a mainnet or other critical network.

Recommendations

1. Adopt Chain ID Using Genesis PoH Hash

2. Chain ID Management

3. Transaction Format Update

4. Wallet and RPC Support

5. Security Measures

6. Automatic Registry Verification

kespinola commented 5 months ago

Topic by armaniferrante Proposed solution by @irvinxyz in Zuma SVM TG.

kespinola commented 5 months ago

Resources from EVM:

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md https://github.com/ethereum-lists/chains

kespinola commented 5 months ago

https://github.com/anza-xyz/wallet-standard/issues/9