Як перевірити право власності OKX і баланс на адресі гаманця?

Опубліковано 26 вер. 2023 р.Оновлено 12 квіт. 2024 р.5 хв читання488

У цій статті йдеться про порядок перевірки права власності OKX і баланс на адресі гаманця за допомогою резервного файлу знімка OKX і засобу перевірки резервів з відкритим кодом.

Що слід підготувати для перевірки?

  1. Відкрийте інструмент перевірки, виберіть zip-файл для завантаження.
    У папці є такі два інструменти:
    • VerifyAddress для підтвердження права власності на адресу резервів;
    • CheckBalance для перевірки балансу на адресах резервів (примітка: перш ніж налаштувати RPC ноду або відкритий ключ API OKLink та іншу пов’язану інформацію, потрібно налаштувати rpc.json.).
      CT-web-POR-preparation folderУ папці можна побачити VerifyAddress і CheckBalance
  2. Відкрийте файли аудиту й завантажте підтвердження резервів.
  3. Збережіть завантажені «Підтвердження резервів» і засіб перевірки в одній папці.

Як перевірити право власності OKX на адресу гаманців резервів?

Дані знімка OKX містять адреси, повідомлення типу «Я — адреса OKX» і підписи, а також сценарії повернення з механізмом мультипідпису BTC. Щоб встановити, чи власником цих адрес є OKX, виконайте наведені далі дії.

  • На гаманці BTC використовується два види підписів: єдиний підпис і мультипідпис.
    • Мультипідпис працює за формулою 2/3, де кожен фрагмент даних містить два підписи, які підписуються двома приватними ключами з-поміж трьох приватних ключів, які зберігаються на OKX. Шляхом перевірки двох підписів можна встановити, чи OKX має принаймні два приватні ключі, що й підтверджує за OKX право власності на адресу з мультипідписом.
    • Повідомлення про проходження адреси з єдиним підписом BTC і результати підпису можуть підтвердити право власності OKX на адресу.
  • Гаманець ETH і USDT.
    • Право власності OKX на адресу можуть підтвердити повідомлення про проходження й результати підпису.
      Право власності на опубліковану OKX адресу резервів можна перевірити запропонованими засобами з відкритим кодом або сторонніми засобами.

Як перевірити право власності OKX на адресу гаманців резервів засобами перевірки?

  1. Відкрийте термінал.
    • Система Mac: термінал
    • Система Windows: рядок команди
  2. Виконайте команду та вкажіть каталог завантаженої папки. У нашому прикладі вводимо команду cd ~/Downloads/proof-of-reserves.
  3. Введіть у терміналі таку команду (ім’я файлу можна замінити на інше залежно від файлу, який потрібно перевірити).
    • Mac: ./VerifyAddress --por_csv_filename=okx_por_20221122.csv
    • Windows: VerifyAddress.exe --por_csv_filename=okx_por_20221122.csv
      Примітка. Якщо під час користування Mac з’явилося повідомлення «Не вдається відкрити засіб, тому що неможливо перевірити розробника», перейдіть у Системні налаштування - Безпека й конфіденційність > Загальні > __ натисніть значок замка, щоб внести зміни__ > дозвольте запуск програм, завантажених з App Store і від вказаних розробників.
  4. Якщо перевірку успішно пройдено, термінал поверне повідомлення «Перевірку підпису адреси завершено, усі адреси підтверджено».
    CT-web-POR-passed verification on terminalТермінал повертає повідомлення «Перевірку підпису адреси завершено, усі адреси підтверджено»

Як перевірити право власності OKX на адресу гаманців резервів стороннім засобом?

Щоб перевірити право власності на такі типи адрес, можна сторонніми засобами встановити, чи адреса належить OKX:

