Выбери любимый жанр

Тег #Опережение (СИ) - Громов Ян - Страница 17


Перейти на страницу:
Изменить размер шрифта:

17

— Какие решения?

— Криптографические, — сказал он и покрутил в воздухе рукой. — Там целый пласт.

Я подождал ещё пару минут, задавая вопросы про подписи, хранение записей и распределённую работу узлов. Ответы оставались примерно на том же уровне.

Корнеев уехал довольный. Ему, кажется, и в голову не пришло, что его уже вычеркнули.

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

Задачу он выслушал, потом с минуту молчал и разглядывал мой стол.

— За узлы кто платит?

— Первый год мы.

— А дальше? С чего вдруг человек будет держать дома машину, которая тратит электричество и считает чужие переводы?

— Участник, который создаёт блок и находит доказательство работы, получает вознаграждение внутри сети.

— Монетами, которые… эмм, как бы это помягче выразить… пока никому не нужны?

— Именно.

Он помолчал.

— А если они так и останутся никому не нужны?

— Тогда проект не взлетит.

— Честно.

Он перевёл взгляд на меня.

— Если ваша фирма поставит машин больше, чем все остальные вместе, кто решает, какие записи правильные?

— В начальной сети — фактически мы. Поэтому она и должна быть испытательной.

— А когда появятся чужие участники?

— Тогда правило должно работать независимо от того, кому принадлежит конкретная машина.

Шевелёв кивнул. Вот теперь ему стало интересно.

— А деньги клиентов где лежат?

— Нигде в привычном смысле. Есть записи о транзакциях и ключи, которыми подтверждается право распоряжаться ими.

Он снова посмотрел на меня.

— То есть если ключ потеряли, то…?

— Потеряли — вместе с ним потеряли доступ. А потом ищи свищи этот чёртов жёсткий диск с ключами где-нибудь на городской свалке.

— Весёлая система, однако…

— Зато без начальника, который может восстановить пароль по звонку.

Он усмехнулся.

Было видно: человек не продаёт себя, он выясняет, стоит ли с нами связываться. А мы ведь такие опасные, хехехе!

— Я подумаю, — сказал он на выходе. — Зарплата хорошая. Задача странная, хотя и звучит интересно.

Третий приехал на следующий день. Ярослав Белоусов, тридцать два года, тоже Новосибирск, но Академгородок. Кандидат наук, несколько лет занимался распределёнными вычислениями и сетевыми протоколами. Денис «Кит» объяснил ему задачу в общих чертах.

Белоусов положил на стол тонкую папку.

— Скажу сразу, чтобы потом не было обид. Идея не из воздуха. Вэй Дай в девяносто восьмом описал b-money. Там есть важные для вас вещи: распределённый учёт, цифровые деньги, отсутствие единого центра. Но рабочего решения двойной траты в том виде, который вы сейчас описываете, там нет.

— Знаю, ага.

— Хорошо, что знаете.

Он продолжил.

— Hashcash Адама Бэка — девяносто седьмой год. Но это вообще не электронные деньги. Это механизм доказательства вычислительной работы, первоначально для борьбы со спамом.

— Тоже знаю.

Он поднял глаза.

— Тогда вы понимаете, что интересны здесь не отдельные компоненты. Интересно, как вы собираетесь заставить их работать вместе.

Я кивнул.

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

— Это направление, Артём. А реализация?

Вот здесь я и остановился.

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

— Реализации нет. Поэтому вы здесь.

Белоусов чуть заметно кивнул.

— Уже лучше.

Он взял ручку.

— Тогда представим ситуацию. Два участника почти одновременно создали разные блоки, и оба получили правильное доказательство работы. Часть сети увидела один блок первой, другая часть — второй. Что происходит?

— Узлы временно работают с разными ветками. Следующий найденный блок увеличит совокупную работу одной из них. Когда одна цепочка станет сильнее, остальные переключатся на неё.

— А если работа пока одинаковая?

— Тогда окончательного решения ещё нет. Сеть держит обе ветки и ждёт следующего блока.

Он посмотрел на меня внимательнее.

— Хорошо. А если в этих двух ветках две разные транзакции одних и тех же денег?

— В итоге останется одна история. Та ветка, которая получит перевес по совокупной работе. Конфликтующая транзакция в другой ветке будет отброшена.

Белоусов помолчал.

— А если обе транзакции подписаны правильно?

— Подпись доказывает право человека распоряжаться деньгами. Она не доказывает, что он не потратил их ещё раз. Для этого и нужна общая история сети.

Он улыбнулся.

— Та ещё задачка…

Он посмотрел на часы.

— Мне пора. У меня поезд.

Белоусов взял свою папку.

— Я подумаю. Если вы действительно готовы дать команде работать, а не заставите её долгими месяцами согласовывать каждую строчку, мне интересно.

— Сколько вам в напарники нужно людей?

— На старте? Дайте подумать… Минимум три сильных человека. И я бы не смешивал всё в одну кучу. Один должен хорошо понимать криптографию, второй — распределённые системы и сети. Третий нужен как сильный разработчик, который сможет это всё превратить в работающий код.

— Ещё что-нибудь?

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

— Справедливо. И, да, я это понимаю.

Он встал.

— Тогда до связи.

Уехал он на вечернем поезде, а я остался с блокнотом, в котором появилось гораздо больше записей, чем планировал сделать в ходе собеседований.

Нанимать из них сразу никого не стал. Дал себе и им неделю на размышления.

* * *

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

Щавелем больше не пахло. А вот чем-то аптечным немножко — да.

В прошлом году я впервые попал сюда примерно с тем же ощущением: снаружи всё выглядело так, будто время забыло про это место, типа как заброшенный тренажёрный зал с ржавыми тренажерами, но внутри Наталья Борисовна умудрялась разбираться с такими вещами, которые заставляли нервничать вполне современные компании.

И что самое интересное — мне ещё в тот, первый раз это что-то очень сильно напомнило — такая противоречивая атмосфера, но я не мог вспомнить, что именно. И сейчас я вспомнил. Ещё в прошлой жизни, в её древней части, была у меня одна хорошая знакомая. Светлана. Её рабочий офис находился недалеко от административного здания ГИБДД. Причём, если у Натальи Борисовны были хоть какие-то минимальные признаки того, что за помещение тут находится — пожелтевшая кустарно заламинированная табличка, то у офиса Светланы не было вообще никаких примет. Вот совсем — ни вывески, ни таблички, ни какого-либо визуального намёка. Просто непонятное помещение в непонятном месте и дверь.

У меня даже складывалось ощущение, что офис Светланы — это был офис «для своих». Лично меня в своё время туда «привела» мать одного моего тогдашнего друга юности. А если незнакомый человек по ошибке зашёл бы в это помещение, он бы точно не понял, куда попал и зачем. И, вероятно, его попросили бы покинуть это место.

17
Мир литературы

Жанры

Фантастика и фэнтези

Детективы и триллеры

Проза

Любовные романы

Приключения

Детские

Поэзия и драматургия

Старинная литература

Научно-образовательная

Компьютеры и интернет

Справочная литература

Документальная литература

Религия и духовность

Юмор

Дом и семья

Деловая литература

Жанр не определен

Техника

Прочее

Драматургия

Фольклор

Военное дело