Logo
Поделиться этой статьей

Проверка кода отупляет: вопросы и ответы с Эндрю Чоу, ответственным за поддержку Bitcoin

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

Мало кто понимает ключевые технические проблемы, с которыми в настоящее время сталкивается доминирующая в мире Криптовалюта. Эндрю Чоу — ONE из них.

Чау является ONE из четырех «хранителей» CORE Bitcoin (или просто CORE), самое популярное программное обеспечение для подключения к сети Bitcoin .

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку The Protocol сегодня. Просмотреть все рассылки

Сопровождающие проверяют изменения в Bitcoin CORE , известные как «коммиты», которые отправляются — коллегами-разработчиками Bitcoin — как «запросы на извлечение» или «PR». Затем Чоу и другие сопровождающие одобряют или «объединяют» эти изменения в исходный код Core. «Обзор кода» имеет решающее значение для обеспечения того, чтобы не было объединено ни одного ошибочного кода.

Процесс прозрачен, и пока Чоу просматривает коммиты, онтранслирует процесс на Twitch.

Чоу — геймер в душе, и он начал пользоваться Bitcoin только в старшей школе, чтобы платить за видеоигры, которые он T мог себе позволить. Его родители T давали ему кредитную карту, не открывали для него банковский счет и даже не давали ему карманные деньги. Он прибегнул к фрилансу на Форум BitcoinTalk и начал писать код в обмен на Bitcoin (BTC).

Чоу, который, по его словам, сейчас находится в возрасте около 25 лет, работает инженером в компании Blockstream, занимающейся инфраструктурой Bitcoin , где, помимо нескольких корпоративных задач, его главным приоритетом является работа над Bitcoin CORE.

Он говорит, что обзор кода — ONE из самых больших проблем, с которой сталкивается Bitcoin сегодня. Большинство разработчиков CORE стремятся писать код для новых функций, но немногие любят более обыденную задачу обзора кода, представленного их коллегами. Чоу говорит, что больше Авторы должны сосредоточиться на обзоре кода, чтобы справиться с более чем 300 PR в Core Репозиторий GitHub. Сообщество имеетКлуб обзора PR Bitcoin CORE которая собирается еженедельно, чтобы помочь новым Авторы Словарь о процессе рецензирования.

Чоу согласился дать интервью CoinDesk на Развитие Bitcoin конференции в Лондоне. Он подробно рассказал о том, почему обзор кода так важен, объяснил, что делают Авторы Bitcoin CORE каждый день, и высказался по поводу текущих дебатов по поводу op_vault и ускоренный судебный процесс. Вот частичная расшифровка этого интервью.

CoinDesk: Как вы узнали о Bitcoin?

Эндрю Чоу: Когда я был моложе, в старшей школе, у меня T было банковского счета, потому что мне не было 18 лет. Мои родители T открывали ONE для меня. У меня T было кредитной карты — даже контролируемой кредитной карты — и у меня T было карманных денег. Но Пар продавал игры за Bitcoin. Если вы играете на ПК, вы можете скачать Steam, и там есть практически все игры для ПК.

Также, накошелек.io, вы могли бы продавать Bitcoin за всякую всячину. Ну, я хотел играть в игры. Я хотел их покупать. Я имею в виду, я не против пиратства, но, знаете ли, пиратство — это как-то подозрительно. Вы T знаете, что скачиваете. Это может быть полностью вредоносное ПО.

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

Я знаю несколько человек, которые так делали. Вот так я и научился программированию. Я заходил на BitcoinTalk, и люди говорили: «Я заплачу вам столько, сколько вы напишете мне скрипт, который делает это».

Ну, это казалось достаточно простым. У меня также был друг в старшей школе. Он сказал: «Эй, ты слышал об этой штуке с Bitcoin ? Я думаю, тебе это может понравиться». Он определенно покупал наркотики за Bitcoin.

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

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

К тому времени, как я начал его использовать, он был каким-то беспорядочным и T всегда работал. Я обнаружил, что некоторые проблемы, которые возникали в Armory, были вызваны вещами, которые делал Bitcoin CORE . Поэтому я начал заходить в Bitcoin CORE и спрашивать, что делает Bitcoin CORE ? О, в Bitcoin CORE есть этот баг, который заставляет нас иметь баг.