Розгляньмо цей процес на прикладі адреси з єдиним підписом BTC:

  1. Завантажте й відкрийте файли аудиту.
  2. Скопіюйте з файлу запис, у тому числі адресу, текст повідомлення й підпис.
    CT-web-POR-copy recordСкопіюйте з файлу запис
  3. Перейдіть до засобу перевірки підпису BTC, вставте адресу, повідомлення й підпис.
  4. Якщо перевірку успішно пройдено, результат матиме такий вигляд:
    CT-web-POR-verification resultРезультат перевірки

Як перевірити право власності на активи ETH у стейкінгу на OKX?

Що стосується активів ETH у стейкінгу, скористайтеся стороннім провідником (beaconcha.in) для перевірки права OKX на ці публічні ключі.

  1. Завантажте й відкрийте файл Стейкінг ETH.
  2. Скопіюйте публічний ключ валідатора.
    CT-web-POR-copy validator publickeyСкопіюйте публічний ключ валідатора
  3. Перейдіть на warkchain.in і вставте публічний ключ валідатора.
  4. Перевірте, чи адреси відправника й отримувача збігаються з відповідними адресами у файлі стейкінгу ETH. Адреси відправника й отримувача містять підпис OKX на підтвердження права власності й можуть бути перевірені за наведеними вище інструкціями.
    CT-web-POR-from addressАдреса відправника
    CT-web-POR-recipient addressАдреса отримувача

Як перевірити баланс за адресою гаманця резервів OKX?

  1. Порівняти баланс за адресою певного криптовалютного чейну на момент висоти знімка з балансом адрес в опублікованому OKX файлі знімка на відповідність.
  2. Порівняти суму балансів адрес певного криптовалютного чейну на момент знімка висоти із сумою балансів адрес в опублікованому OKX файлі знімків на відповідність.

Щоб подати запит на баланс адреси на висоті знімка, ви можете налаштувати RPC ноду або скористатися відкритим ключем API OKLink.

Як перевірити баланс на вказаній адресі BTC та загальний баланс?

  1. Встановіть клієнт Bitcoin Core, синхронізуйте його до останньої висоти, а потім відкотіть блок до висоти знімка OKX.
    1. Завантажте Bitcoin Core тут версії 0.21 або новішої.
    2. Відредагуйте файл налаштувань Bitcoin Core й увімкніть доступ до ноду RPC. Створіть файл ~ /.bitcoin/bitcoin.conf і відкрийте його в редакторі або виконайте команду vi ~/.bitcoin/bitcoin.conf, edit
      server=1
      rpcuser=OKX
      rpcpassword=OKXWallet
    3. Перейдіть у каталог bin, виконайте команду ./bitcoind і запустіть нод.
    4. Дочекайтеся синхронізації ноду до останньої висоти. Це займає приблизно 12 годин.
    5. Після синхронізації до останньої висоти потрібно відкотити нод до висоти знімка OKX, щоб подати запит балансу висоти знімка.
      1. У браузері BTC пошукайте хеш блоку наступної висоти з висоти знімка. Скопіюйте хеш блоку та вставте його в частині хеш-значення в наступній команді.
      2. Виконайте команду ./bitcoin-cli invalidateblock00000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27.
        Примітка. 0000000000000000005829017993a7a21e4b7c731c95b9cb979c01294a7bd27' — це лише приклад. Оновіть цей параметр як хеш-значення наступного блоку на висоті блоку BTC у файлі підтвердження резервів, який ви завантажили.
      3. Дочекайтеся відкочування ноду до висоти знімка. Щоб встановити, чи ця процедура завершилася, можна запустити команду ./bitcoin-cli getblockcount, а також переглянути судження журналу результатів ноду.

CT-web-POR-Node output logЖурнал результатів ноду

  1. Налаштуйте параметри.

    1. Відкрийте файл rpc.json.
    2. Налаштуйте параметри RPC для BTC у файлі rpc.json і збережіть його.
      CT-web-POR-configure the parametersПриклад: налаштуйте параметри
  2. За допомогою засобу CheckBalance перевірте відповідність балансу адреси в чейні та балансу, отриманого у файлі знімка.

    1. Відкрийте термінал.
      • Система Mac: термінал
      • Система Windows: рядок команди
    2. Виконайте команду та вкажіть каталог завантаженої папки. У нашому прикладі вводимо команду cd ~/Downloads/proof-of-reserves.

