Ημερομηνία στιγμιοτύπου
BTC
Αναλογία αποθεμάτων*
100.3%
ETH
Αναλογία αποθεμάτων*
101.3%
SOL
Αναλογία αποθεμάτων*
101.1%
USDC
Αναλογία αποθεμάτων*
105%+
USDT
Αναλογία αποθεμάτων*
105%+
XRP
Αναλογία αποθεμάτων*
100.6%
ADA
Αναλογία αποθεμάτων*
102.2%
Λογοδοσία, τακτικές ανασκοπήσεις
Στην Kraken, δεν σας προσφέρουμε απλώς τη δυνατότητα να κάνετε συναλλαγές με πρωτοποριακά ψηφιακά περιουσιακά στοιχεία, αλλά προσπαθούμε ενεργά να αξιοποιήσουμε τη διαφάνεια των blockchain ανοιχτού κώδικα στα οποία λειτουργούν.
Οι τακτικές ανασκοπήσεις Proof of Reserves επιτρέπουν στους πελάτες να επαληθεύσουν εύκολα ότι τα υπό εξέταση υπόλοιπά τους υποστηρίζονται από πραγματικά περιουσιακά στοιχεία, κι αυτό με λίγα μόνο κλικ στον λογαριασμό τους.
Μια προηγμένη διαδικασία κρυπτογραφημένης λογιστικής που διεξάγεται τακτικά από αξιόπιστους λογιστές, το Proof of Reserves, σας επιτρέπει να επαληθεύσετε ότι η Kraken πληροί αυστηρά πρότυπα λογοδοσίας και υπερβαίνει τα επίπεδα διαφάνειας που προσφέρουν οι παραδοσιακές χρηματοοικονομικές εταιρείες.
Συχνές ερωτήσεις
Τι είναι το Proof of Reserves;
Μια ανασκόπηση Proof of Reserves (PoR) είναι μια διαδικασία που εκτελείται από ανεξάρτητο λογιστή τρίτου. Αυτό έχει ως στόχο να επιβεβαιώσει ότι ένας θεματοφύλακας κατέχει τα περιουσιακά στοιχεία που διεκδικεί για λογαριασμό των πελατών του. Ο λογιστής λαμβάνει ένα ανωνυμοποιημένο στιγμιότυπο όλων των υπολοίπων που διατηρούνται και τα συγκεντρώνει σε ένα Merkle tree, μια δομή δεδομένων κατάλληλη για την προστασία του απορρήτου που περικλείει όλα τα υπόλοιπα των πελατών.

