Автобиографическое интервью Адама Бэка

    Автобиографическое интервью Адама Бэка
    0

    Создатель алгоритма HashCash (что используется в механизме майнинга Bitcoin), шифропанк и доктор компьютерных наук в области распределённых систем, а также сооснователь компании Blockstream. Адам Бэк – один из самых вероятных кандидатов действительной личности Сатоши Накамото, который по-прежнему предпочитает не показываться публике.

    В одном из эпизодов подкаста «The Bitcoin Matrix» (от 11 июля 2022) Адам Бэк рассказал о своём детстве, юности и начале пути. Плюс, ответил на вопросы, которые волнуют всех, и задаются уже не в первый раз.

    Мы перевели данный подкаст на русский язык, а для желающих посмотреть в оригинале – прилагаем вставку с YouTube видео.


    – Я читал, что вы прониклись интересом к компьютерам через видеоигры, это правда?

    Да. У меня был ранний компьютер на процессоре Z80 и я играл в несколько игр. Также проводил своего рода реверс инжениринг игр, редактировал карты, пытался выяснить как это работает.

    z80-процессор

    Затем я начал программировать, когда они добавили базовый язык и начал учиться самостоятельно через Z-machine (виртуальная машина со специализированным компилятором), это было интересно.

    – Учили ли вы всё это самостоятельно, без какой-либо помощи наставника?

    Я был подростком тогда, так что да, проводил так свободное время и находил это увлекательным. Это было из разряда вещи, в которую может погрузиться человек – желание получить навык. Разобраться в компьютерах самостоятельно было довольно легко, даже на примитивном уровне, ведь тогда тактовая частота измерялась примерно в мегагерцах.

    Сегодня мы измеряем в гигагерцах, но кстати даже тогда мегагерцы уже были чем-то большим и некоторые инструкции требовали нескольких циклов (прим. Instructions Per Cycle – IPC). Сегодня IPC куда выше. Компьютеры продвинулись далеко с тех пор, это была середина 80-х.

    Но можно было многое делать с теми компьютерами. И люди, которые программировали на них, были в тесной связи с железом, верно? Потому что не было стандартов современного уровня. Если ты хотел сделать что-то интересное, ты должен был сильно оптимизировать это и убедиться, что есть хотя бы какой-то программный уровень, чтобы не управлять этим непосредственно на уровне железа.

    Это было интересно для людей, кто увлекался математикой и физикой и экспериментировал с компьютерами.

    – Какая была причина выбора отрасли компьютерных систем при вашем поступлении в университет? Было ли сообщество, друзья или школьные учителя, которые повлияли на это решение?

    Всего несколько. Когда я был моложе, только несколько одноклассников имели дома компьютер. Но в колледже, в возрасте 16-18 лет, где я учился в Великобритании, у них была компьютерная лаборатория, где я учил Паскаль, но без конкретной цели. Не существовало тогда курса компьютерных наук, но компьютеры были. И я приходил и самостоятельно учил Паскаль, затем пытался рендерить 3D модели и вращать их. Это, пожалуй, было некое подобие математического программирования.

    – Вы начали изучать распределённые системы до того, как начали осваивать криптографию?

    Да. Верно.

    Сначала я начал изучать распределённые системы, и получил степень. В то время немногие университеты предлагали этот курс. Вначале я получил бакалавра, изучая языки программирования, теорию, сложные структуры данных и всё такое. И когда я закончил курс, я решил пойти на доктора. Я выбрал распределённые системы. И потратил много времени, ведь это был неорганизованный процесс. Приходилось самостоятельно экспериментировать, перебирать языки. В компьютерной лаборатории было несколько поколений параллельных компьютеров с высокоскоростным соединением (они назывались «transputers»).

    транспьютеры

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

    В тот период времени один из моих друзей, кто получил степень магистра, использовал эти транспьютеры, параллельные системы, чтобы попробовать ускорить RSA шифрование. И я общался с ним. Я услышал от него объяснение, что такое RSA шифрование, и конечно, компьютеры тогда были гораздо медленнее. Было интересно попробовать ускорить многое. И спустя недолгое время опубликовали PGP, я узнал об этом из новостей мира техники.

    как-работает-pgp-схема-rsa

    У меня было понимание, потому что тогда я уже знал, что такое RSA, и это была одна из основных составляющих PGP. Реакция общества на PGP показалась мне очень интересной – властям это не особо понравилось, потому что баланс сил сместился в сторону индивидуальности.

    Я заинтересовался найти подобные вещи, и искал в онлайне людей, кто исследовал новые идеи в этой сфере. Так я нашёл рассылку шифропанков. Затем я начал тратить часть своего времени на самостоятельное изучение криптографии, и в какой-то момент устал. Это было посреди моей работы над докторской степенью.

    – Когда вы подписались на рассылку шифропанков, вы начали считать себя шифропанком?

    Я думаю это была интересная смесь компьютерной науки, математики и прикладной криптографии, и это использовали для того, чтобы передать в руки индивида право собственности на защиту своей приватности.

    шифропанки

    У них была теория вокруг этого. И конечно разные комментаторы писали об этом годами ранее, об онлайн мире, где человек теряет приватность, потому что ISP не были IP адресами и всё передавалось открытым текстом. Однако существует базовая приватность в физическом мире, где личные вещи не обязательно раскрывать, в то время как весь текст на форумах и даже электронных письмах не был зашифрован. Изначально не было SSL сертификатов при расчёте кредитными картами на сайтах.

    Шифропанки активно думали над тем, чтобы сделать что-то с этим, и построить софт, который люди могли бы использовать, чтобы решить эту проблему. Здесь не было гонки за получением права делать это, а просто строительство вещей, которые могут усилить приватность личности.

    И если человек должен был иметь право безопасно пользоваться Интернетом, браузером, отправлять письма и общаться приватно, то должен был способ приватно платить. И это была вершинная, самая желанная цель шифропанков. Электронные деньги были своего рода Святым Граалем в технологии Интернет приватности. Но создать их было намного сложнее, чем всё остальное.

    – Не считаете ли вы смелым и рисковым создание софта, который может защитить личность, но в каком-то смысле поразить государство?

    Я думаю это не обходится без политического риска.

    Люди могут использовать приватность для коммуникации, но в то же время отправлять сообщения с угрозами.

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

    И хотя информация не будет получена, у кого-то могут быть проблемы с законом из-за такого инцидента. И я думаю EFF (Electronic Frontier Foundation, «Фонд электронных рубежей») действительно помогает людям в такой ситуации.

    Я сам в своё время запустил такой почтовый сервис, правда в другой стране, арендовав аккаунт у небольшого провайдера интернета (ISP). И я подумал, что я могу предоставлять этот сервис, пока не начнутся проблемы и мне придётся его закрыть. Но когда я закрою, новый уже откроет кто-то другой, понимаете? И так я предоставлял пользователям функционал, но избегал необходимости рисковать и идти до конца. Цель была предоставить приватность, не участвовать в каких-то распрях с законом. Но в итоге всё так и случилось: они связались с моим провайдером, и ISP объяснил мне, что он маленький провайдер и у него только один проблемный пользователь – я, потому он сказал мне прекратить пересылку писем, и на этом всё. По крайней мере несколько лет сервис проработал. И таких сервисов есть множество.

    – Считали ли вы учась в университете или по его окончанию, что криптография станет работой всей вашей жизни?

    Я находил это очень интересным, и у меня был стимул. В то время для меня это было самой интересной вещью, которой я бы мог заниматься.

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

    Это был мой набор навыков. Попытка построить разные системы. И я сделал одну из таких. Реализовал упрощённую версию Eternity →, которая была файловым хранилищем, работающим по принципу распределённой сети. Туда можно было загружать файлы.

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

    И была академическая работа, кажется «Maternity Server» авторства Росса Андерсона. Она была немного сложной, но я упростил её и использовал механизм пересылки сообщений Usenet, чтобы распространять зашифрованные страницы с веб-содержимым. И после распределил данные между тысячами хостеров онлайн.

    eternity-service-adam-back

    Если пользователю нужна была какая-то часть информации, он использовал ленту, откуда можно было воспроизвести эти веб-страницы. Они должны были быть зашифрованы, то есть подписаны, и модифицировать или удалить их мог только владелец ключа. Такую сеть было очень сложно цензурировать (например препятствовать публикации или полностью «положить»).

    Если у человека был пароль, или у группы людей, они делились этой веб-страницей, а все у кого пароля не было – не могли увидеть эту страницу. Использовался для этого PGP и другие высокоуровневые протоколы, построенные на Usenet. Были даже люди, которые нарезали фильмы и публиковали их там по частям. И были инструменты, позволяющие воссоединить фрагменты. Это было образцом, что Usenet может быть так использован. Хотя он был очень медленным, скорость была не то чтобы в реальном времени, а скорее как обмен электронной почтой, и работало это скорее для форумов, но при желании можно было туда разместить данные, сгенерированные машинами, или закодированные по разным каналам.

    Люди просто могли выбрать канал, или создать новый, разместить туда сообщения из приложений, которые невозможно было прочесть без определённого софта, и это работало. Это то, что я сделал.

    И знаете, я сделал кое-что ещё. Немного поработал над электронными деньгами, пытаясь найти способы, заставить это работать. И одна из вещей, которую я реализовал, позже стала использоваться в механизме доказательства работы Bitcoin (Proof-of-Work). Создана она была как раз для пересылки почты.

    hash-cash-white-paper.jpg

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

    Это заставило меня задуматься над тем, как контролировать спам. И поскольку отправитель письма анонимен, блокировка адреса отправителя или его IP была невозможна. Я решил подумать об этом иначе, и что я выяснил, что реальная проблема была в том, что имейл был полностью бесплатным или экстремально дешёвым. И люди могут спамить огромными порциями в день, и даже при низком уровне кликов всё равно делать деньги. И я подумал – может надо создать ценность?

    Кредитные карты были трудным способом оплаты. В то время не было PayPal, а оплата требовала минимальной, но комиссии. Это создавало серию проблем масштабирования, и тогда не существовало широко распространённой системы электронных денег как Bitcoin, хотя были люди, которые пытались построить что-то централизованное (например была система DigiCash →). Но я не помню, или DigiCash появилась до того, как я это разрабатывал. Оригинальная документация DigiCash вышла задолго до HashCash. Это был 1985 год, а HashCash вышел в 1997. Но я выяснил, что можно использовать немного работы, чтобы доказать получателю, что отправитель потратил немного усилий (используя коллизии в хешировании).

    сайт-digicash-1990-1996

    Я наблюдал, что хеш функции ведут себя подобно генераторам случайных чисел. Похоже на то, как достать много монет, и перемешать их, и надеяться что конкретное их количество перевернётся орлом. Чтобы достичь этого, единственный способ – продолжать попытки (брутфорс). И такой процесс создаёт ценность. Это очень легко проверить: просто запустить хеш функцию, и вы в какой-то момент увидите серию ведущих нулей. Но чтобы получить 10, или 20 нулей вначале строки, это потребует миллионов попыток, что для компьютера тех времён занимало уже несколько секунд.

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

    Люди начали использовать это. Интегрировали в почтовые сервисы, так что нужно было прикреплять марку, чтобы отправить письмо.

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

    Также было начато обсуждение, что HashCash похож на цифровое золото, и система электронных денег могла бы быть основана на нём. Много лет назад у них (шифропанков) была DigiCash, и она была централизованная; очень приватная, но централизованная. И компания, которая управляла системой, закрылась в конце концов. Когда её функционирование прекратилось, вы не могли определить, какой монетой вы владеете, была ли она потрачена. Потому что база данных была на сервере.

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

    digicash-закрыт-1998

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

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

    Но ещё конечно вам нужно было предотвратить двойную трату. Люди обсуждали децентрализованную базу данных с защитой от двойной траты. Ник Сзабо описал это. И название кажется было B-money →.

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

    b-money-white-paper

    B-money требовала наличия серверов, подобия супер-нод в P2P сети. И они голосовали сами за себя. Люди раз в месяц решали, сколько работы нужно проделать, чтобы создать монеты в этом месяце, что-то в этом духе. Так что это не ощущалось как нечто надёжное, был человеческий фактор. Эти ребята были подобием комитета денежно-кредитной политики, и могли закончить конфликтом интересов.

    У Ника Сзабо был ещё один вариант, более изощрённый, что люди могут создавать столько монет, сколько захотят. У монет был разный уровень дефицита, все они собирались в книге, где есть стандартизированные уровни дефицита: там были очень редкие и не очень. И можно было провести уровень, выше которого произведённая монета считалась ценной монетой, а ниже – ничего не стоила. Но установка уровня сложности для добычи ценной монеты происходила напрямую, и никак не эволюционировала с ускорением вычислительной мощности компьютеров. Я не уверен, что он это учёл.

    bitgold-ник-сзабо

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

    И все пытались разобраться, как контролировать сложность. И глядя на подход B-money – это было трудно. Не было очевидным, что люди могли контролировать сложность децентрализованным путём без участия человека. Я в частности придерживался такой позиции, что цена должна быть стабильной, не требовалось отношений с банками, и нужен был установленный объём работы, чтобы на производство монеты уходил ровно доллар. И да, казалось сложным реализовать это в компьютерной сети, потому что она не знает, что такое доллар. Она не знает, с какой скоростью обсчитывают компьютеры и не может измерить подобные параметры. В итоге это привело меня в тупик.

    И ещё одна вещь, которую построили шифропанки, имею ввиду у них был реальный прототип – Reusable Proof-of-Work → от Хэла Финни. Где вы могли обменять токен HashCash на DigiCash. Это были цифровые электронные деньги с внутренней стоимостью. Но они использовали централизованный сервер. И одна из проблем, которую я не учёл – сервер DigiCash не проходил никакого аудита. В итоге вы доверяли серверу, что он не производит больше монет, чем есть у него на банковском аккаунте (или что он не обменял их больше, чем у него есть, в обмен на доказательство работы). Формировалось привилегированное положение.

    hal-finney-reusable-proof-of-work

    Хэл Финни нашёл решение. Используя новую на то время технологию доказательства подписи от железа CPU или PCR карты, что она дистанционно может подтвердить, какой софт сейчас работает на ней. Зная, что работает конкретный софт, можно было локально предотвращать двойную трату. Это уже довольно старый концепт, такие вещи были в компьютерах тогда, не идеальные, но это была модель для обеспечения безопасности. Была надежда, что это станет широко распространённым структурным элементом в безопасном программировании. Так что он построил прототип и он долгое время работал. Были ещё и менее известные идеи.

    В таком состоянии развитие остановилось в 2004, и ничего не менялось до 2008, когда Сатоши начал рассылать черновик Bitcoin со своей белой книгой («white paper»), и впоследствии в 2009 исходный код, где он доказательно, решил последнюю проблему. Сделал он это путём смены взгляда на определение проблемы, просто ограничив количество монет в обращении, и пусть рынок решает, как их оценивать. Это превратилось в компьютерную сеть, способную верифицировать состояние и усиливаться тысячами узлов. С тех пор Bitcoin начал свой долгий путь расширения.

    как-появился-биткоин-предыстория-инфографика

    Я не участвовал в Bitcoin активно до 2013 года. Я слышал о нём от Сатоши и участвовал в ранних обсуждениях через почтовую рассылку в 2008 и 2009. Но когда Bitcoin был опубликован, это заняло несколько лет, прежде чем появились обменники, где его можно было обменять на доллары. И пока они не появились, по крайней мере по разговорам с Дастином Трэммелом и другими активными участниками, это было как хобби. Вы просто отправляли деньги ради развлечения в обмен на футболки или пиццу по произвольному обменному курсу. Активность вокруг Bitcoin была лишь хобби.

    – Следили ли вы за многими из этих событий тогда? Были ли в восторге когда Хэл Финни выпустил RPW, или Ник Сзабо опубликовал работу? Встречались ли вы в реальности?

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

    Да, я был безусловно заинтересован в очередных предложениях. И когда она отправила мне черновик, белой книги («white paper») в 2008, я прочитал части этой работы и отправил ему белую книгу B-money, потому что они были очень похожи. И он связался с Вэй Даи и закончилось тем, что цитата на B-money появилась в белой книге Bitcoin тоже.

    bitcoin-white-paper

    Много лет я работал над протоколами электронных денег и пытался разобраться и найти пути, как заставить их работать.

    – Очень интересно, когда вы почувствовали что Bitcoin это «эврика»? Полагаю вы видели, что он использует HashCash и Proof-of-Work, или вы узнали об этом позже?

    Нет, он сказал об этом по почте, так что я узнал об этом сразу.

    Было интересно увидеть, как креативно решены проблемы реализации, в сравнении с теми ранними попытками, которые люди предпринимали. И было довольно интересно, что он не знал про B-money и подобные вещи. Возможно он заново изобрёл некоторые из существующих концепций.

    Были попытки поднять DigiCash и e-cash сервер. Они настроили демо сервер и сказали, что оставят его работать долго. И будет ограниченное количество монет, 1 миллион. И можно было получить несколько монет, написав им на почту. Затем пересылать эти монеты друг другу. Некоторые люди из списка рассылки шифропанков увидели в этом интересный практический эксперимент, чтобы посмотреть, смогут ли сотни из них создать ценность, продавая футболки и электронные книги, и попытаться привязать к ним ценность денег у которых нет расходов на чеканку, но есть ограниченная эмиссия.

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

    С релизом софта Bitcoin люди начали испытывать эту систему. Очевидным вопросом было: не пойдёт ли что-то не так? Как было с DigiCash когда он обанкротился, даже не будучи экспериментом. Но по крайней мере Bitcoin работал, и была какая-то надежда, что люди заинтересуются. И хотя может интерес пропал бы, но Bitcoin мог и «взлететь».

    Потому было много открытых вопросов: что произойдёт с Bitcoin, обретёт ли он популярность? У него хотя бы был предопределён дефицит, в отличие от DigiCash, которому нужно было верить на слово, и невозможно было проверить, а Bitcoin проверяем и у него есть ценность. Не нужно было просить кого-то отправить вам нарисованные монеты и попытаться обменивать их на что-то. Это был интересный эксперимент: посмотреть, состоится ли он самостоятельно. И через несколько лет доказательство этого свершилось. Тем временем я работал над другими вещами, стартапами. Но я следил за новостями и запомнил, как он например стал стоить 1$, где-то в 2012. Затем год спустя я увидел, что он стоит 100$.

    биткоин-по-100-долларов-график-2013

    Но в Bitcoin больше монет. 21 миллион. А у DigiCash демо был 1 миллион, то есть – меньше монет. Так что когда он начал стоить 100$, я начал думать: кажется здесь что-то происходит, да? Звучит так, будто он волатильный, но удерживает стоимость. Должна быть причина – ею было количество пользователей. И в то время уже работали 1 или 2 биржи. Так что я подумал, что он реализовался. Решил потратить больше времени на изучение, быть в курсе всех деталей как это работает.

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

    На тот момент было мало документации. Я пытался разобраться в деталях, как это работает. Я прочитал то, что нашёл в онлайне. И одна из вещей, которую я нашёл – гайд по коду. Кто-то прошёлся по коду и объяснил, как структурированы все модули и процессы, основные операции и функции.

    Код не показался мне плохим. Он выглядел достойно систематизированным и прекрасным на низком уровне. Очевидно, что надёжность сети возможно зависит и от чистоты кода. Знаете, разные люди используют разные стили комментирования и очень религиозны вокруг своих стилистики своих комментариев.

    – Я слышал, что ваш код краток и элегантен

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

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

    Насколько я понимаю, большинство людей считают, что весь исходный код Bitcoin написан одним человеком, потому что он выдержан в одном стиле.

    Позже я прочитал всё, что мог, и у меня осталось много вопросов. Я решил поискать людей, которые участвуют в разработке Bitcoin и общаются в онлайне. Так я нашёл Bitcoin Wizards и в канале про C, я задал им много вопросов. Поначалу мои вопросы выглядели глупо. Но позже я изучил систему лучше, и задавал более умные вопросы, и когда вошёл в курс, начал предлагать решения или выяснять, есть ли решения на ту или иную проблему.

    bitcoin-wizards-сообщество

    Одна из проблем, на которую я обратил внимание, была проблема податливости транзакций (Transaction malleability problem), и я предложил основной шаблон решения, подобный SegWit, но не в точности. Многие процессы не имели лимитов, и со временем это усовершенствовали и исправили.

    Что я тогда предложил: подписи Шнорра будут лучше для Bitcoin, и он мог бы использовать их. Я потратил некоторое время, объясняя преимущества, дискутируя с людьми. Спустя много лет это было реализовано и совсем недавно начало работать в Bitcoin (прим. ред. имеется ввиду Taproot).

    – Что вы думаете об исчезновении Сатоши? Не с точки зрения лидерства или экономики, а приватности и компьютерных наук

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

    последний-онлайн-сатоши-на-форуме-bitcointalk

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

    В то же время было много анонимов в рассылке шифропанков. Многие люди публиковались анонимно. Глядя назад, я бы сказал это где-то 5%.

    – О скольких людях мы говорим? Это 10, 20 или 100 человек? Я имею ввиду, что это не такая уж большая группа

    Прекрасно то, что вы не можете знать, сколько именно их. Вы не можете знать, или это всё не один человек, верно?

    Кто-то из них использует псевдоним, а кто-то просто ноунейм – комментарий, который держится сам на себе. Но было несколько тысяч людей в списке, так что вероятно от 10 до 100 человек.

    И софт системы регулярно публиковались анонимами. Была система под названием Magic Money →, ещё одна система электронных денег. Реализация, где вы можете управлять своим сервером, выпускать монеты, давать их людям и они могут тратить их. Новизна была в том, что каждый был сам производителем собственных монет. Но практического применения тут не было, потому что не было обменного курса. Но как технология она реализовала некоторые вещи и полагаю помогла людям понять кое-что. Система была опубликована под псевдонимом кажется «Pr0duct Cypher», с одним нулём.

    Была ещё одна вещь из области стенографии, названная PGP Stealth →. Это был способ взять зашифрованное PGP сообщение и трансформировать его так, чтобы было непонятно, что это PGP сообщение. Брались случайные числа, кодировались в картинку или что-то ещё, и затем могли декодироваться с помощью ключа. Такой способ скрыть наличие криптографии, опубликованный под ником «Henry Hastor».

    pgp-stealth

    Был небольшой тренд публиковаться анонимно или псевдонимно, что не везде встретишь в других частях Интернета. Вы наверное удивитесь, почему. Дело в том, что если что-то получит широкое распространение, но не найдёт популярности у государства – идентификация автора создаст политический или иной риск. Например PGP написан известными людьми. И Филипп Циммерман, автор PGP, имел серьёзные вызовы закона за то, что сделал это. Будто он нарушил принципы регулирования экспорта криптографических технологий (прим. ред. был строго ограничен законодательством США до 1992 года, постепенно смягчился до 2000 года, но некоторые ограничения сохраняются и сегодня; PGP вышел в 1991 году). Они вероятно хотели удерживать частные лица от шифрования сообщений, так чтобы правительство могло их расшифровывать. Законные проблемы обошли его стороной, но несколько лет были головной болью для него. Этот факт и то, что люди увидели, как это происходило, возможно заставили их искать способы как предотвратить это, а значит – стать анонимными.

    – Думаете вероятно, что какой-то орган власти знает личность Сатоши, а мы этого не знаем? С точки зрения компьютерной науки и приватности: мог ли Сатоши оставить следы, раскрывающие его/её личность?

    Наверное они мониторят и логируют большую часть Интернета. Транзитные данные, к которым у частных исследователей нет доступа. Но наверняка он использовал какой-то приватный тег, PGP и всё такое. Вероятно он достаточно образован и внимателен, чтобы люди не могли найти уязвимые точки. Есть известные инструменты для использования.

    Как минимум Эдвард Сноуден, осведомитель, высказывал своё мнение (вероятно располагая данными, которые он получил за время работы в агентстве США). Он говорил, что у агентств нету средств к расшифровке или мониторингу корреляции трафика, чтобы расшифровать такие вещи.

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

    – Открылись ли вам новые двери или нашлись ли непреодолимые трудности с момента 2013 года в Bitcoin?

    С тех пор как я действительно заинтересовался в 2013, я более активен и провожу исследования. Провёл некоторое время рассматривая ограничения, общался об этом в онлайне и пытался выяснить. Потому что есть ограничения того, что можно добавить, не сделав остальные фрагменты системы хуже. Некоторые вещи, где применим мой опыт: распределённые системы, протоколы, P2P сети с использованием прикладной криптографии. Я потратил 3 или 4 месяца свободного времени, ища разные вещи, что потенциально могут быть улучшены. К моему удивлению, вы можете изменить систему и она будет работать, но обычно это будет сопровождаться парой вещей, которые станут от этого хуже работать. И систему не так уж просто улучшать.

    Одна из вещей, проблем: система не очень приватна, в плане отслеживания связей. Да, тут не нужно создавать кошелёк или получать монету через идентификацию, но можно отследить пользователя по сдаче. Приватность не так хороша, какой она была в других системах электронных денег, что выпускались прежде (DigiCash и другие). Я прилагаю усилие к тому, как это может быть улучшено. Я реализовывал прежние системы электронных денег через библиотеку credlib →: например, систему дискретного логирования доктора Стэфана Брэнда. Там есть интересные функции для приватности. Может я бы мог использовать некоторые из этих идей, чтобы повысить приватность Bitcoin.

    И я помню сноску в тезисной книге Дэвида Чау… извините, доктора Стэфана Брэнда, касательно его системы электронных денег, где в качестве учётных данных использовался диапазон, и вы могли доказать, что число находится в пределах диапазона.

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

    Эти две вещи вдохновили меня на то, что это могло бы работать в Bitcoin, но есть проблема избытка. Я могу сделать огромное число и число минус один, и оно будет добавляться, потому что оно обёртывается и создаёт инфляцию. Это нужно предотвратить. Доказательство диапазона это способ предотвращения, потому что маленькие числа можно обернуть в маленький диапазон, и я потратил много времени (копаясь в «кроличьих норах») чтобы создать доказательство диапазона, упаковать его в небольшое количество байт и сделать это практически применимым.

    Есть много литературы вокруг криптографического доказательства диапазонов, например доказательства с нулевым разглашением (Zero-Knowledge Proofs), где вы не раскрываете значение, но подтверждаете диапазон (применяются в многих криптовалютных системах). Я в итоге решил, что оптимизация версии, цитированная из этой сноски будет лучшим подходом, потому что она достаточно компактная и использует ту же криптографию, что и Bitcoin, с дискретными логами и прочее. Так что она впишется.

    схема-zero-knowledge-proof

    Я писал об этом на форуме Bitcointalk. Позже это стало конфиденциальными транзакциями, частичным решением проблемы приватности. Предотвращается возникновение ссылки между отправителем и получателем. Становится трудно выделить сдачу, потому что вы не можете посмотреть на значения и так просто понять – что из этого сдача.

    – Что вы видите работой своей жизни в этот момент? Это работа над Bitcoin? Над приватностью? Над криптографией? Bitcoin больше чем криптография для вас?

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

    адам-бэк-ест-пиццу

    Bitcoin стал больше, чем поле для прикладной криптографии. Не так уж много программистов, архитекторов и криптоаналитиков работают над прикладной криптографией. Большинство используют библиотеки или просят совета у кого-нибудь, используя существующий протокол. Не так много людей работают над этим. И это ниша, в которой есть спрос. Она никуда не денется, потому что это трудно – делать компьютерные системы безопасными. Но Bitcoin гораздо более увлекательнее. Грандиознее. Думаю в этот момент времени Bitcoin стал социально значимой переменой, верно?

    У нас есть шифрование голоса и текста, дисков. Много шифрования вокруг. Юзабилити может быть улучшено, и прямая секретность (Forward Secrecy). Прямая секретность – если кто-то заполучит вашу зашифрованную коммуникацию, не должно быть возможности расшифровать её после этого. Как если бы кто-то пришёл и сказал: эй, расшифруй это, и вы не можете, потому что софт уничтожил ключи. Что-то из этого может помочь. Некоторые системы используют это, некоторые нет. В итоге общение и хранение файлов достаточно зашифрованы и хорошо разрабатываются, верно? В то время как электронные деньги новые, имеют гораздо больший охват, и всё идёт к тому, чтобы они раскрыли свой потенциал.

    – Раскачается ли Bitcoin за следующие 50 лет, или нужны 300 лет стараний? Как много в нём благодатной почвы для молодого поколения?

    Интересно учить такие вещи. Над чем работаю я: это теория игр, экономика и денежно-кредитная политика, а также прикладная криптография и приватность, доказательство работы и динамика вокруг этого.

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

    Мы находимся прямо в авангарде того, как решать моменты приватности в криптографическом софте, и это трудно делать, не нарушая масштабируемость. И есть пару новых вещей, новее, чем Bitcoin: SNARKs, доказательства с нулевым разглашением, программы, хранящие данные и возвращающие правду без раскрытия того, что это за данные. Нужно больше работать над доказательствами знания. «Bulletproofs» одни из таких, и есть много других версий SNARKs и STARKs. Это очень новая область технологии и быстро развивающаяся.

    Интересный феномен, что прикладная криптография получила подпитку заинтересованности в связи с Bitcoin. Если вам удастся добиться прорыва в прикладном плане, это может найти реальные применения и широко распространиться, хотя исторически теоретическая криптография подтверждала новые математические открытия, но не использовалась широко. Понимаете? Есть разница между применением и теорией. Теория просто подтверждает, что это возможно, безопасно, эффективно и так далее. Есть много причин работать над прикладными системами и пытаться понять, как это может быть использовано в Bitcoin.

    – Если бы вы могли дать «оранжевую таблетку» любому человеку в мире, кто бы это был?

    оранжевая-таблетка-биткоина

    Интересный вопрос. Не уверен. Возможно молодым людям, учащимся в университете, или кто начинает программировать. Это интересные люди, чтобы дать им оранжевую таблетку, потому что они начинают как туземцы. Я думаю люди, которые никогда не знали жизни без Интернета развивают отдельный вид понимания. Могут продвигать новые инновации.

    – Оставляю вам слово

    blockstream-логотип

    Я в Twitter – @adam3us →. И Blockstream доступен по адресу Blockstream.com →. Это всё. Спасибо.

    от Кошелёк