Перевірка балансу окремої адреси

  1. Введіть у терміналі таку команду (ім’я файлу можна замінити на інше залежно від файлу, який потрібно перевірити)
    • Mac: ./CheckBalance --mode="single_address" --coin_name="btc" --address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL" --por_csv_filename=okx_por_20221122.csv
    • Windows: CheckBalance.exe --mode="single_address" --coin_name="btc" --address="3A1JRKqfGGxoq2qSHLv85u4zn935VR9ToL" --por_csv_filename=okx_por_20221122.csv
      Примітка: Якщо під час користування Mac з’явилося повідомлення «Не вдається відкрити засіб, тому що неможливо перевірити розробника», перейдіть у Системні налаштування - Безпека й конфіденційність > Загальні > __ натисніть значок замка, щоб внести зміни__ > дозвольте запуск програм, завантажених з App Store і від вказаних розробників.
  2. Баланс окремої адреси відображається на основі отриманого результату.
    CT-web-POR-The balance of a single addressБаланс окремої адреси відображається на основі отриманого результату
  3. Порівняйте баланс OKX, опублікований у файлі, і отриманий результат на відповідність.

Перевірка балансу всіх адрес

  1. Введіть у терміналі таку команду (ім’я файлу можна замінити на інше залежно від файлу, який потрібно перевірити).
    • Mac: ./CheckBalance --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okx_por_20221122.csv
    • Windows: CheckBalance.exe --mode="single_coin_total_balance" --coin_name="btc" --por_csv_filename=okx_por_20221122.csv
      Примітка. Якщо під час користування Mac з’явилося повідомлення «Не вдається відкрити засіб, тому що неможливо перевірити розробника», перейдіть у Системні налаштування - Безпека й конфіденційність > Загальні > __ натисніть значок замка, щоб внести зміни__ > дозвольте запуск програм, завантажених з App Store і від вказаних розробників.
  2. Баланс усіх адрес відображається на основі отриманого результату.
    CT-web-POR-The balance of all addressesБаланс усіх адрес відображається на основі отриманого результату
  3. Порівняйте баланс OKX, опублікований у файлі, і отриманий результат на відповідність.

Як перевірити баланс ETH/USDT на вказаній адресі та загальний баланс?

Біржа OKX опублікувала адреси гаманців у чейнах Ethereum, Optimism, Arbitrum, Polygon, Avalanche та інших, а також баланс відповідних активів (ETH або USDT). Баланс на відповідних адресах можна перевірити засобами з відкритим кодом.
Для перевірки можна скористатися стандартним RPC, стороннім RPC або OKLink API.

  • Стандартний RPC можна використати, не змінюючи rpc.json, і безпосередньо перейти до етапу перевірки.
  • У разі використання стороннього ноду RPC (наприклад, Infura, Alchemy) — див. додаток.
  • У разі використання API OKLink для перевірки — див. додаток.

За допомогою засобу CheckBalance перевірте відповідність балансу адреси в чейні та балансу, отриманого у файлі знімка.

  1. Відкрийте термінал.
    • Система Mac: термінал
    • Система Windows: рядок команди
  2. Виконайте команду та вкажіть каталог завантаженої папки. У нашому прикладі вводимо команду cd ~/Downloads/proof-of-reserves.

Перевірка балансу окремої адреси

  1. Наприклад, потрібно перевірити баланс за адресою ETH 0xc5451b523d5fffe1351337a221688a62806ad91a на вказаній висоті на відповідність балансу, отриманому у файлі знімка (наприклад, okx_por_20221122.csv). Для цього потрібно виконати таку команду в терміналі.
    • Mac: ./CheckBalance --mode="single_address" --coin_name="eth" --address="0xc5451b523d5fffe1351337a221688a62806ad91a" --por_csv_filename=okx_por_20221122.csv
    • Windows: CheckBalance.exe --mode="single_address" --coin_name="eth" --address="0xc5451b523d5fffe1351337a221688a62806ad91a" --por_csv_filename=okx_por_20221122.csv

