Варианты использования закрытого ключа в блокчейне Эфириума при переводе суммы между двумя криптобиржами

Я изучал применение открытого и закрытого ключа в криптографии. Я работал на MetaMask (тестовая сеть Ropsten) и знаю, как перевести сумму с одной учетной записи на другую, используя адрес учетной записи. Но одна вещь, которую я заметил здесь, заключается в том, что при использовании функции web3 для передачи эфира нам требуется только открытый ключ как отправителя, так и получателя.

web3.eth.sendTransaction({to: 'key1', from: 'key2', value:web3.toWei("0.0001", "ether")},

Я знаю, что, несмотря на наличие открытых ключей, нам все равно нужно подтвердить транзакцию с конца метамаски для учетной записи 1 (с адреса), и после подтверждения транзакция будет успешно обработана. Процесс подтверждения происходит из-за процесса подписи, в то время как мы подтверждаем транзакцию с использованием метамаски (цифровая подпись транзакции из закрытого ключа), верно ли мое предположение о цифровой подписи?

Что касается приведенного выше случая, я заметил аналогичную проблему, когда мы переводим суммы между двумя биржами, используя предоставленный ими адрес. Предположим, у меня есть две учетные записи на разных криптобиржах, например Binance и CoinDelta. Если у меня есть 50 эфиров в моей учетной записи Binance, и я хочу отправить эти эфиры на другую учетную запись биржи, я буду использовать адрес другой учетной записи биржи (адрес кошелька CoinDelta). Таким образом, мы можем передавать эфиры с одной биржи на другую. Но мои опасения по поводу этого дела следующие:

  • Почему нам не нужно подтверждение, как мы видим в метамаске для перевода суммы?

  • Где хранится закрытый ключ пользователя на криптобирже?

  • Если криптобиржи хранят закрытый ключ пользователя, то нет безопасности, потому что владелец может выполнять злонамеренные действия от имени учетной записи пользователя?

  • Как транзакция (перевод суммы между биржами) на самом деле работает между биржами без закрытых ключей?

Ответы (1)

Отвечая на каждый из ваших ключевых моментов:

  • Ваше предположение о цифровой подписи действительно верно . Закрытый ключ используется для цифровой подписи метаданных транзакции (поля «от», «кому» и т. д.) перед передачей в сеть блокчейна.
  • Нам не нужно никакого подтверждения, потому что мы уже дали подтверждение всем действиям, которые будут выполняться с учетной записью, войдя в систему с правильным именем пользователя/электронной почтой и паролем.
  • Закрытые ключи хранятся в ( предположительно ) зашифрованном виде и расшифровываются либо через сетевое соединение TLS, либо на стороне клиента, чтобы предотвратить доступ злоумышленников к вашему закрытому ключу, если сервер скомпрометирован.
  • Вы должны доверять биржам, на которых вы торгуете, свои закрытые ключи . Вот как они могут получить ваши средства, если вы забудете свой пароль и т. д. Хотя можно создать схему асимметричного шифрования, при которой ваш закрытый ключ расшифровывается локально во время каждого сеанса, ни одна известная биржа не использует такой метод .
  • Каждой учетной записи в каждой сети блокчейна соответствует закрытый ключ . Таким образом, все биржи в той или иной форме действительно используют закрытый ключ при начале транзакций.