Stake accounts
Een stake account op Solana kan worden gebruikt om tokens te delegeren aan validators op het netwerk om potentieel beloningen te verdienen voor de eigenaar van het stake account. Stake accounts worden anders aangemaakt en beheerd dan een traditioneel wallet-adres, bekend als een system account. Een system account kan alleen SOL verzenden en ontvangen van andere accounts op het netwerk, terwijl een stake account meer complexe operaties ondersteunt die nodig zijn om een delegatie van tokens te beheren.
Stake accounts op Solana werken ook anders dan die van andere Proof-of-Stake blockchain-netwerken waarmee je misschien bekend bent. Dit document beschrijft de structuur en functies van een Solana stake account op hoofdlijnen.
Account-adres
Elk stake account heeft een uniek adres dat kan worden gebruikt om de account- informatie op te zoeken via de opdrachtregel of in netwerkverkenner-tools. Echter, in tegenstelling tot een wallet-adres waarbij de houder van het keypair van het adres de wallet beheert, heeft het keypair dat is gekoppeld aan een stake account-adres niet noodzakelijkerwijs controle over het account. Er hoeft zelfs geen keypair of private key te bestaan voor het adres van een stake account.
De enige keer dat een stake account-adres een keypair-bestand heeft, is wanneer een stake account wordt aangemaakt met behulp van de opdrachtregeltools. Er wordt eerst een nieuw keypair-bestand aangemaakt, alleen om ervoor te zorgen dat het adres van het stake account nieuw en uniek is.
Inzicht in account-autoriteiten
Bepaalde soorten accounts kunnen één of meer tekenautoriteiten hebben die zijn gekoppeld aan een bepaald account. Een account-autoriteit wordt gebruikt om bepaalde transacties te ondertekenen voor het account dat het beheert. Dit is anders dan bij sommige andere blockchain- netwerken waar de houder van het keypair dat is gekoppeld aan het adres van het account alle activiteiten van het account beheert.
Elk stake-account heeft twee tekenautoriteiten die worden gespecificeerd door hun respectievelijke adres, die elk geautoriseerd zijn om bepaalde operaties op het stake-account uit te voeren.
De stake authority wordt gebruikt om transacties te ondertekenen voor de volgende operaties:
- Delegeren van stake
- Deactiveren van de stake-delegatie
- Splitsen van het stake-account, waarbij een nieuw stake-account wordt gemaakt met een deel van de fondsen in het eerste account
- Samenvoegen van twee stake-accounts tot één
- Instellen van een nieuwe stake authority
De withdraw authority ondertekent transacties voor het volgende:
- Opnemen van niet-gedelegeerde stake naar een wallet-adres
- Instellen van een nieuwe withdraw authority
- Instellen van een nieuwe stake authority
De stake authority en withdraw authority worden ingesteld wanneer het stake-account wordt aangemaakt, en ze kunnen op elk moment worden gewijzigd om een nieuw tekenend adres te autoriseren. De stake en withdraw authority kunnen hetzelfde adres zijn of twee verschillende adressen.
Het withdraw authority keypair heeft meer controle over het account omdat het nodig is om de tokens in het stake-account te liquideren, en kan worden gebruikt om de stake authority te resetten als het stake authority keypair verloren raakt of gecompromitteerd wordt.
Het beveiligen van de withdraw authority tegen verlies of diefstal is van het grootste belang bij het beheren van een stake-account.
Meerdere delegaties
Elk stake-account kan slechts worden gebruikt om aan één validator tegelijk te delegeren. Alle tokens in het account zijn ofwel gedelegeerd of niet-gedelegeerd, of in het proces van gedelegeerd of niet-gedelegeerd te worden. Om een deel van je tokens aan een validator te delegeren, of aan meerdere validators te delegeren, moet je meerdere stake-accounts aanmaken.
Dit kan worden bereikt door meerdere stake accounts aan te maken vanuit een wallet-adres met tokens, of door één groot stake account aan te maken en de stake authority te gebruiken om het account op te splitsen in meerdere accounts met token-saldi naar keuze.
Dezelfde stake en withdraw authorities kunnen aan meerdere stake accounts worden toegewezen.
Samenvoegen van stake accounts
Twee stake accounts die dezelfde authorities en lockup hebben, kunnen worden samengevoegd tot één resulterende stake account. Een samenvoeging is mogelijk tussen twee stakes in de volgende toestanden zonder aanvullende voorwaarden:
- twee gedeactiveerde stakes
- een inactieve stake in een activerende stake tijdens de activatie-epoch
Voor de volgende gevallen moeten de voter pubkey en waargenomen vote credits overeenkomen:
- twee geactiveerde stakes
- twee activerende accounts die een activatie-epoch delen, tijdens de activatie-epoch
Alle andere combinaties van stake-toestanden kunnen niet worden samengevoegd, inclusief alle "tijdelijke" toestanden, waarbij een stake wordt geactiveerd of gedeactiveerd met een niet-nul effectieve stake.
Opwarm- en afkoelperiode van delegatie
Wanneer een stake account wordt gedelegeerd, of een delegatie wordt gedeactiveerd, treedt de operatie niet onmiddellijk in werking.
Een delegatie of deactivering duurt meerdere epochs om te voltooien, waarbij een deel van de delegatie actief of inactief wordt bij elke epoch-grens nadat de transactie met de instructies naar de cluster is verzonden.
Er is ook een limiet op hoeveel totale stake gedelegeerd of gedeactiveerd kan worden in één epoch, om plotselinge grote veranderingen in stake over het hele netwerk te voorkomen. Aangezien opwarmen en afkoelen afhankelijk zijn van het gedrag van andere netwerkdeelnemers, is de exacte duur moeilijk te voorspellen. Details over de timing van opwarmen en afkoelen zijn hier te vinden.
Lockups
Stake-accounts kunnen een lockup hebben die voorkomt dat de tokens die ze bevatten worden opgenomen voordat een bepaalde datum of epoch is bereikt. Tijdens de lockup-periode kan het stake-account nog steeds worden gedelegeerd, niet-gedelegeerd of gesplitst, en de stake authority kan normaal worden gewijzigd. Alleen opname naar een andere wallet of het bijwerken van de withdraw authority is niet toegestaan.
Een lockup kan alleen worden toegevoegd wanneer een stake-account voor het eerst wordt aangemaakt, maar kan later worden gewijzigd door de lockup authority of custodian, waarvan het adres ook wordt ingesteld wanneer het account wordt aangemaakt.
Een stake-account vernietigen
Net als andere soorten accounts op het Solana-netwerk wordt een stake-account met een saldo van 0 SOL niet meer bijgehouden. Als een stake-account niet is gedelegeerd en alle tokens die het bevat worden opgenomen naar een wallet-adres, wordt het account op dat adres effectief vernietigd en zal het handmatig opnieuw moeten worden aangemaakt om het adres weer te kunnen gebruiken.
Stake-accounts bekijken
Details van stake-accounts kunnen worden bekeken op de Solana Explorer door een account- adres te kopiëren en te plakken in de zoekbalk.
Is this page helpful?