lamed: (Default)
[personal profile] lamed
К оглавлению

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

Так может быть, эти игровые деньги сгодятся нам в качестве тех самых волшебных монет?

Устроены они просто. На сервере записано, сколько денег есть у каждого игрока. Вы не видите, сколько денег у других, но к своим монетам вы легко можете получить доступ - нужно только знать пароль. Ваши деньги в вашем распоряжении везде, где есть интернет, они ничего не весят и мгновенно перемещаются от одного человека к другому. Вы можете передать миллиард монет так же легко, как и одну миллиардную долю одной монеты. Бинго! Именно то, что нам нужно.

Или не совсем?

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

А владельцы сервера - можете ли вы им доверять? Что если они решат подправить записи и добавить себе пару миллиардов монет из воздуха? Или забрать их у кого-то, кто им не нравится. Вы ведь даже не сможете обнаружить обман, не то что предотвратить его.

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


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

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

Или нет?

Если у вас в руках две книги - одна настоящая, а другая поддельная - как вы определите, какой из них верить? А если счета не подделаны, а просто в книгу забыли внести пару записей? Или внесли их не в том порядке? Если у вас на счету 5 монет, а вы решили отправить 4 монеты Алисе и 3 монеты - Бобу, тогда от порядка записей зависит, кто получит деньги, а кому денег не хватит.

В математике эта задача известна как “задача византийских генералов”. В ночь перед битвой генералам нужно договориться, атаковать или отступать. И никто из них не знает, кто из генералов честно служит Родине, а кто - предатель.

Нашему великому магу удалось решить эту задачу.

Продолжение

From:
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
User
Account name:
Password:
If you don't have an account you can create one now.
Subject:
HTML doesn't work in the subject.

Message:

 
Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.

September 2017

S M T W T F S
     12
3456 789
10111213141516
1718 1920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 08:45 pm
Powered by Dreamwidth Studios