Στη συνέχεια, ο λογιστής λαμβάνει Merkle root: ένα κρυπτογραφικό αποτύπωμα που αναγνωρίζει με μοναδικό τρόπο τον συνδυασμό αυτών των υπολοίπων τη στιγμή που δημιουργήθηκε το στιγμιότυπο.
Ο λογιστής συλλέγει επίσης ψηφιακές υπογραφές που παράγει η Kraken, οι οποίες αποδεικνύουν την ιδιοκτησία των on-chain διευθύνσεων με δημόσια επαληθεύσιμα υπόλοιπα. Τέλος, ο λογιστής συγκρίνει και επιβεβαιώνει ότι αυτά τα υπόλοιπα υπερβαίνουν ή ταιριάζουν με τα υπόλοιπα των πελατών που αναπαρίστανται στο Merkle tree, διασφαλίζοντας έτσι ότι τα περιουσιακά στοιχεία των πελατών βρίσκονται υπό τον έλεγχο της Kraken.
Κάθε πελάτης μπορεί ανεξάρτητα να επαληθεύσει εάν το υπόλοιπό του περιλαμβάνεται στη διαδικασία Proof of Reserves συγκρίνοντας επιλεγμένα δεδομένα με τη Merkle root. Οποιαδήποτε αλλαγή στα υπόλοιπα δεδομένα, όσο μικρή κι αν είναι, επηρεάζει τη ρίζα, καθιστώντας εμφανή οποιαδήποτε παραποίηση.
Μπορείτε να βρείτε την αναφορά Proof of Reserves μας εδώ.
Τι καλύπτει το Proof of Reserves;
Υπόλοιπα spot
Η ανασκόπηση θα περιέχει όλα τα υπόλοιπά περιουσιακών στοιχείων σας εντός του πεδίου εφαρμογής, τα οποία τηρούνταν κατά τη στιγμή λήψης του στιγμιότυπου. Τα ακόλουθα περιουσιακά στοιχεία εμπίπτουν στο πεδίο εφαρμογής σύμφωνα με την πιο πρόσφατη ανασκόπηση: Bitcoin (BTC), Ether (ETH), Solana (SOL), USD Coin (USDC), Tether (USDT), και Ripple (XRP).
Υπόλοιπα staking
Εάν είχατε υπόλοιπα που είχαν διατεθεί για on-chain staking κατά τη στιγμή του στιγμιότυπου, η αξία του υπολοίπου staking σας θα αθροιστεί με το υπόλοιπό σας spot σε ένα μόνο υπόλοιπο.
Συναλλαγή μέσω margin
Εάν είχατε θέσεις margin εκείνη τη στιγμή, τότε θα βλέπατε το συνολικό σας υπόλοιπο να προσαρμόζεται με βάση τις θετικές αξίες θέσης.
Παράδειγμα 1
Εάν αγοράσατε 1 BTC/USD στα 30.000 USD με margin και η θέση σας είναι ανοιχτή, το υπόλοιπο Proof of Reserves θα αντικατοπτρίζει μια θετική προσαρμογή +1 BTC στο υπόλοιπο BTC σας. Δεν θα υπάρξει αρνητική προσαρμογή στο υπόλοιπό σας σε USD. Το υπόλοιπο των περιουσιακών στοιχείων BTC που τηρείται υπό Θεματοφύλαξη Kraken θα περιλαμβάνει το υπόλοιπο BTC σας εκείνη τη στιγμή, προσαρμοσμένο κατά τη θετική προσαρμογή + 1 BTC για τη θέση margin σας. Το υπόλοιπο περιουσιακών στοιχείων USD σας θα παραμείνει ίδιο.
Παράδειγμα 2
Εάν πουλήσατε 1 BTC/ETH στα 15 ETH με margin και η θέση σας είναι ανοιχτή, το υπόλοιπο Proof of Reserves θα αντικατοπτρίζει μια θετική προσαρμογή +15 ETH στο υπόλοιπο ETH σας. Δεν θα υπάρξει αρνητική προσαρμογή για το υπόλοιπο BTC σας. Το υπόλοιπο των περιουσιακών στοιχείων ΕΤΗ που τηρείται υπό Θεματοφύλαξη Kraken θα περιλαμβάνει το υπόλοιπο ΕΤΗ σας εκείνη τη στιγμή, προσαρμοσμένο κατά τη θετική προσαρμογή + 15 ΕΤΗ για τη θέση margin σας. Το υπόλοιπο περιουσιακών στοιχείων BTC που τηρείται υπό Θεματοφύλαξη Kraken θα παραμείνει το ίδιο.
Σημείωση: Η μεθοδολογία futures που περιγράφεται παραπάνω ισχύει από τις ανασκοπήσεις των Proof of Reserves του Μαΐου 2023.
Υπόλοιπο futures
Εάν είχατε υπόλοιπα στο πορτοφόλι futures σας κατά τη στιγμή της ανασκόπησης, θα υπάρχει ξεχωριστό αρχείο Proof of Reserves για τα υπόλοιπα εξασφαλίσεων futures. Τα υπόλοιπά σας προσαρμόζονται με βάση τα μη πραγματοποιηθέντα κέρδη και ζημίες για συναλλαγές futures μεμονωμένης εξασφάλισης. Αυτό θα περιλαμβάνει τα ίδια περιουσιακά στοιχεία εντός πεδίου εφαρμογής όπως για το spot και το margin και θα αποτελεί μέρος του ίδιου Merkle Tree (με το δικό του Merkle Leaf ID).
Παράδειγμα 1
Εάν είχατε 1 BTC στο πορτοφόλι σας για futures και ανοίξετε μια θέση σε BTC Perp μεμονωμένης εξασφάλισης, η οποία έχει μη πραγματοποιηθέντα κέρδη και ζημίες -0,1 BTC, τότε το υπόλοιπο BTC σας που διατηρείται υπό Θεματοφύλαξη Kraken θα είναι 0,9 BTC (το 1 BTC σας, προσαρμοσμένο κατά -0,1 BTC για μη πραγματοποιηθέντα κέρδη και ζημίες).
Παράδειγμα 2
Εάν είχατε 1 BTC στο πορτοφόλι σας για futures και ανοίξετε μια θέση σε BTC Perp πολλαπλής εξασφάλισης, η οποία έχει μη πραγματοποιηθέντα κέρδη και ζημίες -100,0 USD, τότε το υπόλοιπο BTC σας που διατηρείται υπό Θεματοφύλαξη Kraken θα είναι 1 BTC (το 1 BTC δεν προσαρμόζεται από τα μη πραγματοποιηθέντα κέρδη και ζημίες, καθώς αυτά παρακολουθούνται σε USD, και το USD δεν αποτελεί περιουσιακό στοιχείο εντός του πεδίου εφαρμογής αυτής της ανασκόπησης).
Σημείωση: Η μεθοδολογία futures που περιγράφεται παραπάνω ισχύει από τις ανασκοπήσεις των Proof of Reserves του Μαΐου 2023.
Πώς μπορώ να επαληθεύσω ότι ο λογαριασμός μου συμπεριλήφθηκε στην ανασκόπηση Proof of Reserves;
Απλή επαλήθευση
Ακολουθήστε τα παρακάτω βήματα για να επαληθεύσετε κρυπτογραφικά την συμπερίληψη του υπολοίπου του λογαριασμού σας Kraken στην πιο πρόσφατη ανασκόπηση Proof of Reserves.
Σημείωση: Αυτή η επαλήθευση θα αντικατοπτρίζει μόνο τα υπόλοιπα του λογαριασμού σας στα περιουσιακά στοιχεία εντός του πεδίου εφαρμογής κατά τη στιγμή της ανασκόπησης. Δεν θα αντικατοπτρίζει τυχόν μεταγενέστερες συναλλαγές, ούτε υπόλοιπα που διατηρούνται σε περιουσιακά στοιχεία εκτός του πεδίου εφαρμογής.
1. Συνδεθείτε στον λογαριασμό σας στην Kraken και μεταβείτε στη σελίδα Proof of Reserves στη διεπαφή του Kraken Pro (pro.kraken.com) (Εικονίδιο λογαριασμού > Proof of Reserves).

