Биткойн — это гораздо больше чем просто переводы

escrowБиткойн — это цифровая валюта и платежная система в одном флаконе. Но и это еще не все. Заложенные в протокол возможности позволяют гораздо больше, чем просто денежные переводы. Они позволяют исполнять довольно сложные контракты, полагаясь исключительно на средства протокола. В частности, совершать удаленные сделки без посредников, даже если вы совершенно не доверяете своему контрагенту. Как? Об этом-то мы сейчас и расскажем.

Обычно, мы имеем дело с теми, кто вложил что-то существенное в эти отношения. Ваши друзья доказали, что дорожат вашей дружбой, и потому у Вас есть основания им доверять. Ваш местная пекарня вложила деньги в организацию производства, наняла сотрудников и оплатила рекламу, они хотят вести бизнес и отбить свои вложения — так что вы можете доверить им свои деньги. Apple инвестировал миллиарды долларов в производство iPhone; таким образом, Вы посылаете им свои деньги через интернет-магазин, не волнуясь, что они могут взять их и убежать. Это также работает и в обратную сторону: если Вы успели заработать себе репутацию, Вы можете попросить заплатить вперед, и другие люди сделают это без опасений.

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

Исторически это решалось двумя способами: или личной встречей в людном месте для непосредственного обмена, или при помощи третьего лица. Оба подхода имеют ограничения и не могут быть признаны полностью удовлетворительными.

Личный обмен не всегда физически возможен (различные виды услуг, и просто доставка товаров из-за океана), и к тому же иногда связан с вероятностью нарваться на  банальный грабеж (например, на обратном пути к дому). Гарантия третьей стороны (эскроу) казалось бы, лучше, но на деле и это оказывается не совсем так. Так, для откровенных мошенников не составляет труда создавать все время новые аккаунты на eBay, и даже если их обман проходит всего в 5-10% случаев, они остаются в прибыли. Таким образом, пользователи всё равно не защищены от обмана, но вынуждены переплачивать за услуги гаранта.

Каким же образом мы могли бы решить эту проблему для двух незнакомцев?

Давайте подумаем. Мы эффективно ведем переговоры, пока находимся в равном положении. Например, прежде чем заключить договор, мы подробно обсуждаем нюансы сделки и всегда можем разойтись по хорошему, так как ничего не теряем, кроме времени, ушедшего на переговоры (вопрос времени актуален для обеих сторон, таким образом, у обоих есть стимул закончить их как можно скорее). Но всякий раз, когда кто-то получает аванс, это может стать стимулом сбежать, не выполняя своей части договора. Другой пример: если мы имеем дело с друзьями, с которыми уже установились долгосрочные отношения, то небольшие авансы обычно не проблема — они не станут достаточным основанием, чтобы разорвать отношения.

Что же отсюда следует? Сумма того, что мы можем потерять, должна быть значительно выше суммы сделки.

Очевидно, что если мы ничего не вложили в отношения (не внесли залог), то это надо будет сделать. Но мы не хотим, чтобы это было односторонняя жертва. Почему бы обоим участникам сделки не внести залог, который к ним вернётся только в случае успешного исполнения обязательств по договору обеими сторонами.

Вот тут-то на сцену и выходит Биткойн. Протокол позволяет не только надежно переводить друг другу деньги, но также позволяет подписывать сложные договоры, используя встроенный скриптовый язык и систему цифровой подписи.

Биткойн делает возможным следующую схему сделки:

  1. Каждая из сторон сделки независимо блокирует некоторую сумму своих денег в одной транзакции, не встречаясь лично и не привлекая третью сторону (гаранта).
  2. Эти деньги можно разблокировать только когда обе стороны согласны на это. Если по крайней мере одна сторона не хочет разблокировать депозит, другая сторона ничего не может с этим сделать.
  3. Обе стороны могут разблокировать только весь депозит. Никто не может разблокировать  только свои деньги.
  4. Ни у кого больше нет доступа к депозитам, и ни одна из сторон не может получить доступ к деньгам другой стороны.

Цена вопроса? Обмен данными через Интернет, чтобы построить совместную транзакцию, 1-2 часа ожидания, пока оне не будет включена в блокчейн (не любой майнер включит нестандартную транзакцию в новый блок), и обычный взнос за транзакцию в несколько центов, независимо от рассматриваемой суммы.