Armory делала что-то нерекомендуемое, а именно читала файлы блоков напрямую из Bitcoin CORE – этого делать нельзя. Когда они изменили формат, все сломалось.

Я пытался примирить эти два проекта, а затем Armory просто выпал из моей карты. Вот так я перешел на Bitcoin CORE. В конце концов я перестал работать над Armory, потому что больше работал над CORE.

Вчера мы говорили о соотношении Авторы Bitcoin , которые проверяют код, и Авторы , которые пишут код. Можете ли вы поделиться своими мыслями по этому поводу?

Наше главное узкое место в Bitcoin CORE — это обзор. У нас более 300 PR-ыоткрыты и их нужно пересмотреть. Будь то просто чтобы убедиться, что код хорош или просто концептуально, типа: «А хотим ли мы вообще это изменение?»

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

Лично я нахожу проверку кода BIT скучной. Это немного раздражает и может быть немного отупляющим. Но я все равно это делаю. Думаю, это как необходимое зло, и это потому, что я T нахожу это забавным. Если я делаю это слишком часто, я начинаю чувствовать, что выгораю, потому что это больше не доставляет удовольствия.

Поэтому вам нужно найти баланс между написанием кода и его рецензированием. Это BIT «уловка-22». У нас должно быть больше рецензентов, чем кодеров, но как стать достаточно компетентным, чтобы рецензировать код, если вы не пишете код? Это загадка.

Мы находимся на медвежьем рынке, и организации вроде Brink, финансирующие разработку Bitcoin , говорят, что финансирование сократилось примерно на 50%. Зачем нам платить Авторы и разработчикам Bitcoin ?

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

И даже тогда существующее сейчас программное обеспечение не может существовать вечно. Операционные системы будут развиваться, библиотеки будут развиваться и меняться. В конце концов программное обеспечение просто перестанет компилироваться на компьютере; оно может просто перестать работать. Поэтому нужна постоянная работа, чтобы KEEP его в актуальном состоянии.

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

Там может бытьDoS Векторы, которые мы хотим исправить или изменить, которые, возможно, еще T были обнаружены. Всегда есть что-то.

Если я новый участник CORE , о каких важных проблемах мне следует знать?

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

Была проделана большая работа над мемпулом — как и какие транзакции принимаются в мемпул, какие методы для этого существуют.повышение платы, и тому подобное. Это имеет отношение кМолнияи другие сети [уровня 2].

Что такое «атака сковывания»?

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

Есть куча атак, которые можно сделать с существующими правилами Политика mempool. Они задокументированы в списке рассылки, и они определенно являются проблемами. Если бы кто-то попытался их эксплуатировать, это было бы раздражающе, но я T думаю, что мы видели, чтобы кто-то пытался их эксплуатировать.

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

Вчера мы также обсуждали op_vault и Speed Trial. Возникли некоторые разногласия по поводу рекомендации Джеймса О'Бейрна развернуть op_vault с помощью Speedy Trial. Есть комментарии?

При таком новом предложении о развертывании следует думать в последнюю очередь.

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

Так что я думаю, что Джеймс, вероятно, допустил ошибку, добавив это туда.стержневой корень Раздел развертывания T был определен до Taproot. Сами изменения кода были объединены в Bitcoin CORE , но не активны. Необычно просто сказать, что мы займемся развертыванием после того, как выясним, какими мы хотим видеть изменения кода.

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

Frederick Munawa

Фредерик Мунава был Технологии репортером CoinDesk. Он освещал протоколы блокчейна, уделяя особое внимание Bitcoin и смежным с биткоином сетям.

До работы в сфере блокчейна он работал в Royal Bank of Canada, Fidelity Investments и нескольких других глобальных финансовых институтах. Имеет опыт работы в сфере Финансы и права, уделяя особое внимание Технологии, инвестициям и регулированию ценных бумаг.

Фредерик владеет паями фонда CI Bitcoin ETF на сумму, превышающую порог Раскрытие информации Coindesk в 1000 долларов США.

Frederick Munawa