Anlık görüntü tarihi
BTC
Rezerv oranı*
%100.3
ETH
Rezerv oranı*
%101.3
SOL
Rezerv oranı*
%101.1
USDC
Rezerv oranı*
%105+
USDT
Rezerv oranı*
%105+
XRP
Rezerv oranı*
%100.6
ADA
Rezerv oranı*
%102.2
Hesap verebilirlik, düzenli incelemeler
Kraken'de size sadece en yeni dijital varlıkları alıp satma imkanı sunmakla kalmıyoruz, aynı zamanda bunların çalıştığı açık kaynaklı blockchain'lerin şeffaflığından da yararlanmaya çalışıyoruz.
Düzenli olarak gerçekleştirilen Rezerv Kanıtı değerlendirmelerimiz, sahip olduğunuz bakiyelerin gerçek varlık karşılıklarının bulunduğunu, hesabınızda birkaç basit tıklama yaparak kolayca doğrulamanızı sağlar.
Güvenilir muhasebeciler tarafından düzenli olarak yürütülen gelişmiş bir kriptografik muhasebe prosedürü olan Rezerv Kanıtı, Kraken'in hesap verebilirlik konusunda titiz standartları karşıladığını ve eski finans firmalarının sunduğu şeffaflığı aştığını doğrulamanızı sağlar.
Sık Sorulan Sorular
Rezerv Kanıtı nedir?
Rezerv Kanıtı (PoR) incelemesi, bağımsız bir üçüncü taraf muhasebeci tarafından gerçekleştirilen bir prosedürdür. Bu, bir gözetimci kuruluşun müşterileri adına sahip olduğunu iddia ettiği varlıkları elinde bulundurduğunu teyit etmek amacıyla yapılır. Bu muhasebeci, tutulan tüm bakiyelerin anonimleştirilmiş bir anlık görüntüsünü alır ve bunları tüm müşteri bakiyelerini kapsayan gizlilik dostu bir veri yapısı olan Merkle ağacında toplar.
Bu sayede muhasebeci bir Merkle kökü elde eder. Merkle kökü, anlık görüntünün oluşturulduğu sırada bu bakiyelerin kombinasyonunu benzersiz bir şekilde tanımlayan kriptografik bir parmak izidir.
Muhasebeci daha sonra Kraken tarafından üretilen ve halka açık doğrulanabilir bakiyelerle zincir üzerindeki adreslerin sahipliğini kanıtlayan dijital imzaları toplar. Son olarak muhasebeci bu bakiyelerin, Merkle ağacında temsil edilen müşteri bakiyelerini aşıp aşmadığını veya bu bakiyelerle eşleşip eşleşmediğini karşılaştırır ve doğrular; dolayısıyla müşteri varlıklarının Kraken'in kontrolünde olup olmadığını teyit eder.
Herhangi bir müşteri, belirli veri parçalarını Merkle kökü ile karşılaştırarak bakiyelerinin Rezerv Kanıtı prosedürüne dahil edilip edilmediğini bağımsız olarak doğrulayabilir. Verilerin geri kalanında yapılan herhangi bir değişiklik, ne kadar küçük olursa olsun, kökü etkileyecek ve verilerin kurcalandığını açıkça gösterecektir.
Rezerv Kanıtı raporumuzu burada bulabilirsiniz.
Rezerv Kanıtı neleri kapsar?
Spot bakiyeler
İnceleme, anlık görüntünün alındığı anda kapsam dahilindeki varlıklardaki tüm bakiyelerinizi içerecektir. En son inceleme itibariyle aşağıdaki varlıklar kapsam dahilindedir: Bitcoin (BTC), Ether (ETH), Solana (SOL), USD Coin (USDC), Tether (USDT) ve Ripple (XRP).
Staking bakiyeleri
Anlık görüntü alma sırasında zincir içi stake etme için tahsis edilmiş bakiyeniz varsa stake edilmiş bakiyenizin değeri spot bakiyenizle tek bir bakiye altında toplanacaktır.
Kredili borsa işlemi
O sırada marjin pozisyonlarınız varsa toplam bakiyenizin pozitif pozisyon değerleri ile ayarlandığını görürsünüz.
Örnek 1
Marjinle 30.000 USD'den 1 BTC/USD satın aldıysanız ve pozisyonunuz açıksa Rezerv Kanıtı bakiyeniz BTC bakiyenize +1 BTC pozitif bir düzeltme yansıtacaktır. USD bakiyenizde herhangi bir negatif düzeltme yapılmayacaktır. Kraken'in gözetiminde tutulan BTC varlık bakiyeniz, o andaki BTC bakiyenizi ve marjin pozisyonunuz için + 1 BTC pozitif ayarlamayı içerecektir. USD varlık bakiyeniz aynı kalacaktır.
Örnek 2
1 BTC/ETH'yi 15 ETH'den marjinle sattıysanız ve pozisyonunuz açıksa Rezerv Kanıtı bakiyeniz ETH bakiyenize +15 ETH pozitif bir düzeltme yansıtacaktır. BTC bakiyeniz için herhangi bir negatif düzeltme yapılmayacaktır. Kraken'in gözetiminde tutulan ETH varlık bakiyeniz, o andaki ETH bakiyenizi ve marjin pozisyonunuz için + 15 ETH pozitif ayarlamayı içerecektir. Kraken'in gözetiminde tutulan BTC varlık bakiyeniz aynı kalacaktır.
Not: Yukarıda açıklanan vadeli işlem metodolojisi, Mayıs 2023 Rezerv Kanıtı incelemelerinden itibaren geçerli olacaktır.
Vadeli işlemler bakiyesi
İnceleme sırasında Vadeli İşlemler cüzdanınızda bakiye varsa vadeli işlem teminat bakiyeleriniz için ayrı bir Rezerv Kanıtı kaydı olacaktır. Bakiyeleriniz, Tek Teminatlı vadeli işlemler için gerçekleşmemiş Kâr ve Zarar ile düzeltilir. Bu, spot ve marjin için geçerli olan aynı kapsamdaki varlıkları içerecek ve aynı Merkle Ağacının bir parçası olacaktır (kendi Merkle Leaf kimliği ile).
Örnek 1
Vadeli işlemler cüzdanınızda 1 BTC varsa ve -0,1 BTC gerçekleşmemiş kâr ve zarar olan BTC Perp Tek Teminatlı pozisyon açarsanız Kraken'in gözetiminde tutulan BTC bakiyeniz 0,9 BTC olacaktır (gerçekleşmemiş Kâr/Zarar için -0,1 BTC'den arındırılmış 1 BTC'niz).
Örnek 2
Vadeli işlemler cüzdanınızda 1 BTC varsa ve -100,0 USD gerçekleşmemiş kâr ve zarar olan BTC Perp Çoklu Teminatlı pozisyon açarsanız Kraken'in gözetiminde tutulan BTC bakiyeniz 1 BTC olacaktır (1 BTC'niz gerçekleşmemiş Kâr/Zarar tarafından ayarlanmaz, çünkü bu USD cinsinden takip edilir ve USD bu inceleme kapsamında bir varlık değildir).
Not: Yukarıda açıklanan vadeli işlem metodolojisi, Mayıs 2023 Rezerv Kanıtı incelemelerinden itibaren geçerli olacaktır.
Hesabımın Rezerv Kanıtı incelemesine dahil edildiğini nasıl doğrulayabilirim?
Basit doğrulama
En son Rezerv Kanıtı incelemesinde Kraken hesap bakiyenizin dahil edildiğini kriptografik olarak doğrulamak için aşağıdaki adımları izleyin.
Not: Bu doğrulama, yalnızca inceleme sırasında hesabınızın kapsam dahilindeki varlıklarının bakiyelerini yansıtacaktır. Sonraki işlemleri veya işlemleri yansıtmayacak, ayrıca kapsam dışı varlıklarda tutulan bakiyeleri de yansıtmayacaktır.
1. Kraken hesabınıza giriş yapın ve Kraken Pro arayüzünde (pro.kraken.com) Rezerv Kanıtı sayfasına gidin (Hesap simgesi > Rezerv Kanıtı).
2.Destek ekibimizi konu hakkında bilgilendirmek için bir destek talebi oluşturun: Rezerv Kanıtı sekmesini seçin. Bu, en son doğrulanmış rezerv oranlarımızı ve hesabınıza özgü bilgileri içerecektir. Hesabınızda, hesap bakiyenizin doğrulandığı son Rezerv Kanıtı raporları, rapor tarihi, sağlayıcı ve değerlendirme kapsamı dahil olmak üzere görüntülenir.
3. Tarihi seçin ve Kendinizi doğrulayın düğmesine tıklayın. Burada, inceleme sırasında tutulan bakiyelerin teyidini ve bilgilerinizi doğrulama konusunda bir kılavuz bulabilirsiniz.
3. taraf muhasebeci ile doğrulayın
-
Merkle Leaf kimliğinizi kullanın - İlk 16 karakteri kopyalayın ve üçüncü taraf muhasebeci araçlarına girerek bakiyenizi alın ve Merkle Tree yolunda kimliğinizi inceleyin. Üçüncü taraf muhasebeci aracı ayrı bir pencerede açılacaktır.
Not: Bu, 2023 incelemelerinden itibaren kullanılabilir hale getirilmiştir. Önceki incelemeler için doğrulama araçlarını bulmak üzere lütfen iş ortağımızın web sayfasına bakın.
Kraken ile doğrulayın
- Kayıt No.nuzu Doğrulayın - Hesap bilgilerinizi ve İnceleme Kimliğini (her rapor tarihi için benzersizdir) benzersiz bir şekilde tanımlayan kayıt No.nuzu yeniden oluşturmak için adımları izleyin
- Merkle Leaf kimliğinizi doğrulayın - İnceleme anında hesabınızda bulunan bakiyelerle birlikte hesabınızı benzersiz bir şekilde tanımlayan Merkle Leaf kimliğinizi yeniden oluşturmak için adımları izleyin
- Merkle Ağacında Merkle Leaf kimliğinizi onaylayın - Kimliğinizin Merkle ağacına ait olduğunu onaylayın ve Merkle Ağacı köküne giden yolu doğrulayın. Bu yol, üçüncü taraf muhasebecimiz tarafından doğrulanır ve tüm müşterilerle paylaşılır
Not: Bu, 2023 incelemelerinden itibaren kullanılabilir hale getirilmiştir. Önceki incelemeler için doğrulama araçlarını bulmak üzere lütfen iş ortağımızın web sayfasına bakın.
Gelişmiş doğrulama
Teknolojiye yatkın müşteriler, Kraken veya üçüncü taraf muhasebeciler tarafından sağlanan görsel araçlar yerine, kendi Merkle Ağacı yaprak node'u hash'lerini bağımsız olarak yeniden oluşturmak ve Merkle Ağacında programlı olarak bakiyelerini kontrol etmek isteyebilirler.
Aşağıdaki doğrulama adımlarını kodda gerçekleştirebilirsiniz:
-
Aşağıda belirtilen adımları izleyerek, hesabınız için Merkle Ağacı Leaf kimliğinin oluşturulduğunu doğrulayabilirsiniz.
-
Ardından, leaf kimliği için Merkle Ağacı Yolunuzu doğrulayabilir ve konumunuzdan kök node'a (düğüm) kadar olan yolu yeniden oluşturabilirsiniz. Tam şeffaflık sağlıyoruz ve kardeş leaf kimliklerinizi de dahil ediyoruz.
Hesap Kodunuz, Kraken IIBAN, İnceleme Kimliği ve Bakiyelerinizden Kayıt No.nuzu ve Merkle Leaf'i yeniden oluşturmak için gerekli adımlar, sözde kodda aşağıda özetlenmiştir. Sonuçların, Rezerv Kanıtı sayfasında gösterildiği gibi, bakiyelerin belirli dize biçimlendirmesine ve incelenen varlıkların sırasına duyarlı olduğunu unutmayın.
- 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'iniz tanımlandıktan sonra, HEX değerleriyle SHA256 doğrulamasını kullanarak Merkle Ağacı Yolunu yeniden oluşturabilirsiniz.
Aşağıdaki kod parçacıklarında da belirli örnekler gösterilmektedir. Ortaya çıkan Merkle Leaf, doğru bir şekilde yeniden oluşturduğunuzu doğrulamanıza yardımcı olmak için inceleme ayrıntılarında da görülebilir.
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_resultEksiklikler ve gelecekteki iyileştirmeler
Şeffaflığı desteklemek amacıyla, Rezerv Kanıtı sürecinde tespit ettiğimiz bazı eksiklikleri paylaşmak istiyoruz.
- Rezerv Kanıtı, inceleme anında zincir içi fonlar üzerindeki kontrolün kanıtlanmasını içerir ancak teorik olarak bir saldırgan tarafından kopyalanmış olabilecek özel anahtarların münhasır mülkiyetini kanıtlayamaz.
- Bu prosedür, gizli yükümlülükleri tespit edemez veya fonların incelemeyi geçmek amacıyla ödünç alınmadığını kanıtlayamaz. Benzer şekilde, son inceleme tarihinden bu yana anahtarlar kaybolmuş veya fonlar çalınmış olabilir.
- Muhasebeci, sınava giren kişinin ikiyüzlülük yapma veya taraflar arasında gizli anlaşma yapma riskini en aza indirmek için yetkin ve bağımsız olmalıdır.
- Rezerv Kanıtı için saygın, bağımsız bir üçüncü taraf şirketle çalışarak ve bu incelemeleri düzenli aralıklarla gerçekleştirerek bu eksikliklerin bir kısmını gidermeye çalışıyoruz. Bu verilerle ilgili şeffaflığı doğrudan müşteri platformumuzda da sağlıyoruz.
The reserve ratio figures marked with an asterisk (*) above may change materially when comparing Kraken's Proof of Reserves reports due to product changes and enhancements to our custodial infrastructure across time, which may affect the classification of certain of the assets held in these wallets. Consistent with current practice, an explanation of the precise Proof of Reserves methodology is included in all Reports.