Dată instantaneu
BTC
Raportul rezervelor*
100.3%
ETH
Raportul rezervelor*
101.3%
SOL
Raportul rezervelor*
101.1%
USDC
Raportul rezervelor*
Peste 105%
USDT
Raportul rezervelor*
Peste 105%
XRP
Raportul rezervelor*
100.6%
ADA
Raportul rezervelor*
102.2%
Responsabilitate, verificări regulate
La Kraken, nu doar că îți oferim capacitatea de a tranzacționa cu cele mai avansate active digitale, ci depunem eforturi pentru a valorifica transparența blockchainurilor open-source pe care operează.
Revizuirile periodice ale dovezilor de rezerve le facilitează clienților verificarea soldurilor pe care le dețin, asigurându-se că acestea sunt susținute de active reale, totul cu doar câteva clicuri în contul lor.
O procedură avansată de contabilitate criptografică efectuată în mod regulat de contabili de încredere, Dovada rezervelor îți permite să verifici dacă Kraken respectă standarde riguroase de responsabilitate și dacă depășește nivelul de transparență oferit de firmele financiare tradiționale.
Întrebări frecvente
Ce este dovada rezervelor?
O verificare a dovezii rezervelor (PoR) este o procedură efectuată de un contabil terț independent. Aceasta este menită să confirme faptul că un custode deține activele pe care susține că le deține în numele clienților săi. Acest contabil realizează un instantaneu anonim al tuturor soldurilor deținute și le agregă într-un arbore Merkle – o structură de date care respectă confidențialitatea și care încapsulează toate soldurile clienților.

De acolo, contabilul obține o rădăcină Merkle: o amprentă criptografică ce identifică în mod unic combinația acestor solduri la momentul creării instantaneului.
Contabilul colectează apoi semnăturile digitale generate de Kraken, care dovedesc dreptul de proprietate asupra adreselor din lanțul de blocuri cu solduri verificabile public. În cele din urmă, contabilul compară și verifică dacă aceste solduri depășesc soldurilor clienților reprezentate în arborele Merkle sau corespund cu acestea și, prin urmare, dacă activele clienților se află sub controlul Kraken.
Orice client poate verifica în mod independent dacă soldul său a fost inclus în procedura pentru dovada rezervelor, comparând anumite date cu rădăcina Merkle. Orice modificare adusă restului datelor, oricât de mică ar fi, va afecta rădăcina, făcând evidentă falsificarea.
Raportul nostru de dovadă a rezervelor poate fi găsit aici.
Ce acoperă dovada rezervelor?
Solduri spot
Verificarea va conține toate soldurile tale în activele aplicabile, deținute la momentul la care a fost realizat instantaneul. Următoarele active sunt aplicabile, de la data celei mai recente verificări: Bitcoin (BTC), Ether (ETH), Solana (SOL), USD Coin (USDC), Tether (USDT) și Ripple (XRP).
Solduri de staking
Dacă aveai solduri alocate pentru staking on-chain la momentul instantaneului, valoarea soldului tău pus în staking va fi agregată cu soldul spot într-un singur sold.
Tranzacționare pe marjă
Dacă aveai poziții de marjă la momentul respectiv, atunci ai vedea soldul total ajustat conform valorilor pozitive ale pozițiilor.
Exemplul 1
Dacă ai cumpărat 1 BTC/USD la 30.000 USD pe marjă și poziția ta este deschisă, soldul tău din dovada rezervelor va reflecta o ajustare pozitivă cu +1 BTC pentru soldul tău BTC. Nu va exista o ajustare negativă a soldului tău USD. Soldul tău de activ BTC deținut în custodia Kraken va include soldul tău BTC de la momentul respectiv, ajustat pozitiv cu +1 BTC pentru poziția ta de marjă. Soldul tău de activ USD va rămâne același.
Exemplul 2
Dacă ai vândut 1 BTC/ETH la 15 ETH pe marjă și poziția ta este deschisă, soldul tău din dovada rezervelor va reflecta o ajustare pozitivă cu +15 ETH pentru soldul tău ETH. Nu va exista o ajustare negativă a soldului tău BTC. Soldul tău de activ ETH deținut în custodia Kraken va include soldul tău ETH de la momentul respectiv, ajustat pozitiv cu +15 ETH pentru poziția ta de marjă. Soldul tău de activ BTC deținut în custodia Kraken va rămâne același.
Notă: metodologia futures descrisă mai sus este în vigoare începând cu verificările de dovadă a rezervelor din mai 2023.
Solduri de contracte futures
Dacă aveai solduri în portofelul tău Futures la momentul verificării, va exista o evidență separată a dovezii rezervelor pentru soldurile tale de garanții futures. Soldurile tale sunt ajustate cu Profitul și Pierderea nerealizate pentru tranzacționări de contracte futures cu garanție unică. Aceasta va include aceleași active aplicabile ca și pentru spot și marjă și va face parte din același arbore Merkle (cu propriul ID de frunză Merkle).
Exemplul 1
Dacă ai 1 BTC în portofelul tău Futures și deschizi o poziție pe BTC perpetuu cu garanție unică, cu Profit și Pierdere nerealizate de -0,1 BTC, atunci soldul tău BTC deținut în custodia Kraken va fi 0,9 BTC (1 BTC ajustat cu -0,1 BTC pentru Profit și Pierdere nerealizate).
Exemplul 2
Dacă ai 1 BTC în portofelul tău Futures și deschizi o poziție pe BTC perpetuu cu garanții multiple, cu Profit și Pierdere nerealizate de -100,0 USD, atunci soldul tău BTC deținut în custodia Kraken va fi 1 BTC (1 BTC neajustat cu Profit și Pierdere nerealizate, deoarece acestea sunt urmărite în USD și USD nu este un activ aplicabil pentru această verificare).
Notă: metodologia futures descrisă mai sus este în vigoare începând cu verificările de dovadă a rezervelor din mai 2023.
Cum pot confirma includerea contului meu în verificarea dovezii rezervelor?
Confirmare simplă
Urmează pașii de mai jos pentru a confirma în mod criptografic includerea soldului contului tău Kraken în cea mai recentă verificare a dovezii rezervelor.
Notă: această confirmare va reflecta doar soldurile contului tău în activele aplicabile de la momentul verificării. Nu va reflecta tranzacționări sau tranzacții ulterioare și nici solduri deținute în active care nu sunt aplicabile.
1. Conectează-te la contul Kraken și accesează pagina pentru dovada rezervelor pe interfața Kraken Pro (pro.kraken.com) (pictograma Cont > Dovada rezervelor).

