Максим Солохин (palaman) wrote,
Максим Солохин
palaman

Categories:

Блокчейн: глобальная бухгалтерия

Итак, в прошлый раз я популярно рассказал читателю, откуда вообще берутся биткойны. (см. Электронное золото: как добывают биткойны) Вкратце повторю суть: чтобы добыть новый биткойн, надо решить некую математическую задачу, которую решить вообще-то нельзя никак, кроме случайного перебора вариантов решения. Эти и занимаются майнеры: они копают «руду» неправильных решений, тупо перебирая варианты до тех пор, пока случайно не наткнутся на правильное.

Но! стать обладателем биткойнов можно, естественно, и не занимаясь майнингом. Можно просто купить биткойны у другого человека. На этом и основана возможность использования биткойнов в качестве денег. Биткойны можно менять на обычные деньги или на какие-то материальные ценности, а можно и играть на их курсе, продавая их в момент повышения их курса и покупая в момент понижения.

Но как именно оформляется сделка?

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

Как это делается, я сейчас объясню. Но сначала я хочу подчеркнуть нетривиальность идеи.
Смотрите! владение биткойнами абсолютно анонимно. Ты нигде не оставляешь своих паспортных данных. Ты просто входишь в Сеть, и анонимно распоряжаешься своим счетом. Если при этом ты ещё и пользуешься TOR-ом или другим средством, препятствующим вычислить тебя по активности в Сети, то анонимность твоя гарантирована. В сущности, ты - это твой секретный пароль. Если ты доверишь свой пароль другому человеку, то он будет так же свободно распоряжаться деньгами на твоем счету, как и ты сам. Причем никакое государство его за это наказать не сможет и не захочет. Ведь пользование биткойнами - это частное дело пользующихся, они здесь действуют на свой страх и риск и не имеют никаких гарантий кроме математических! Но вот, оказывается, что математика порой может обеспечить более надежные гарантии, чем государства и спецслужбы.

Делается это просто: чтобы продать кому-то биткойны, ты должен составить и пустить в Интернет специальный файл, в котором указано, что столько-то принадлежащих тебе койнов переходят в собственность такого-то. При этом и ты, и он выступаете в Сети под условным "именем" вроде 1D24hQA9n8sTihpFQcAXHUYgnUQU4t2JBA Кликнув на это "имя", Вы можете узнать всё о состоянии счета данного пользователя и обо всех когда-либо совершенных им сделках - но Вы не можете узнать, кто же именно, какая человеческая личность скрывается под этими данными. Такой вот парадокс: с одной стороны, полная анонимность, а с другой полная открытость всей бухгалтерии. А как же иначе? Только полная открытость бухгалтерии твоего визави и может гарантировать, что у него есть деньги и что он действительно имеет возможность заплатить то, что он заплатил.

Где же хранятся эти данные? Везде! Они есть на компьютере у всякого майнера.
В прошлой заметке я рассказал, как майнеры добывают новые койны, а в этой я объясняю, в чем состоит их (майнеров) полезная общественная функция. Вот в чем: они ведут бухгалтерию! У каждого майнера хранится информация обо всех зарегистрированных когда-либо сделках. И заветная мечта майнера заключается в том, чтобы продолжить эту книгу, вписать в неё новый лист. Как я уже разъяснял в прошлый раз, составить этот лист так, чтобы он был оформлен по всем правилам - нерешаемая задача, решить которую можно лишь путем перебора вариантов. А вариантов-то безумно много, на год работы для современного компьютера. Но компьютеров в майнинге задействовано много, и кому-то обязательно повезет. Повезло тебе - получаешь новые биткойны, а человечество получает новый лист в глобальной бухгалтерской книге. Не повезло тебе - в ближайшие десять (в среднем) минут повезет кому-то другому. А твой комп быстренько впишет в свою память этот новый лист - и тут же примется лихорадочно перебирать варианты для следующего, надеясь на удачу. Это и есть майнинг, если глядеть на него со стороны бухгалтерии.
Вот, например, как выглядит лист такой всемирной бухгалтерии, а именно Блок номер #445367. Такие листы называются "блоками", а последовательная цепочка этих блоков, собственно говоря, и называется "блокчейн".
Если кликнуть по ссылке, сначала (наверху) идёт какая-то статистика - это просто для удобства обозревателей, в состав самого Блока #445367 она не входит. Первая запись, составляющая собственно бухгалтерию - это запись о том, что господин 1JVHw9iyesn9CSTDgbmKgSyyZoH9CFUFaP получает свои денежки за проделанную по составлению этого блока работу.

Итак, чтобы перечислить свои биткойны другому человеку, Вы должны просто разослать по Сети документ с указанием суммы и "имени" адресата. Суть же дела в том, что этот документ никто не может составить кроме вас. Потому что для этого необходимо знать секретный "пароль".

Это очень интересная штука - электронный документ, который невозможно подделать. Его можно сколько угодно копировать, но только копировать. Его невозможно сфабриковать, потому что под ним стоит уникальное сочетание символов, называемое "электронной подписью".
Электронная подпись - это ужасно остроумная штука. Это некоторое сочетание символов, которое невозможно вычислить, если не знаешь тайного пароля. Невозможно подделать - но в то же время совсем нетрудно проверить, правильно ли составлена данная подпись. Вот такой вот математический фокус. Если не знаешь пароля, то вычислить эту подпись можно только одним способом: так же точно, как добываются койны. То есть, путем тупого перебора вариантов. Только вот вариантов этих на сей раз оказывается слишком много. Чтобы накопать новые койны, компьютер должен работать целый год. А чтобы подобрать подпись, не хватит никакого времени: речь там идет о сумасшедших сроках с многими десятками нулей.
Вот такая вот интересная фишка. Но на самом деле все ещё круче. Правильность подписи под документом зависит не только от того, кто его подписал, но и от содержания самого документа. Если изменить в документе хотя бы один знак, старая подпись сразу же делается неподходящей.

Электронная подпись - это функция от содержания документа (включая видимую всем Вашу анонимную "подпись") и от секретного пароля. Но для проверки правильности подписи не нужно знать секретный пароль, достаточно знать лишь известную всем "подпись". (Почему? потому, что она вычисляется на основе этого пароля.)

(Чуть подробнее о математическом аспекте дела читайте в посте уважаемого gryzchick Комментарий по поводу электронной подписи!)

Таким образом, сам по себе тот факт, что в природе существует этот документ, означает, что его составил человек, знавший Ваш тайный пароль. Иначе он просто не мог бы его составить. Как это выглядит: пример правильно подписанной сделки.
Вот такая вот интересная идея: документ, который невозможно подделать. При этом проверить его подлинность может любой!

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

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

(Продолжение следует)

PS Прошу читателей не скрывать о меня, если моё повествование сделалось занудным.
Tags: математика
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 87 comments