Wat is een privékanaal?
Een privékanaal is een off-chain betalingsnetwerk dat verankerd is aan Solana. Gebruikers storten SPL-tokens in een on-chain escrow-programma en transacteren vervolgens off-chain via een gateway met hoge snelheid en zonder kosten per overdracht. Afwikkeling naar Solana Mainnet verloopt via een Sparse Merkle Tree-bewijs, waardoor fondsen altijd inwisselbaar zijn en dubbele uitgaven onmogelijk zijn.
In tegenstelling tot de native betalingsstroom van Solana verschijnen overdrachten binnen een kanaal pas on-chain wanneer een gebruiker opneemt. Het kanaalnetwerk heeft zijn eigen transactiepipeline (dedup -> sig verify -> sequencer -> executor -> settler) die transacties onafhankelijk van de bloktijd van Solana verwerkt.
Deelnemers
Instantiebeheerder
De beheerder implementeert de Instance PDA via CreateInstance en bepaalt welke SPL-token mints worden geaccepteerd (AllowMint / BlockMint). De beheerder beheert en trekt operators in via AddOperator / RemoveOperator, en kan beheerdersrechten overdragen via SetNewAdmin. Er is één beheerder per instantie. Overdracht van beheerdersrechten is in één stap onomkeerbaar: de huidige beheerder kan de rol niet terugvorderen zonder medewerking van de nieuwe beheerder.
Operators
Operators worden ingericht door de beheerder. Ze bezitten een Operator PDA en zijn de enige accounts die ReleaseFunds (voor het afwikkelen van opnames naar Mainnet) en ResetSmtRoot (voor het roteren van de Sparse Merkle Tree) mogen aanroepen. Operators omzeilen alle eigendomscontroles in de gateway en hebben toegang tot alle JSON-RPC-methoden, waaronder getBlock, getTransaction en simulateTransaction. JWT-rol: "operator". Operators moeten rechtstreeks in de database worden ingericht; er is geen zelfbedieningsescalatie mogelijk. Zie de
Operatorshandleiding voor implementatie- en configuratiedetails.
Gebruikers
Gebruikers registreren zichzelf via de Auth Service. JWT-rol: "user". Gebruikers kunnen Deposit rechtstreeks op het Escrow-programma aanroepen en opnames initiëren via de kanaalzijdige WithdrawFunds-instructie op het Withdraw-programma. Toegang tot de gateway is beperkt tot hun eigen geverifieerde wallets; ze kunnen getBlock, getTransaction of simulateTransaction niet aanroepen.
Kanaallevenscyclus
- Instantie aanmaken - De beheerder roept
CreateInstanceaan, waarmee deInstancePDA wordt aangemaakt en de toegestane mints worden geconfigureerd. - Storting - Gebruikers storten SPL-tokens in de escrow via de
Deposit-instructie. Tokens worden verplaatst naar de associated token account van de instantie. - Off-chain overdrachten - Gebruikers versturen overdrachten via de gateway. Overdrachten worden gesequenced en uitgevoerd op het kanaalnetwerk zonder Mainnet te raken.
- Opname initiëren - Een gebruiker roept
WithdrawFundsaan op het Withdraw-programma (kanaalzijde) om zijn saldo te verbranden en een opname te signaleren. - Mainnet-afwikkeling - Een operator levert een geldig SMT-uitsluitingsbewijs en roept
ReleaseFundsaan op het Escrow-programma (Mainnet), waardoor tokens worden vrijgegeven naar de wallet van de gebruiker. - Boomrotatie - Wanneer de SMT de capaciteit nadert (65.536 bladeren), roept de operator
ResetSmtRootaan om de boom te roteren en een nieuwe epoch te starten.
Overdracht
Opname
Wanneer privékanalen te gebruiken
Gebruik privékanalen wanneer uw applicatie het volgende nodig heeft:
- Off-chain doorvoer - uw overdrachtsvolume zou Solana TPS verzadigen of u heeft bevestiging onder de seconde nodig
- Privacy - identiteiten van tegenpartijen en overdrachtsbedragen mogen niet on-chain verschijnen
- Geen kosten per overdracht - frequent overdragen waarbij de kosten per transactie in SOL te hoog zijn
Gebruik in plaats daarvan native SPL-overdrachten wanneer:
- On-chain composability vereist is (DeFi, swaps, lenen; andere programma's moeten de overdracht kunnen observeren of erop kunnen handelen)
- Afwikkeling in één overdracht volstaat en privacy geen vereiste is
- Geen gateway-infrastructuur beschikbaar of operationeel haalbaar is
Is this page helpful?