2. Selectează fila Dovada rezervelor. Aceasta va include cele mai recente raporturi de rezervă confirmate, precum și informații specifice contului tău. Contul tău va afișa rapoarte recente pentru dovada rezervelor în care soldul contului tău a fost confirmat, inclusiv data raportului, furnizorul și domeniul de aplicare al evaluării.

3. Selectează data și dă clic pe Confirmă pe cont propriu. Aici vei găsi confirmarea soldurilor deținute la momentul verificării, precum și un ghid pentru confirmarea detaliilor tale.

Verificare cu contabilul terț
-
Folosește ID-ul de frunză Merkle – copiază primele 16 caractere și introdu-le în instrumentele contabilului terț pentru a prelua soldurile și a-ți verifica ID-ul în traseul arborelui Merkle. Instrumentul contabilului terț se va deschide într-o fereastră separată.
Notă: această opțiune a fost pusă la dispoziție începând cu verificările din 2023. Pentru verificări anterioare, consultă pagina web a partenerului tău pentru a găsi instrumentele de confirmare.

Verifică cu Kraken
- Confirmă ID-ul de evidență – urmează pașii pentru a recrea ID-ul de evidență, care identifică în mod unic detaliile contului tău și ID-ul de verificare (unic pentru fiecare dată de raport)
- Confirmă ID-ul de frunză Merkle – urmează pașii pentru a recrea ID-ul de frunză Merkle, care identifică în mod unic detaliile contului tău, împreună cu soldurile deținute la momentul instantaneului de verificare
- Confirmă ID-ul de frunză Merkle în arborele Merkle – confirmă că ID-ul tău aparține arborelui Merkle și validează calea către rădăcina arborelui Merkle, care este confirmată de contabilul nostru terț și comună pentru toți clienții
Notă: această opțiune a fost pusă la dispoziție începând cu verificările din 2023. Pentru verificări anterioare, consultă pagina web a partenerului tău pentru a găsi instrumentele de confirmare.