Примітка.

  • Якщо потрібно подати запит щодо інших валют, замініть coin_name і address на відповідні значення.
  • Якщо під час користування Mac з’явилося повідомлення «Не вдається відкрити засіб, тому що неможливо перевірити розробника», перейдіть у Системні налаштування - Безпека й конфіденційність > Загальні > __ натисніть значок замка, щоб внести зміни__ > дозвольте запуск програм, завантажених з App Store і від вказаних розробників.
  1. Баланс адреси запиту ETH на вказаній висоті відображається на основі отриманих результатів.
    CT-web-POR-The balance of the query address of ETHБаланс адреси запиту ETH на вказаній висоті
  2. Порівняйте підтвердження резервів, опубліковане OKX, і вихідні результати, баланс адреси й баланс за підтвердженням резервів. Як видно, вони збігаються, що є підтвердженням балансу за цією адресою, наявного на OKX на момент знімка.

Перевірка суми балансів за всіма адресами в певній криптовалюті

  1. Наприклад, потрібно перевірити баланс за всіма адресами ETH на вказаній висоті на відповідність балансу, отриманому у файлі знімка (наприклад, okx_por_20221122.csv). Для цього потрібно виконати таку команду в терміналі.
    • Mac: ./CheckBalance --mode="single_coin_total_balance" --coin_name="eth" --por_csv_filename=okx_por_20221122.csv
    • Windows: CheckBalance.exe --mode="single_coin_total_balance" --coin_name="eth" --por_csv_filename=okx_por_20221122.csv

Примітка.

  • Якщо потрібно подати запит на інші валюти, замініть coin_name на такі значення, як BTC, ETH, ETH-ARBITRUM, ETH-OPTIMISM, USDT-ERC20, USDT-TRC20, USDT-POLY, USDT-AVAXC, USDT-ARBITRUM, USDT-OPTIMISM.
  • Якщо під час користування Mac з’явилося повідомлення «Не вдається відкрити засіб, тому що неможливо перевірити розробника», перейдіть у Системні налаштування - Безпека й конфіденційність > Загальні > __ натисніть значок замка, щоб внести зміни__ > дозвольте запуск програм, завантажених з App Store і від вказаних розробників.
  1. Баланс усіх адрес ETH на вказаній висоті відображається на основі отриманих результатів.
    CT-web-POR-The balance of all addresses of ETHБаланс усіх адрес ETH на вказаній висоті
  2. Порівняйте підтвердження резервів, опубліковане OKX, і вихідні результати, баланс усіх адрес і баланс за підтвердженням резервів. Як видно, вони збігаються, що є підтвердженням сумарного балансу, наявного на OKX на момент знімка.

Додатки

Використання RPC стороннього ноду (напр., Infura, Alchemy)

Налаштуйте параметри RPC кожного ноду архіву чейну у файлі rpc.json, як показано на рисунку нижче.
Отримання ноду архіву EVM

  • Встановіть нод архіву вручну. Синхронізація може тривати деякий час. Див. тут.
  • Скористайтеся сторонніми нодами: Infura, Alchemy
    CT-web-POR-example of alchemyПриклад: Alchemy надає сервіс ноду архіву Ethereum
  1. Увійдіть в OKLink 2. Перейдіть у Профіль > API.
  2. Виберіть Створити API в меню Ончейн-дані для створення apiKey.
    CT-web-POR-open API in the rpc.json fileНалаштуйте параметри відкритого API сервісу OKLink у файлі rpc.json

OKLink — це компанія по роботі з великими даними блокчейну, яка надає послуги відкритого інтерфейсу для отримання інформації про баланс адреси певної висоти в блокчейні. Для перевірки балансу адреси, що публікує OKX, також можна отримати в OKLink загальнодоступний API.