Почему невозможно украсть залог с multisig-адреса?


Базовое понимание сущности приватного и публичного ключей позволяет предотвратить кражу и потерю криптовалютных средств. Рассмотрим принцип работы ключей, их взаимосвязь с биткоин-адресом, особенности multisig биткоин-адресов и объясним как безопасно хранятся залоги пользователей.

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

Приватный ключ следует держать в строжайшем секрете и безопасности. Проведем аналогию: биткоин-адрес — это банковский счет. Чтобы получить доступ к деньгам на счету, нужен пароль. Приватный ключ является паролем. Если вы забудете или потеряете его, больше никогда не сможете получить доступ к вашим биткоинам. Подобрать приватный ключ к определенному биткоин-адресу невозможно — вероятность составляет 1/10^77.

Кроме обычных биткоин-адресов, к которым требуется один приватный ключ, есть multisignature биткоин-адреса. Это значит, что для получения доступа к биткоинам, пользователю надо ввести не один приватный ключ, а минимум два. Таким образом безопасность хранения биткоинов увеличивается в два раза, по сравнению с обычным биткоин-адресом. Multisig-адреса всегда начинаются на цифру 3, в отличие от простых адресов, которые имеют в начале 1.

Залоги пользователей Biterest хранятся на биткоин multisig-адресах с количеством ключей 2-из-3. Мультисиг-адрес является комбинацией из трех публичных ключей (заемщика, кредитора и Biterest), а для получения доступа к биткоинам в залоге потребуется наличие минимум двух приватных ключей. Таким образом до окончания кредитного периода биткоины “заморожены” на этом адресе, и никто не может ими воспользоваться.

Чтобы предоставить свой публичный ключ для генерирования multisig-адреса, воспользуйтесь одним из предложенных методов:

  1. При Простом способе ключи создаются с помощью open-source java-script библиотеки Bitcore. Генерация ключей происходит в браузере пользователя, а скрипт при нажатии кнопки “Продолжить” отправляет на сервер Biterest только публичный ключ. Проверить этот факт Вы можете открыв консоль браузера, нажав Ctrl+Shift+I. Во вкладке Network в столбце слева Вы увидите файл “borrower-key”(выделен серым). Эти данные передаются серверу Biterest из браузера пользователя. Вы можете убедиться, что был отправлен только публичный ключ. Он начинается с "xpub".

multisig-address biterest

  1. Если вы хотите самостоятельно загрузить публичный ключ, используйте Продвинутый способ. Как получить публичный ключ, чтоб загрузить его в Biterest, пошагово описано по ссылке. Перед отправкой удостоверьтесь, что у вас точно есть соответствующий ему приватный ключ.

Помните, что публичный ключ должен быть в формате BIP32. Мы настоятельно рекомендуем загружать ключи только от кошелька Electrum: Во-первых, ключи Electrum кодируются в формате BIP32. Во-вторых, Electrum - самый популярный и наиболее рекомендуемый кошелек для компьютеров. В-третьих, кошелек Electrum поддерживает создание мультисиг-адресов. Поэтому после окончания кредитного периода, он вам понадобится, чтоб забрать залог.

Biterest не хранит и не имеет доступ к приватным ключам пользователей. Каждый из пользователей должен надежно хранить свой приватный ключ до окончания срока кредита. Без наличия собственного приватного ключа забрать залог с мультисиг-адреса будет невозможно!

Доступ к залогу можно получить только при наличии двух приватных ключей. Кто получит ключ от Biterest после окончания кредитного периода зависит от ситуации:

  1. Заемщик выплатил кредитору сумму кредита и проценты до окончания кредитного периода. Кредитор, в свою очередь, подтвердил поступление денег. Сделка состоялась успешно, поэтому Biterest передает собственный приватный ключ заемщику. Теперь заемщик владеет двумя приватными ключами и может воспользоваться биткоинами на мультисиг-адресе. В случае, если кредитор в течение 10 дней не подтвердил поступление денег на указанные реквизиты, сделка считается также успешно завершенной. Ключ получает заемщик.

  2. Заемщик не вернул деньги до установленного срока или наступил Margin Call. В этом случае Biterest отдает свой приватный ключ кредитору. Теперь кредитор имеет все права на использование биткоина на multisig-адресе, так как задолженность заемщика погашается за счет залога.

Отправляя биткоины в залог на мультисиг-адрес, вы можете быть уверены, что ваши биткоины будут храниться в безопасности и никто не сможет ими воспользоваться. Надежно храните собственный приватный ключ, чтоб получить доступ к своим биткоинам по окончанию кредитного периода. Biterest не имеет доступ к приватным ключам пользователей и владеет только своим ключом.