2. Επιλέξτε την καρτέλα Proof of Reserves . Αυτό θα περιλαμβάνει τις πιο πρόσφατες επαληθευμένες αναλογίες αποθεμάτων, καθώς και πληροφορίες που αφορούν συγκεκριμένα τον λογαριασμό σας. Ο λογαριασμός σας θα εμφανίζει πρόσφατες αναφορές Proof of Reserves στις οποίες επαληθεύτηκε το υπόλοιπο του λογαριασμού σας, συμπεριλαμβανομένης της ημερομηνίας αναφοράς, του παρόχου και του πεδίου εφαρμογής της αξιολόγησης.

3. Επιλέξτε την ημερομηνία και κάντε κλικ στην επιλογή Επαλήθευση. Εδώ, θα βρείτε επιβεβαίωση των υπολοίπων που τηρούνταν κατά τη στιγμή της ανασκόπησης, καθώς και έναν οδηγό για τον τρόπο επαλήθευσης των στοιχείων σας.

Επαληθεύστε με τον ανεξάρτητο λογιστή
-
Χρησιμοποιήστε το Merkle Leaf ID σας - αντιγράψτε τους πρώτους 16 χαρακτήρες και συμπληρώστε τους στα εργαλεία του λογιστή τρίτου για να ανακτήσετε τα υπόλοιπά σας και να ελέγξετε το ID σας στη διαδρομή Merkle Tree. Το εργαλείο λογιστή τρίτου θα ανοίξει σε διαφορετικό παράθυρο.
Σημείωση: Αυτό είναι διαθέσιμο από τις ανασκοπήσεις του 2023 και μετά. Για προηγούμενη ανασκόπηση, ανατρέξτε στην ιστοσελίδα του συνεργάτη μας για να βρείτε τα εργαλεία επαλήθευσης.

Επαληθεύστε με την Kraken
- Επαλήθευση του ID εγγραφής σας - ακολουθήστε τα βήματα για να δημιουργήσετε ξανά το ID εγγραφής σας, το οποίο προσδιορίζει μοναδικά τα στοιχεία του λογαριασμού σας και το ID ανασκόπησής σας (μοναδικό για κάθε ημερομηνία αναφοράς)
- Επαλήθευση του Merkle Leaf ID σας - ακολουθήστε τα βήματα για να δημιουργήσετε ξανά το Merkle Leaf ID, το οποίο προσδιορίζει μοναδικά τον λογαριασμό σας μαζί με τα υπόλοιπα που διατηρούνται κατά τη στιγμή του στιγμιοτύπου ανασκόπησης
- Επιβεβαίωση του Merkle Leaf ID σας στο Merkle Tree - επιβεβαιώστε ότι το ID σας ανήκει στο Merkle Tree και επικυρώστε τη διαδρομή προς το Merkle Tree root, η οποία επαληθεύεται από λογιστή τρίτου και κοινοποιείται σε όλους τους πελάτες
Σημείωση: Αυτό είναι διαθέσιμο από τις ανασκοπήσεις του 2023 και μετά. Για προηγούμενη ανασκόπηση, ανατρέξτε στην ιστοσελίδα του συνεργάτη μας για να βρείτε τα εργαλεία επαλήθευσης.