Confirmare avansată
Clienții care dispun de cunoștințe tehnice avansate ar putea dori să reconstituie independent hash-ul de nod pentru frunza arborelui Merkle care le corespunde și să-și caute soldurile în arborele Merkle în mod programatic, în loc să folosească instrumentele vizuale furnizate de Kraken sau de contabilul terț.
Poți efectua următorii pași de confirmare folosind cod:
-
Poți confirma generarea ID-ului de frunză de arbore Merkle pentru contul tău, folosind pașii descriși mai jos.
-
Apoi, poți confirma calea de arbore Merkle pentru ID-ul de frunză și poți reconstitui calea de la poziția ta la nodul rădăcină. Oferim transparență completă și includem și ID-urile de frunze înfrățite.
Mai jos sunt descriși pașii necesari, în pseudocod, pentru a reconstitui ID-ul de evidență și frunza Merkle din codul de cont, IIBAN-ul Kraken, ID-ul verificării și soldurile. Reține că rezultatele depind de formatarea stringurilor soldurilor și de ordinea activelor verificate, după cum sunt afișate pe pagina pentru dovada rezervelor.
- ID evidență = SHA256(concatenate(Account Code, Kraken IIBAN, Review ID))
- Solduri = ""
- Pentru fiecare activ:
- Solduri = concatenate(Asset, ":", AssetBalances[asset])
- Hash Merkle = concatenate(Record ID, “,”, Balances)
- Frunză Merkle = substring(SHA256(Merkle Hash), 0, 16)
După ce identifici frunza Merkle, poți folosi confirmarea SHA256 cu valori HEX pentru a reconstitui calea arborelui Merkle.
Exemple exacte sunt demonstrate în fragmentele de cod de mai jos. Frunza Merkle rezultată este vizibilă și în detaliile verificării, pentru a te ajuta să confirmi o reconstituire corectă.
Python
import hashlib
# Merkle Leaf ID calculation
account_code = "8dc20f34da8cea8dd0f46b001694f5123ecd30d786c5eb92ad1a013703a4f8d1"
iiban = "AB12C34DEFG5KSQI"
review_id = "PR30SEP24"
record_id = hashlib.sha256((account_code + iiban + review_id).encode('utf-8')).hexdigest()
balances = "BTC:0.00093799,ETH:0.0422125592,SOL:0.0,USDC:0.0,USDT:6.72754,XRP:0.0"
print("Record ID: {}".format(record_id))
print("Merkle Hash: {}".format((record_id + "," + balances)))
hash_result = hashlib.sha256((record_id + "," + balances).encode('utf-8')).hexdigest()
print("SHA Result: {}".format(hash_result))
print("Merkle Leaf: {}".format(hash_result[0:16]))
#Merkle Tree Path function
def mix(x, y):
a = bytes.fromhex(x)
b = bytes.fromhex(y)
d = hashlib.sha256()
d.update(a)
d.update(b)
return d.hexdigest()Rust
use sha2::{Digest, Sha256};
//Merkle Leaf ID calculation
const ACCOUNT_CODE: &str = "8dc20f34da8cea8dd0f46b001694f5123ecd30d786c5eb92ad1a013703a4f8d1";
const IIBAN: &str = "AB12C34DEFG5KSQI";
const REVIEW_ID: &str = "PR30SEP24";
const BALANCES: &str = "BTC:0.00093799,ETH:0.0422125592,SOL:0.0,USDC:0.0,USDT:6.72754,XRP:0.0";
fn main() {
let mut record_hasher: Sha256 = Default::default();
record_hasher.update(ACCOUNT_CODE);
record_hasher.update(IIBAN);
record_hasher.update(REVIEW_ID);
let record_id = format!("{:x}", record_hasher.finalize());
let merkle_hash = format!("{},{}", record_id, BALANCES);
let mut merkle_hasher: Sha256 = Default::default();
merkle_hasher.update(&merkle_hash);
let merkle_result = format!("{:x}", merkle_hasher.finalize());
println!("Record ID: {}", record_id);
println!("Merkle Hash: {}", merkle_hash);
println!("SHA Result: {}", merkle_result);
println!("Merkle Leaf: {}", &merkle_result[..16]);
}
//Merkle Tree Path function
fn mix(x: &str, y: &str) -> Result<String, hex::FromHexError> {
let mut leaves_hasher: Sha256 = Default::default();
let a = hex::decode(x)?;
let b = hex::decode(y)?;
leaves_hasher.update(&a);
leaves_hasher.update(&b);
Ok(hex::encode(leaves_hasher.finalize()))
}
fn main() {
println!("{}", mix("f42372aeb1be7296", "dfcced6ec3235f5e").unwrap());
assert_eq!(
mix("f42372aeb1be7296", "dfcced6ec3235f5e").unwrap(),
"ad86a5ee2f21347403ce07e365530604690454fa76787e76be9d2f6efdceeabf"
);
}Go
package main
import (
"crypto/sha256"
"fmt"
)
//Merkle Leaf ID Calculation
func main() {
accountCode := "8dc20f34da8cea8dd0f46b001694f5123ecd30d786c5eb92ad1a013703a4f8d1"
iiban := "AB12C34DEFG5KSQI"
reviewId := "PR30SEP24"
secret := accountCode + iiban + reviewId
data := []byte(secret)
hash := sha256.Sum256(data)
recordId := string(hash[:])
fmt.Printf("Record ID: %x\n", recordId)
balances := "BTC:0.00093799,ETH:0.0422125592,SOL:0.0,USDC:0.0,USDT:6.72754,XRP:0.0"
merkleHash := fmt.Sprintf("%x%s%s", recordId, ",", balances)
fmt.Printf("Merkle Hash: %s\n", merkleHash)
hashResult := sha256.Sum256([]byte(merkleHash))
hashResultStr := string(hashResult[:])
fmt.Printf("SHA Result: %x\n", hashResultStr)
fmt.Printf("Merkle Leaf: %x\n", hashResultStr[0:8])
}
//Merkle Tree path hashing
func mix(x, y string) (string, error) {
// Convert the hex strings to bytes
a, err := hex.DecodeString(x)
if err != nil {
return "", err
}
b, err := hex.DecodeString(y)
if err != nil {
return "", err
}
h := sha256.New()
h.Write(a)
h.Write(b)
// Get the final hash value as a byte slice
hashed := h.Sum(nil)
// Convert the hash to a hex string and return it
return hex.EncodeToString(hashed), nil
}
func main() {
result, _ := mix("f42372aeb1be7296", "dfcced6ec3235f5e")
fmt.Println(result)
}Bash
#!/bin/bash
#Merkle Leaf ID calculation
ACCOUNT_CODE="8dc20f34da8cea8dd0f46b001694f5123ecd30d786c5eb92ad1a013703a4f8d1"
IIBAN="AB12C34DEFG5KSQI"
REVIEW_ID="PR30SEP24"
RECORD_ID=$(echo -n "${ACCOUNT_CODE}${IIBAN}${REVIEW_ID}" | sha256sum | head -c 64)
BALANCES="BTC:0.00093799,ETH:0.0422125592,SOL:0.0,USDC:0.0,USDT:6.72754,XRP:0.0"
MERKLE_HASH="${RECORD_ID},${BALANCES}"
HASH_RESULT=$(echo -n ${MERKLE_HASH} | sha256sum | head -c 64)
echo "Record ID: ${RECORD_ID}"
echo "Merkle Hash: ${MERKLE_HASH}"
echo "SHA Result: ${HASH_RESULT}"
echo "Merkle Leaf: $(echo -n ${HASH_RESULT} | head -c 16)"
#Merkle Tree Path function
hex_string1="f42372aeb1be7296"
hex_string2="dfcced6ec3235f5e"
# convert hex strings to binary, concatenate them and then hash
hash_result=$(echo -n "$(echo -n $hex_string1 | xxd -r -p)$(echo -n $hex_string2 | xxd -r -p)" | sha256sum | awk '{ print $1 }')
echo $hash_resultDeficiențe și îmbunătățiri viitoare
În interesul promovării transparenței, dorim să împărtășim câteva deficiențe pe care le-am identificat în procesul de dovadă a rezervelor.
- O dovadă a rezervelor implică dovedirea controlării fondurilor on-chain la momentul verificării, dar nu poate dovedi posesia exclusivă a cheilor private care, la nivel teoretic, ar fi putut fi duplicate de către un atacator.
- Procedura nu poate identifica nicio sarcină ascunsă și nici nu poate dovedi că fondurile nu au fost împrumutate în scopul trecerii de verificare. În mod similar, este posibil să se fi pierdut cheile sau să fi fost furate fonduri de la momentul ultimei verificări.
- Contabilul trebuie să fie competent și independent pentru a minimiza riscul de duplicitate din partea celui examinat sau de complicitate între părți.
- Căutăm să combatem unele dintre aceste deficiențe prin contractarea unei firme terțe respectate și independente în vederea dovezii rezervelor și prin efectuarea acestor verificări într-un ritm regulat. De asemenea, oferim transparență cu privire la aceste date direct pe platforma noastră pentru clienți.
Valorile raportului de rezervă marcate cu asterisc (*) mai sus, pot suferi modificări semnificative atunci când sunt comparate între diferitele rapoarte din Dovada rezervelor Kraken. Aceste variații pot apărea din cauza modificărilor produselor și a îmbunătățirilor aduse infrastructurii noastre de custodie de-a lungul timpului, ceea ce poate influența modul de clasificare a anumitor active aflate în aceste portofele. În conformitate cu practica actuală, o explicație detaliată a metodologiei utilizate pentru Dovada rezervelor este inclusă în toate Rapoartele.