Как это будет работать? У обеих сторон должно быть установлено приложение-кошелек, которое автоматизирует формирование подобных транзакции (это пока в работе). Пусть Алиса и Борис хотят провести сделку, скажем, на 1 BTC. Они договариваются о сумме, которая будет заблокирована (обычно 200-300% от стоимости сделки). Скажем, это будет сумма в 2 BTC. Алиса посылает Борису свой публичный ключ и хеш любого секретного числа. Борис строит транзакцию с этими данными и собственным публичныым ключом и хешем случайного числа. У операции есть два результата: один для Бориса с 2 BTC и другой для Алисы с 2 BTC. Борис подписывает свою часть операции с соответствующей суммой на входе и посылает его Алисе, чтобы подписать ее часть. Алиса проверяет, что Борис указал все суммы и точно включил ее открытый ключ и ее хэш случайного числа. Если операция правильна, Алиса добавляет свои 2 BTC на входе и подписывает его. Операция не будет действительна до тех пор, пока обе стороны не подпишут ее, и сумма входов не будет  соответствовать сумме выходов (с учётом комиссии). После того как Алиса подписала финальную транзакцию, она посылает ее в сеть, и обе стороны ждут, пока она не будет включена в блокчейн.

Как только операция вошла в блокчейн, у Алисы и Бориса имеется по 2 BTC, замороженных на счету, в то время как стоимость их договора всего 1 BTC.

Теперь финансовые риски обеих сторон выше, чем их прибыль при сделке. Они инвестировали в успешное окончание сделки, которое удовлетворит обе стороны. Если Алиса посылает какой-то товар Борису до того как получила от него платеж, тот понимает, что она едва ли разблокирует залоговый депозит, пока платёж не будет осуществлён. Борис рискует большей залоговой суммой, чем тот один биткойн, который он может получит, обманув Алису. А значит, вероятнее всего он выполнит свои обязательства. Когда обе стороны будут полностью удовлетворены результатами сделки, они разблокируют свои залоговые деньги, и на этом сделка будет завершена.

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

Эта схема может работать, если у каждой из стороны в наличии больше заблокированных биткойнов, чем сумма самой сделки. Это не всегда возможно, например, в случае покупки дорогой недвижимости. Но для многих других крупных сделок это будет вполне рабочая схема, так как такая операция может быть разбита, например,  на 10 шагов, после каждого из которых будет производиться платеж. Тогда заблокированная сумма каждый раз не будет превышать 1/10 всего залога.

Если кому-то интересны технические детали транзакции, они здесь.

Этой схемой «сделок без посредника» пока еще никто не пользовался, но она может быть очень полезной при многих обстоятельствах. Например:

  1. Продажа чего-либо при личной встрече за наличные деньги. Если обе стороны вносят залог, превышающий сумму сделки, и освобождают его только после благополучного возвращения домой, значительно снижается вероятность грабежа одной из сторон в тёмном переулке.
  2. Продажа незнакомцам в Интернете без посредника (Ebay). Одна сторона посылает товар почтой. Когда он получен, покупатель отсылает платеж назад (через биткойн-систему, Western Union, PayPal или даже телеграфным переводом).
  3. Контракты с внештатными сотрудниками (фрилансерами). Клиент не знает точно, как и что он хочет сделать на своем веб-сайте, таким образом, они оба с фрилансером блокируют некую сумму, и затем оба имеют взаимный интерес идти навстречу друг другу в решении проблем, руководствуясь здравым смыслом.
  4. Airbnb без airbnb: залог возвращают, если  квартира оказалась именно тем, что было обещано, и платеж сделан полностью. Веб-сайт теперь нужен только для того, чтобы давать информацию о предложении, а также показывать рейтинг и стоимость жилья.

Возможности бесконечны. Та же самая идея может использоваться группой людей для договоренностей с другой группой.  Например, «общественный договор», где соседи нанимают коллектив охранников, чтобы защитить свой район.

Стоимость такой операции очень низка. Нет никакого риска контрагента, это позволяет сохранять анонимность, время регистрации занимает несколько минут, и стоит это меньше доллара. Если такой тип транзакции станет популярным, то больше майнеров будет включать ее в блокчейн, и таким образом, это станет еще быстрее и дешевле.

Я сам планирую добавить поддержку таких операций в моем будущем  приложении-кошельке для OS X и iOS. Я выложил в открытый доступ его базовую часть, которая называется CoreBitcoin. Другие могут попробовать реализовать эту же или подобные идеи в своих собственных приложениях и сервисах. Если это окажется полезным, мы можем стандартизировать такие контракты и протокол подписания, чтобы больше людей могло легко ими пользоваться.

Автор: Олег Андреев



Categories: Безопасность, Разработчикам, Технологии

Leave a Reply

23 Комментарий на "Биткойн — это гораздо больше чем просто переводы"