Επαλήθευση για προχωρημένους
Οι πελάτες με τεχνολογικές γνώσεις μπορεί να επιθυμούν να ανακατασκευάσουν ανεξάρτητα το συγκεκριμένο hash κόμβου Merkle Tree leaf και να αναζητήσουν τα υπόλοιπά τους στο Merkle Tree μέσω προγραμματισμού, αντί για τα οπτικά εργαλεία που παρέχονται από το Kraken ή από λογιστές τρίτων.
Μπορείτε να ακολουθήσετε τα παρακάτω βήματα επαλήθευσης στον κώδικα:
-
Μπορείτε να επαληθεύσετε τη δημιουργία του Merkle Tree Leaf ID για τον λογαριασμό σας, ακολουθώντας τα παρακάτω βήματα.
-
Στη συνέχεια, μπορείτε να επαληθεύσετε τη διαδρομή του Merkle Tree για το leaf ID και να την ανακατασκευάσετε από τη θέση σας στον κόμβο root. Παρέχουμε πλήρη διαφάνεια και συμπεριλαμβάνουμε επίσης τα sibling leaf ID σας.
Τα απαιτούμενα βήματα, σε ψευδοκώδικα, για την ανακατασκευή του ID εγγραφή σας και του Merkle Leaf από τον κωδικό λογαριασμού σας, το Kraken IIBAN, το ID ανασκόπησης και τα υπόλοιπα περιγράφονται παρακάτω. Λάβετε υπόψη ότι τα αποτελέσματα εξαρτώνται από τη συγκεκριμένη μορφή των υπολοίπων και τη σειρά των περιουσιακών στοιχείων που ελέγχθηκαν, όπως εμφανίζονται στη σελίδα Proof of Reserves.
- Record ID = SHA256(concatenate(Account Code, Kraken IIBAN, Review ID))
- Balances = ""
- ForEach Asset:
- Balances = concatenate(Asset, ":", AssetBalances[asset])
- Merkle Hash = concatenate(Record ID, “,”, Balances)
- Merkle Leaf = substring(SHA256(Merkle Hash), 0, 16)
Αφού αναγνωριστεί το Merkle Leaf σας, μπορείτε να χρησιμοποιήσετε μια επαλήθευση SHA256 με τιμές HEX για να ανακατασκευάσετε τη διαδρομή Merkle Tree.
Συγκεκριμένα παραδείγματα παρουσιάζονται επίσης στα παρακάτω αποσπάσματα κώδικα. Το Merkle Leaf που προκύπτει είναι επίσης διαθέσιμο στις λεπτομέρειες της ανασκόπησης για να επιβεβαιώσετε ότι έχει ανακατασκευαστεί σωστά.
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_resultΕλλείψεις και μελλοντικές βελτιώσεις
Για σκοπούς διαφάνειας, θα θέλαμε να μοιραστούμε ορισμένες από τις ελλείψεις στη διαδικασία Proof of Reserves process που έχουμε εντοπίσει.
- Ένα αρχείο Proof of Reserves περιλαμβάνει την απόδειξη ελέγχου επί των κεφαλαίων on-chain κατά τη στιγμή της ανασκόπησης, αλλά δεν μπορεί να αποδείξει την αποκλειστική κατοχή ιδιωτικών κλειδιών που θεωρητικά ενδέχεται να έχουν αντιγραφεί από έναν εισβολέα.
- Η διαδικασία δεν μπορεί να εντοπίσει τυχόν κρυφές επιβαρύνσεις ή να αποδείξει ότι δεν υπήρχε δανεισμός κεφαλαίων για τους σκοπούς της επιτυχούς ανασκόπησης. Ομοίως, ενδέχεται να έχουν χαθεί κλειδιά ή κλαπεί κεφάλαια από την τελευταία ανασκόπηση.
- Ο λογιστής πρέπει να είναι ικανός και ανεξάρτητος ώστε να ελαχιστοποιείται ο κίνδυνος δολιότητας εκ μέρους του εξεταζόμενου ή συνωμοσίας μεταξύ των μερών.
- Επιδιώκουμε να μετριάσουμε ορισμένες από αυτές τις ελλείψεις συνεργαζόμενοι με μια αξιόπιστη, ανεξάρτητη εταιρεία τρίτου για το Proof of Reserves και διεξάγοντας τακτικά αυτές τις ανασκοπήσεις. Παρέχουμε επίσης διαφάνεια σχετικά με αυτά τα δεδομένα απευθείας στην πλατφόρμα πελατών μας.
Η αναλογία αποθεματικών που σημειώνεται με αστερίσκο (*) παραπάνω ενδέχεται να αλλάξει σημαντικά κατά τη σύγκριση των αναφορών Proof of Reserves της Kraken, λόγω αλλαγών στα προϊόντα και βελτιώσεων στην υποδομή θεματοφύλαξης μας με την πάροδο του χρόνου, οι οποίες ενδέχεται να επηρεάσουν την κατηγοριοποίηση ορισμένων περιουσιακών στοιχείων που διατηρούνται σε αυτά τα πορτοφόλια. Σύμφωνα με την τρέχουσα πρακτική, σε όλες τις αναφορές περιλαμβάνεται εξήγηση της μεθοδολογίας Proof of Reserves.