Ngày chụp nhanh
BTC
Tỷ lệ dự trữ*
100.3%
ETH
Tỷ lệ dự trữ*
101.3%
SOL
Tỷ lệ dự trữ*
101.1%
USDC
Tỷ lệ dự trữ*
105%+
USDT
Tỷ lệ dự trữ*
105%+
XRP
Tỷ lệ dự trữ*
100.6%
ADA
Tỷ lệ dự trữ*
102.2%
Trách nhiệm giải trình, đánh giá thường xuyên
Tại Kraken, chúng tôi không chỉ cung cấp cho bạn khả năng giao dịch các tài sản kỹ thuật số tiên tiến mà còn nỗ lực tận dụng tính minh bạch của các blockchain nguồn mở mà họ vận hành.
Việc đánh giá Bằng chứng Dự trữ thường xuyên của chúng tôi giúp khách hàng dễ dàng xác minh số dư trong phạm vi mà họ nắm giữ được hỗ trợ bởi tài sản thực, tất cả chỉ với vài cú nhấn chuột dễ dàng trong tài khoản của họ.
Là một quy trình kế toán bằng mật mã nâng cao được thực hiện thường xuyên bởi các kế toán viên đáng tin cậy, Bằng chứng dự trữ cho phép bạn xác minh rằng Kraken có đáp ứng được các tiêu chuẩn khắt khe về trách nhiệm giải trình và vượt quá tính minh bạch do các công ty tài chính truyền thống đưa ra hay không.
Những câu hỏi thường gặp
Bằng chứng dự trữ là gì?
Đánh giá Bằng chứng dự trữ (PoR) là một thủ tục được thực hiện bởi một kế toán viên bên thứ 3 độc lập. Điều này nhằm mục đích xác nhận rằng bên giám hộ nắm giữ tài sản mà họ yêu cầu thay mặt cho khách hàng của mình. Kế toán viên này chụp ảnh ẩn danh tất cả số dư đang nắm giữ và tổng hợp chúng thành cây Merkle — một cấu trúc dữ liệu thân thiện với quyền riêng tư, bao gồm tất cả số dư của khách hàng.
Từ đó, kế toán viên sẽ lấy được Merkle root: dấu vân tay mật mã xác định duy nhất sự kết hợp của các số dư này tại thời điểm ảnh chụp nhanh được tạo.
Sau đó, kế toán viên thu thập chữ ký số do Kraken tạo ra, chữ ký này chứng minh quyền sở hữu đối với các địa chỉ on-chain với số dư có thể xác minh công khai. Cuối cùng, kế toán so sánh và xác minh rằng số dư này vượt quá hoặc khớp với số dư của khách hàng được biểu thị trong cây Merkle và do đó tài sản của khách hàng nằm trong sự kiểm soát của Kraken.
Bất kỳ khách hàng nào cũng có thể tự mình xác minh xem số dư của họ có được đưa vào quy trình Bằng chứng dự trữ hay không bằng cách so sánh các phần dữ liệu được chọn với Merkle root. Bất kỳ thay đổi nào được thực hiện đối với phần còn lại của dữ liệu, dù nhỏ đến đâu, cũng sẽ ảnh hưởng đến root – khiến cho việc giả mạo trở nên rõ ràng.
Báo cáo Bằng chứng dự trữ của chúng tôi có thể được tìm thấy tại đây.
Bằng chứng dự trữ bao gồm những gì?
Số dư Spot
Bản đánh giá sẽ bao gồm tất cả số dư của bạn trong các tài sản nằm trong phạm vi, được lưu giữ tại thời điểm chụp nhanh. Các tài sản sau đây nằm trong phạm vi đánh giá gần đây nhất: Bitcoin (BTC), Ether (ETH), Solana (SOL), USD Coin (USDC), Tether (USDT) và Ripple (XRP).
Số dư staking
Nếu số dư của bạn được phân bổ cho staking on-chain tại thời điểm chụp nhanh, giá trị số dư đã staking của bạn sẽ được tổng hợp với số dư giao ngay của bạn trong một số dư duy nhất.
Giao dịch ký quỹ
Nếu bạn có vị thế ký quỹ tại thời điểm đó, thì bạn sẽ thấy tổng số dư của mình được điều chỉnh theo giá trị vị thế dương.
Ví dụ 1
Nếu bạn mua 1 BTC/USD @ 30.000 USD bằng ký quỹ và vị thế của bạn đang mở, số dư Bằng chứng dự trữ của bạn sẽ phản ánh mức điều chỉnh +1 BTC dương vào số dư BTC của bạn. Sẽ không có điều chỉnh tiêu cực nào đối với số dư USD của bạn. Số dư tài sản BTC của bạn được lưu ký tại Kraken sẽ bao gồm số dư BTC của bạn tại thời điểm đó, được điều chỉnh theo mức điều chỉnh dương + 1 BTC cho vị thế ký quỹ của bạn. Số dư tài sản USD của bạn sẽ vẫn giữ nguyên.
Ví dụ 2
Nếu bạn bán 1 BTC/ETH @ 15 ETH theo ký quỹ và vị thế của bạn đang mở, số dư Bằng chứng Dự trữ của bạn sẽ phản ánh mức điều chỉnh +15 ETH dương vào số dư ETH của bạn. Sẽ không có điều chỉnh tiêu cực nào cho số dư BTC của bạn. Số dư tài sản ETH của bạn được lưu ký tại Kraken sẽ bao gồm số dư ETH của bạn tại thời điểm đó, được điều chỉnh theo mức điều chỉnh dương + 15 ETH cho các vị thế ký quỹ của bạn. Số dư tài sản BTC của bạn được lưu giữ tại Kraken sẽ vẫn giữ nguyên.
Lưu ý: Phương pháp tương lai được mô tả ở trên có hiệu lực kể từ đợt đánh giá Bằng chứng Dự trữ vào tháng 5 năm 2023.
Số dư Futures
Nếu bạn có số dư trong ví Hợp đồng tương lai tại thời điểm xem xét, sẽ có một bản ghi Bằng chứng dự trữ riêng cho số dư tài sản thế chấp tương lai của bạn. Số dư của bạn được điều chỉnh theo Lời và Lỗ chưa thực hiện đối với giao dịch tương lai thế chấp đơn lẻ. Điều này sẽ bao gồm các tài sản trong phạm vi giống như giao ngay và ký quỹ, và sẽ là một phần của cùng một cây Merkle (có ID Merkle Leaf riêng).
Ví dụ 1
Nếu bạn có 1 BTC trong ví hợp đồng tương lai của mình và bạn mở một vị thế trong BTC Perp Single Collateral, có Lãi và Lỗ chưa thực hiện là -0,1 BTC, thì số dư BTC của bạn được lưu ký tại Kraken sẽ là 0,9 BTC (1 BTC của bạn, được điều chỉnh -0,1 BTC cho Lãi và Lỗ chưa thực hiện).
Ví dụ 2
Nếu bạn có 1 BTC trong ví hợp đồng tương lai của mình và bạn mở một vị thế trong BTC Perp Multi-Collateral, có Lãi và Lỗ chưa thực hiện là -100,0 USD, thì số dư BTC của bạn được lưu ký tại Kraken sẽ là 1 BTC (1 BTC của bạn không được điều chỉnh theo Lãi và Lỗ chưa thực hiện vì số tiền này được theo dõi bằng USD và USD không phải là tài sản nằm trong phạm vi đánh giá này).
Lưu ý: Phương pháp tương lai được mô tả ở trên có hiệu lực kể từ đợt đánh giá Bằng chứng Dự trữ vào tháng 5 năm 2023.
Làm thế nào để xác minh tài khoản của tôi có được đưa vào đánh giá Bằng chứng dự trữ hay không?
Xác minh đơn giản
Thực hiện theo các bước dưới đây để xác minh bằng mật mã việc đưa số dư tài khoản Kraken của bạn vào đánh giá Bằng chứng Dự trữ gần đây nhất.
Lưu ý: Việc xác minh này sẽ chỉ phản ánh số dư tài khoản của bạn trong các tài sản nằm trong phạm vi tại thời điểm xem xét. Nó sẽ không phản ánh bất kỳ giao dịch hoặc giao dịch tiếp theo nào, cũng như không phản ánh số dư nắm giữ trong các tài sản không nằm trong phạm vi.
1. Đăng nhập vào tài khoản Kraken của bạn và điều hướng đến trang Bằng chứng dự trữ trong giao diện Kraken Pro (pro.kraken.com) (biểu tượng Tài khoản > Bằng chứng Dự trữ).
2. Chọn tab Bằng chứng Dự trữ. Điều này sẽ bao gồm tỷ lệ dự trữ được xác minh gần đây nhất của chúng tôi cũng như thông tin cụ thể cho tài khoản của bạn. Tài khoản của bạn sẽ hiển thị các báo cáo Bằng chứng dự trữ gần đây trong đó số dư tài khoản của bạn đã được xác minh, bao gồm ngày lập báo cáo, nhà cung cấp và phạm vi đánh giá.
3. Chọn ngày và nhấn vào Xác minh chính mình. Tại đây, bạn sẽ tìm thấy xác nhận về số dư được giữ tại thời điểm xem xét, cũng như hướng dẫn về cách xác minh thông tin chi tiết của bạn.
Xác minh với kế toán bên thứ 3
-
Sử dụng ID Merkle Leaf của bạn - sao chép 16 ký tự đầu tiên và nhập chúng vào công cụ của kế toán viên bên thứ 3 để lấy số dư và xem lại ID của bạn trong đường dẫn cây Merkle. Công cụ của bên kế toán thứ 3 sẽ mở ra trong một cửa sổ riêng.
Lưu ý: Tính năng này đã có sẵn từ bài đánh giá năm 2023 trở đi. Để xem lại trước, vui lòng tham khảo trang web của đối tác để tìm các công cụ xác minh.
Xác minh với Kraken
- Xác minh mã bản ghi của bạn - làm theo các bước để tạo lại mã bản ghi của bạn, ID này xác định duy nhất thông tin chi tiết về tài khoản của bạn và ID đánh giá (duy nhất cho mỗi ngày báo cáo)
- Xác minh ID Merkle Leaf của bạn - làm theo các bước để tạo lại ID Merkle Leaf, ID này dùng để xác định duy nhất tài khoản của bạn cùng với số dư được giữ tại thời điểm chụp nhanh đánh giá
- Xác nhận ID Merkle Leaf của bạn trong Cây Merkle - xác nhận rằng ID của bạn thuộc về cây Merkle và xác thực đường dẫn đến gốc Cây Merkle, được xác minh bởi kế toán viên bên thứ 3 của chúng tôi và được chia sẻ bởi tất cả khách hàng
Lưu ý: Tính năng này đã có sẵn từ bài đánh giá năm 2023 trở đi. Để xem lại trước, vui lòng tham khảo trang web của đối tác để tìm các công cụ xác minh.
Xác minh nâng cao
Khách hàng am hiểu công nghệ có thể muốn tự mình xây dựng lại hàm băm nút lá Cây Merkle của riêng họ và tra cứu số dư của họ trong Cây Merkle theo chương trình, thay vì sử dụng các công cụ trực quan do Kraken hoặc kế toán bên thứ 3 cung cấp.
Bạn có thể thực hiện các bước xác minh sau trong mã:
-
Bạn có thể xác minh việc tạo ID lá Cây Merkle cho tài khoản của mình bằng các bước được nêu dưới đây.
-
Sau đó, bạn có thể xác minh Đường dẫn cây Merkle của mình để tìm ID lá và xây dựng lại đường dẫn từ vị trí của bạn đến nút gốc. Chúng tôi cung cấp tính minh bạch hoàn toàn và cũng bao gồm ID lá anh chị em của bạn.
Các bước cần thiết, trong mã giả, để tái tạo mã bản ghi và Merkle Leaf từ Mã tài khoản, Kraken IIBAN, ID đánh giá và Số dư của bạn được nêu dưới đây. Lưu ý rằng kết quả sẽ phụ thuộc vào định dạng chuỗi số dư cụ thể và thứ tự tài sản được xem xét, như được hiển thị trên trang Bằng chứng dự trữ.
- 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)
Sau khi Merkle Leaf của bạn được xác định, bạn có thể sử dụng xác minh SHA256 với các giá trị HEX để tái tạo Đường dẫn cây Merkle.
Các ví dụ cụ thể cũng được minh họa trong đoạn mã dưới đây. Biểu tượng Merkle Leaf thu được cũng hiển thị trên phần chi tiết đánh giá để giúp xác nhận bạn đã tái tạo lại chính xác.
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_resultNhững thiếu sót và cải tiến trong tương lai
Vì mục đích bảo vệ tính minh bạch, chúng tôi muốn chia sẻ một số thiếu sót trong quy trình Bằng chứng dự trữ mà chúng tôi đã xác định.
- Bằng chứng dự trữ liên quan đến việc chứng minh quyền kiểm soát đối với các quỹ on-chain tại thời điểm đánh giá, nhưng không thể chứng minh quyền sở hữu độc quyền các khóa riêng tư mà về mặt lý thuyết có thể đã bị kẻ tấn công sao chép.
- Quy trình này không thể xác định bất kỳ gánh nặng tiềm ẩn nào hoặc chứng minh rằng tiền không được vay để vượt qua quá trình đánh giá. Tương tự như vậy, chìa khóa có thể bị mất hoặc tiền có thể bị đánh cắp kể từ lần đánh giá gần đây nhất.
- Kế toán viên phải có năng lực và độc lập để giảm thiểu rủi ro gian lận từ phía người được kiểm tra hoặc thông đồng giữa các bên.
- Chúng tôi tìm cách giảm thiểu một số thiếu sót này bằng cách hợp tác với một công ty bên thứ ba độc lập, có uy tín để thực hiện Bằng chứng dự trữ và tiến hành các đánh giá này thường xuyên. Chúng tôi cũng cung cấp tính minh bạch của dữ liệu này trực tiếp trên nền tảng khách hàng.
Các số liệu về tỷ lệ dự trữ được đánh dấu bằng dấu sao (*) ở trên có thể thay đổi đáng kể khi so sánh với các báo cáo Bằng chứng Dự trữ của Kraken do những thay đổi về sản phẩm và cải tiến cơ sở hạ tầng lưu ký của chúng tôi theo thời gian, điều này có thể ảnh hưởng đến việc phân loại một số tài sản được nắm giữ trong các ví này. Phù hợp với thông lệ hiện hành, phần giải thích về phương pháp Bằng chứng Dự trữ chính xác được bao gồm trong tất cả các Báo cáo.