Notify of
avatar
trackback
Биткойн: цифровая пиринговая наличность — BTC MAN

[…] оградила бы продавцов от мошенничества, а легкоосуществимые схемы условного депонирования защитили бы покупателей. […]

trackback
Биткойн — это система глобального консенсуса | Bit•Новости

[…] Далее, это взаимное страхование контрактов с  помощью блокирования симметричных депозитов с  обеих сторон в  одной атомарной транзакции. Так […]

trackback
Питер Тодд и Экспансия Биткойна | Bit•Новости

[…] на самом деле уже используется в некоторых сценариях: Escrow, временно-закрытые возмещения, двух-факторные […]

trackback
Почему Биткойн чрезвычайно недооценен | Bit•Новости

[…] и широки: денежные переводы, умная собственность, программируемые контракты, выпуск акций и форм собственности, а также любая […]

trackback
Биткойн 2.0: свободу сайдчейнам | Bit•Новости

[…] Более того, биткойн-транзакции могут описывать не только денежные переводы, но и контракты произвольной сложности — с помощью […]

Arkaim Petrof
Гость

а нельзя ли сделать залог асимметричным — например богатый продавец (субъективно оценивает риски от потери злога как менее значительные и потому может оказаться склонен к шантажу) вносит бОльшую сумму залога, чем покупатель.

trackback
Bitcoin Новости - Как идеально «отмыть» биткойны

[…] Шаг 2. Если оба узла считают монеты друг друга пригодными, они заключают контракт с двойным залогом. Каждая сторона блокирует одинаковое количество монет в одной специальной транзакции, которая может разблокировать монеты только атомарно и по взаимному согласию. В то же время, каждая сторона может аннулировать оба депозита (например, в случае превышения времени ожидания или нарушения условий другой стороной). Сумма каждого депозита должна составлять 200-300% от обмениваемой суммы. Мы уже писали о механизме таких контрактов в этой статье. […]

trackback
Как идеально «отмыть» биткойны | DailyCOIN

[…] Шаг 2. Если оба узла считают монеты друг друга пригодными, они заключают контракт с двойным залогом. Каждая сторона блокирует одинаковое количество монет в одной специальной транзакции, которая может разблокировать монеты только атомарно и по взаимному согласию. В то же время, каждая сторона может аннулировать оба депозита (например, в случае превышения времени ожидания или нарушения условий другой стороной). Сумма каждого депозита должна составлять 200-300% от обмениваемой суммы. Мы уже писали о механизме таких контрактов в этой статье. […]

trackback
Как идеально «отмыть» биткойны | Bit•Новости

[…] Шаг 2. Если оба узла считают монеты друг друга пригодными, они заключают контракт с двойным залогом. Каждая сторона блокирует одинаковое количество монет в одной специальной транзакции, которая может разблокировать монеты только атомарно и по взаимному согласию. В то же время, каждая сторона может аннулировать оба депозита (например, в случае превышения времени ожидания или нарушения условий другой стороной). Сумма каждого депозита должна составлять 200-300% от обмениваемой суммы. Мы уже писали о механизме таких контрактов в этой статье. […]

trackback
Самоисполняемые контракты и децентрализованные организации | Bit•Новости

[…] Конечно, в таких случаях можно использовать схему сделки с двойным залогом, но и она не всегда применима. Иногда одних алгоритмов […]

trackback
Биткойн: введение для разработчиков | CoinSpot.ru

[…] о платежных скриптах, схемах с арбитражем или с залогом и прочих продвинутых прелестях биткойн-транзакций. […]

trackback
Биткойн: введение для разработчиков | Bit•Новости

[…] о платежных скриптах, схемах с арбитражем или с залогом и прочих продвинутых прелестях биткойн-транзакций. […]

trackback
Биткойн — революция не только в финансах | Bit•Новости

[…] скрипт-языка и можно было кодировать довольно сложные виды сделок, хранение произвольных метаданных было невозможно. Но […]

trackback
Для криптоанархии анонимность не обязательна | Bit•Новости

[…] Биткойн позволяет кодировать эти правила прямо в транзакциях, чтобы они автоматически исполнялись всей […]

trackback
Биткойн: с чего все начиналось | Bit•Новости

[…] оградила бы продавцов от мошенничества, а легкоосуществимые схемы условного депонирования защитили бы покупателей. […]

Tomiko
Гость

Оригинальна ли идея? Что-то до боли мастеркоин напоминает.

mastercoin.org

ART
Гость

Достойная задумка!

Гость

Шамаааан!

Маэстро, грандиозо.

А я то думал сегодня ночью поспать, бл

wpDiscuz