Bằng chứng dự trữ 100% HBTC

0

Nguyên tắc

Đối với một nền tảng giao dịch tài sản kỹ thuật số, người dùng lưu giữ tài sản đó, một câu hỏi thường được đặt ra là liệu tài sản của người dùng có còn nguyên vẹn và được lưu trữ trong ví của trao đổi hay không, liệu nó có bị đánh cắp hay không và có bị chiếm đoạt hay không. Khi người dùng rút tiền, họ có thể rút tiền một cách trơn tru?

Kế hoạch chứng minh rằng tài sản của người dùng còn nguyên vẹn và được lưu trữ trong ví trao đổi thường được gọi là “Bằng chứng dự trữ”. Các bước thực hiện như sau:

  • Thông báo địa chỉ và số dư ví nóng và lạnh của sàn giao dịch
  • Số dư tài sản người dùng chụp nhanh
  • Sử dụng ảnh chụp nhanh của số dư tài sản của người dùng để xây dựng Cây Merkle, chiếc lá là số dư tài sản của người dùng và gốc là tổng số dư tài sản của người dùng
  • Cây Merkle công khai để xác minh người dùng
  • Users self-validation:
  • Kiểm tra xem số dư có tồn tại trong nút lá Merkle Tree không
  • Xác minh tính toán của Merkle Tree từ nút lá đến nút gốc của số dư của nó và xác nhận rằng hàm băm là chính xác
  • So sánh tổng số dư tài sản của nút gốc với số dư của ví lạnh và địa chỉ ví được nền tảng công bố để xác nhận rằng tài sản trao đổi là đủ

Giới hạn

  • Ngay cả khi nó chứng minh rằng đồng xu của người dùng nằm trong ví của trao đổi, điều đó không có nghĩa là việc rút tiền có thể được rút.
  • Cần đủ người dùng để thực hiện thao tác xác minh thực tế để giảm xác suất nền tảng sẽ làm sai lệch dữ liệu trong Cây Merkle và sẽ không bị phát hiện. Lý tưởng nhất là tất cả người dùng giữ các vị trí đã thực hiện xác minh tự xác thực và tất cả các xác minh là chính xác, điều đó chứng tỏ rằng Merkle Tree được tạo bởi nền tảng là hoàn toàn chính xác.

Thực hành cụ thể của HBTC

Lựa chọn dữ liệu thô

  • Tiền xu: Giấy chứng nhận tài sản HBTC ba loại tiền: BTC, ETH và USDT
  • Ảnh chụp nhanh số dư: HBTC chọn tất cả số dư của người dùng, bao gồm tài khoản ví tóm tắt, tài khoản tùy chọn, tài khoản hợp đồng và số dư tài khoản phụ do người dùng xác định tại UTC + 0 (giờ Singapore, GMT + 8) vào ngày 13 tháng 4 năm 2020. Một bản ghi cho mỗi đồng xu , bao gồm UserID, mã ngẫu nhiên Nonce, số dư. Nonce này chọn sử dụng id tài khoản của tài khoản ví của người dùng
  • Địa chỉ ví nóng và lạnh:
  •  
    • BTC、USDT-OMNI:
      • 3Bm99oWTc7Eebrv4TEUBTY86t4AFXSdPRK
      • 378E5HP7SGcW6XvriEirgvNUF54G79mftB
      • 3CTgNAMCY6ZoMFYPNFo8xBLeVv4stcXBhx
    • ETH、USDT-ERC20:
      • 0x3c047B9Dfa4fd8F812f264f1611b959a4DD980f8
      • 0xA31974408AAD18C1e5C4648d435795Fa757EA47f
      • 0x1Ee7C37EFF6a37d38d805A0ceDc134147a9DD3Cf
      • 0xa4938E606eDfe350D08813a0785Ed85D4640d365
      • 0xCe76a14dABe64acb8b044c489374C8ca1f456837
    • USDT-TRC20:
      • TGR3kYhfAsxFGkAyWLRegaVSTXQ3Y36tfM

Nhận xét:

  • Do chiến lược thu thập ví của ETH và USDT, một số tiền đã không được thu thập đến địa chỉ ví nóng
  • Do các đặc điểm của nền tảng lưu ký và thanh toán bù trừ của Bluercix và chức năng chia sẻ thanh khoản, số dư của trao đổi HBTC thay đổi nhanh chóng và một số thay đổi số dư không được phản ánh trong số dư ví nóng trên chuỗi, nhưng bên trong nền tảng lưu ký và thanh toán bù trừ hoàn thành thanh toán bù trừ.

Tạo nút lá

  • Làm tròn số dư người dùng * 10 ^ 8
  • Tính băm = sha256 (userId + “|” + nonce + “|” + số tiền)
  • Chuyển đổi hàm băm thành chuỗi thập lục phân và lấy 16 ký tự đầu tiên làm hexHash và lưu trữ nó trên nút

Tạo nút cây

  • Bởi vì cứ 2 nút con cần thu thập một nút cha, nếu số lượng nút con là số lẻ, hãy sao chép nút cuối cùng, số lượng sẽ bị xóa và được sử dụng làm nút đệm
  • Số lượng nút cha = tổng số lượng nút con
  • Băm nút cha = sha256 (parent node amount + “|” + leftNode.hexHash + “|” + rightNode.hexHash)
  • HexHash của nút cha là hàm băm của nút cha thành thập lục phân và lấy 16 ký tự đầu tiên

Tạo xác thực người dùng

  • Tập hợp tất cả các nút đi qua đường dẫn duy nhất từ nút gốc đến nút lá nơi người dùng được đặt và các nút khác liên quan đến phép tính, được gọi là cây con xác minh người dùng. Cung cấp cho người dùng cho các hoạt động xác minh
  • Nút lá riêng của người dùng được gọi là nút riêng của mình ‘self. Nút người dùng tiếp theo được gọi là nút người dùng ‘user’
  • Nút cấp đầu tiên được gọi là nút gốc ‘root’
  • Từ nút lá cho đến nút gốc, các nút đi qua được gọi là nodes nút ‘liên quan’.
  • Các nút không liên quan liên quan đến việc tính toán các nút liên quan được gọi là bình thường ‘node’.

Thương mại hóa

HBTC cung cấp một trang để người dùng tự xác thực trên PC Terminal

https://www.hbtc.com/finance/trace_back/BTC

Phương thức xác minh

  • Ghé thăm trung tâm người dùng để có được userId của riêng bạn
  • Truy cập trang tài sản để nhận số dư của riêng bạn trong tài sản tiền xu tương ứng, nhân số dư với 10 ^ 8 và sau đó làm tròn số tiền
  • Truy cập trang chứng nhận tài sản để có được nonce của riêng bạn
  • Tính toán sha256 (userId + “|” + nonce + “|” + amount) 16 byte ở bên trái và so sánh nó với hàm băm của nút tự của trang chứng nhận tài sản
  • Từ nút tự lên, tính toán và xác minh hàm băm của mỗi nút: đầu tiên thêm số lượng của hai nút con làm số lượng của nút cha, sau đó tính toán sha256 (amount + “|” + leftNode.hexHash + “|” + rightNode. 16 bytes to the left of hexHash), so với hàm băm của nút cha
  • Tính toán tất cả các cách đến nút gốc và xác nhận rằng số lượng và hàm băm của mỗi cấp ở giữa khớp chính xác

Theo https://hbtc.zendesk.com/hc/en-us/articles/360046287754

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây