Эти возможности великолепно подходят для защиты средств в разумных объемах, однако, имея дело с большими суммами биткойнов, скажем, эквивалентных миллиону долларов, мы можем захотеть принять дополнительные предосторожности. В конце концов, что если атакующий получит доступ к нашему компьютеру и установит программу-шпион, тайно записывающую пароли, которые вы набрали? История показывает, что нет предела хитрым и бесчестным техникам, которые могут выдумать воры, когда речь идет о краже денег. Достаточно вспомнить некоторые известные ограбления казино в Лас-Вегасе и вещи, на которые люди шли, когда на кону стояли большие суммы денег. Однако, биткойн предоставляет великолепные возможности, когда речь идет о безопасности. Один из способов защиты большой суммы биткойнов называется «заморозка». Идея заморозки в этом контексте означает хранение биткойнов на компьютере или другом устройстве, никак не соединенном с интернетом. Компьютер или мобильный телефон, соединенный с интернетом, потенциально может быть взломан кем угодно из любого места мира, если найдена уязвимость. Но храня биткойны на компьютере, который не соединен с интернетом, вы немедленно ограничиваете потенциальные угрозы только теми, которые исходят от людей, имеющих физический доступ к этому компьютеру. Конечно, кошелек на этом компьютере должен быть зашифрован и защищен надежным паролем. Современные программы легко обеспечивают возможность хранения биткойнов в заморозке.
У биткойна есть еще более продвинутые средства безопасности, такие как адреса с «множественной сигнатурой», в просторечии известные как «мультисиг» адреса (английское слово «multisig» — акроним для «multi signature» — прим. ред. перевода). Во всех до сих пор приведенных нами примерах мы описывали, как я посылаю 50 биткойнов своему другу Джо в транзакции, подписанной соответствующим закрытым ключом, который находится у меня. В случае с мультисиг-адресами транзакция может быть сконфигурирована таким образом, что для подписи будут необходимы два разных человека, или три человека, или двое из трёх людей, или любая комбинация подписей, которую вы можете представить. Например, у вас может быть биткойн-кошелек, который требует обе подписи – вашу и вашего бизнес-партнера, чтобы отправить транзакцию, или только одну из подписей. Или, возможно, у вас есть совет директоров, и транзакция должна быть подписана любыми тремя из семи директоров. Это очень мощные средства, позволяющие обезопасить биткойн способами, недоступными для физических денег.
Последний метод обеспечения безопасности биткойн-кошелька, о котором мы будем говорить, называется «бумажный кошелек», и это наиболее примитивное из всех устройств для обеспечения безопасности биткойна. Вы можете просто распечатать ваш закрытый ключ на бумаге, и в случае ЭМИ{13}, который разрушит все ваши электронные устройства, вы сможете восстановить средства, используя распечатанный закрытый ключ. Конечно, можно пойти еще дальше, и напечатать половину закрытого ключа на одном листе, а другую половину – на другом, и хранить их в различных безопасных местах – возможности бесконечны.
Глава семнадцатая. Умные контракты
До сих пор в этой книге мы обсуждали наиболее распространенный и простой тип транзакции – участник А посылает деньги участнику Б. Мы рассмотрели, как этот процесс осуществляется с помощью биткойна, а также некоторые великолепные преимущества биткойна в сравнении с обычной валютой. Однако, пользуясь этим примером, мы только чуть царапнули по поверхности того, что биткойн и технология блокчейн могут действительно достичь. Введем идею «умных контрактов». Биткойн способен создавать сложные транзакции, вовлекающие множество участников. Давайте рассмотрим пример.
Пусть, скажем, производитель автомобилей делает новую машину. В процессе ее создания генерируется новый биткойн-адрес, на который депонируется символическая сумма биткойнов (т. е. 0,00000001), и эта транзакция записывается в блокчейн. Этот открытый адрес производитель присваивает машине. Закрытый ключ затем выдаётся продавцу, который может хранить его на своем мобильном телефоне, так что его телефон вдобавок служит ключом от машины, позволяя ему открыть и завести машину.
Когда продавец собирается продать машину покупателю, транзакция записывается таким образом, что деньги переводятся продавцу, а машина переводится покупателю – как адрес, к которому он может получить доступ с мобильного телефона. Оба участника должны подписать транзакцию, чтобы она стала действительной и была включена в блокчейн. Когда транзакция завершена, покупатель может «представить» свой телефон машине через NFC{14}, и машина распознает нового владельца и включит зажигание. В этом примере транзакция между двумя участниками происходит одновременно, и, таким образом, ни один из участников не должен доверяться другому. Более того, покупатель может просмотреть всю историю транзакций для машины в блокчейне, чтобы убедиться, что она настоящая, и удостовериться, что продавец действительно является владельцем машины.