Биткоин — штука сложная и отпугивающая. Он подобен огню, электричеству, компьютеру и любому другому новаторскому изобретению до него. Но пугает Биткоин лишь потому, что люди не понимают, как он работает и какую пользу он может принести.
Как только вы разберётесь, как он устроен, вы начнёте понимать, почему он так нужен людям во всём мире. И я надеюсь, что, как только вы действительно поймете базовые принципы его работы, вы согласитесь, что запрет Биткоина — наиглупейшая идея.
В свете недавних комментариев законодателей и политиков, мы не должны забывать, что Биткоин делает и как он это делает. Биткоин — это текст. Биткоин — это речь. Биткоин — это математика. У Биткоина нет юрисдикции, как нет её и у 2+2=4. У Биткоина нет границ. Биткоин везде и нигде. А если он используется безопасным образом, то он так же конфискуем как, допустим, мысль. Никакие «законы» или другие заумные слова в толстых фолиантах не способны изменить этого факта.
Использование Биткоина не требует специального оборудования. Мы используем программное обеспечение и специализированное «железо» лишь для большей эффективности и безопасности, хотя в теории Биткоин может работать при помощи шариковой ручки и листа бумаги.
Всегда истинны следующие тезисы:
- Вы можете создать приватный ключ, подбрасывая монетку;
- Наличие приватного ключа позволяет вам принимать Биткоин и создавать транзакции;
- Создание транзакции — это математика;
- Отправка транзакции — это отправка сообщения;
- Майнинг Биткоина — это угадывание числа;
- Всё, из чего состоит Биткоин — это информация.
Эти тезисы могут показаться вам странноватыми, если вы не знаете, как работает Биткоин, но, тем не менее, они истинны. Благо, Биткоин — это открытая система, и это означает, что каждый может изучить детали сети. Я советую вам сделать это, и более того, если получится — обучить других. Мы не должны забывать, что политики подразумевают, когда размышляют о «запрете кошельков» и выдумывают бессмысленные и хитрые прилагательные, вроде «самообслуживающийся» или «неподконтрольный».
Создание кошелька путём подбрасывания монетки
Чтобы взаимодействовать с сетью Биткоина, вам необходим кошелек, а, следовательно, вам нужен приватный ключ. Общепринятые концепции не совсем подходят для Биткоина, поэтому можно считать, что создание пары публичного и приватного ключа сродни регистрации аккаунта. Если мы знаем, что публичный ключ получается из приватного ключа, у нас остается только один вопрос: что такое приватный ключ и как он создаётся?
Приватный ключ — это 265-битное число. Вот, собственно, и всё его описание.
Как оно выглядит? Ну, по названию можно предположить, что это число, состоящее из 256 бит, то есть последовательность из 256 нулей и единиц. Другими словами — это очень большое число!
Внимание! Приватные ключи, показанные на этой странице — настоящие приватные ключи. Не посылайте биткоины на/не используйте приватные ключи из примеров. Вы потеряете свои деньги.
Повторяю: Вы. Потеряете. Свои. Деньги.
Вот пример такого числа:
001011101100101110111010101101011000100110111101000101101
010011000100111001010111010101010110000000110110000011100
000001110001010010000100000101000101101110000011100011101
010100111110100011011101010001101111100010111110000011010
0010110110000010101010111111
Эти нули и единички, хотя более корректно будет сказать «информация, содержащаяся в этих нулях и единичках» — и есть готовый приватный ключ. Вы смогли бы использовать эту информацию, чтобы получать и отправлять транзакции в сети Биткоин.
Почему это важно? Потому что я могу создать Биткоин-кошелёк, сидя у себя в комнате и подбрасывая монетку 256 раз. Если вы хотите объявить вне закона «анонимные кошельки», то вам нужно объявить вне закона такую методику вместе со всеми другими техниками по созданию случайных чисел: бросание кубика, вытягивание карт и т.д.
Далее, ввиду того, что нули и единицы — это просто информация, вы можете представить её в бесчисленном количестве вариаций. Сама информация при этом не изменяется. Меняется только её репрезентация. Шестнадцатеричная версия 12e188aeb7c9aeb0eef7fac7c89e3b9b535a30b2ce8d6b74b706fa6f86b061e4 представляет собой всё тот же приватный ключ из нулей и единиц, точно так
же, как и следующий мнемонический код, который можно выучить наизусть при должной сноровке:
concert, frozen, pull, battle, spend, fancy, orient, inside, quiz, submit, scare, mechanic, awake, mercy, lock, inside, language, tag, dash, control, borrow, hip, print, absorb.
Запомните: эта информация, это 256-битное число — всё, что вам необходимо, чтобы взаимодействовать с сетью Биткоин. Вам не нужен паспорт, прописка или любое другое средство идентификации. Вам даже не обязательно быть человеком! Если вы контролируете приватный ключ — вы можете посылать и принимать транзакции.
Хотите понять Биткоин? Осознайте, что кошелёк может быть создан обычным подбрасыванием монетки.
Владея приватным ключом, вы можете накапливать сатоши
Итак, Вы подкинули монетку 256 раз. Что дальше? А дальше — время получить немного денег!
Чтобы принимать сатоши, вам необходим адрес, который может быть получен из вашего приватного ключа. Возьмите ручку и бумагу, и рассчитайте ваш публичный ключ согласно стандарту BIP32. Если вы ограничены во времени или не очень хороши в математике — не отчаивайтесь! Существуют онлайн инструменты, которые сделают эти вычисления за вас. Но помните, что эти программы не делают ничего странного или магического. Они просто используют математику, и вы можете сделать это сами, используя ручку и листок бумаги.
В результате всех вычислений получится число, которое в закодированном виде выглядит, например, вот так:
bc1qd6yf555vwns0mpgy55epux4tzf8a40nmw2vpgq
Это — ваш Биткоин адрес. Поделитесь им с кем-нибудь, и вы готовы принимать ваши первые сатоши! Держите в уме, что у вас нет необходимости делиться адресом именно в таком формате. Вы можете перекодировать его в QR код, в число, в эмоджи, в аудио файл или в шрифт Брайля. Вы можете указать его в вашем инвойсе, разместить его на вашем сайте, в вашем профайле, послать через любой мессенджер или даже сделать тату на вашем теле. Это просто информация. Она может быть представлена бесчисленным количеством способов.
К тому же, вам не нужно быть онлайн для принятия сатоши. В отправке сатоши участвует вся сеть, а не только два кошелька. По-простому это выглядит так: некто подписывает заявление, что посылает сатоши на ваше имя, и рассказывает об этом всей сети (это не ваше имя, конечно, так как Биткоин не знает никаких имен, это лишь аналогия для упрощения понимания процедуры).
Итак, кто-то опубликовал транзакцию, которая включает в себя ваш адрес как конечный пункт, что значит, что вы очень скоро получите свои первые сатоши. Что теперь? Теперь в рамках изучения возможностей Биткоина время создать свою транзакцию и передать сатоши кому-нибудь ещё.
Создание транзакции – это математика
Если у вас есть приватный ключ, вы можете создавать транзакции. Помните, что приватный ключ — это просто большое число. Что вы можете делать с числами? Считать, предположите вы и окажетесь правы.
В своей простейшей форме Биткоин-транзакция — это сообщение, которое гласит что-то вроде:
Я, Алиса, перевожу 21 сатоши Бобу. Подпись: Алиса.
Реальные транзакции могут иметь несколько отправителей и несколько получателей, различные настройки и уровень оперативности, но суть остаётся прежней. Что важно отметить: в транзакции нет никаких секретов. Транзакции публикуются по всей сети, и могут быть просмотрены и проверены кем угодно. Все транзакции — это просто текст. Ничего не зашифровано.
Чтобы написать «Алиса посылает 21 сатоши Бобу» таким образом, чтобы это сообщение было понятно сети Биткоин, нам необходимо использовать более точный формат. Пусть вас не смущает формат сообщения или как это сообщение закодировано. Это не имеет значения, используем мы, например, английский язык или что-то более понятное для компьютеров. Значение сообщения остается прежним. Я бы мог записать это как [A]—21—>[B] и подписать приватным ключом, который принадлежит А, и это было бы буквально то же самое!
Это приводит нас к очень важной вещи: подписи. Подписи, сделанные рукой не очень полезны в цифровом мире, поэтому математики и криптографы изобрели современный эквивалент — цифровые подписи.
Мы не будем детально разбираться, как они работают, важно одно: они суть математика и вычисления. Ваш приватный ключ выступает как большое секретное число, которое используется для того, чтобы проводить математические операции. Результат этих математических операций и есть цифровая подпись (другое число), которая может быть проверена, используя ваш публичный ключ, который тоже является числом.
Математика — это то, что заставляет криптографию с открытым ключом работать. Вы можете проверить, действительно ли отправитель владеет приватным ключом, без предоставления этого приватного ключа. Вот как работают цифровые подписи.
Давайте рассмотрим пример. То, что вы видите ниже — реальная транзакция:
01000000017967a5185e907a25225574544c31f7b059c1a191d
65b53dcc1554d339c4f9efc010000006a47304402206a2eb16b7
b92051d0fa38c133e67684ed064effada1d7f925c842da401d4f2
2702201f196b10e6e4b4a9fff948e5c5d71ec5da53e90529c8dbd
122bff2b1d21dc8a90121039b7bcd0824b9a9164f7ba098408e6
3e5b7e3cf90835cceb19868f54f8961a825ffffffff014baf210000
0000001976a914db4d1141d0048b1ed15839d0b7a4c488cd368
b0e88ac00000000
Вы можете использовать различные инструменты, чтобы декодировать и исследовать её. Эти инструменты помогают нам найти детали в записях, но лежащий в основе смысл остается прежним: это просто числа!
В итоге всё, что вам необходимо, чтобы взаимодействовать с сетью Биткоин:
• Шаг 1: Подбросить монетку определённое число раз.
• Шаг 2: Произвести кое-какие вычисления.
• Шаг 3: Отправить и получить сообщения.
Пытаться признать данные три пункта вне закона просто смешно из-за особенности происхождения информации. Если вы запрещаете определённые типы информации, то вы косвенно запрещаете и все представления этой информации: текст, речь, картинки, эмоджи, QR коды, язык знаков и так далее. А так как вся информация может быть представлена в виде числа — включая вычисления и сам компьютерный код, то запрет Биткоина это не что иное, как запрет чисел.
Несмотря на то, что идея запрета чисел звучит смешно, такое уже случалось. «Запрещенные числа» и «Запрещенные слова» стали реальностью по милости некоторых доброхотов, которые пытались поставить вне закона неудобную им информацию.
Однако общество и законодатели должны принять тот факт, что Биткоин, кошельки и транзакции — это просто информация, как и всё остальное в Биткоине.
Отправка сатоши – это отправка сообщения
Так как Биткоин суть информация, то отправка сатоши кому-либо — это распространение этой информации или, другими словами, отправка сообщения. Вам даже не придётся отправлять это сообщение кому-то конкретному. Транзакции базового уровня — это публичные транзакции. Они отправляются каждому в сети.
Держите в уме, что любой канал передачи данных может быть использован, чтобы отправлять и получать информацию. Интернет — это просто самый эффективный инструмент на данный момент. Но нет никаких причин, почему вы бы не могли использовать для этого портативную станцию спутниковой связи или, скажем, децентрализованное радио. Некоторые люди используют их — кто забавы ради, а кто и по необходимости.
Тот факт, что отправка сатоши — это отправка сообщения, никак не меняет смысла на более высоких уровнях Биткоина. Ноды в Lightning Network делают абсолютно то же самое: они отправляют сообщения туда-обратно. Ни больше, ни меньше.
Это открывает две очевидные истины о Биткоине:
- Биткоин — это протокол передачи сообщений;
- Все сообщения — это обычный текст.
Сообщения могут быть переданы через зашифрованный канал связи, но сами сообщения в протоколе есть и всегда будут обычным текстом. Они обязаны таковыми быть. Основа Биткоина в том, что всё должно быть легко проверяемо любым желающим.
Запрет Биткоина подразумевает запрет передачи сообщений. Помните, что мы имеем дело с чистой информацией. Информация может быть закодирована бесчисленным количеством способов: форматы разные — содержание одно и то же. И в этом суть: вы не можете запретить содержание сообщения. Если вы не знаете протокола, содержание сообщения ускользнет от вас. Если вы не знаете языка — вы не знаете, что было сказано или зачем это было сказано.
Это приводит нас к последнему элементу головоломки протокола Биткоина: майнингу.
Майнинг Биткоина – это угадывание числа
Большинство людей не понимают, что такое Биткоин-майнинг и как он работает, потому что они не говорят на языке Биткоина и не понимают, что на нём было сказано и почему.
Биткоин-майнеры не делают чего-то особенного, подобно тому как компьютеры не делают ничего особенного. Они просто «щёлкают» числа, как орехи.
Не так давно, когда говорили о «компьютере», имели в виду профессию. Это было описанием работы, а не вещью. Самым эффективным путем произвести вычисления было: заплатить кому-то, чтобы он сел и начал вычислять.
Со временем мы создали гораздо более эффективные приспособления для вычислений. Сегодня, когда мы говорим «компьютер», мы имеем в виду нечто, что использует для математических операций не мозги, а микрочипы. Но лежащая в основе реальность не изменилась: компьютеры «щёлкают» числа. Они не делают ничего особенного, нечестного или магического. То же самое верно и для ASIC’ов.
Биткоин, также как и алгоритмы NASA до него, может быть запущен «на человеке». Нам не нужны ASIC’и, чтоб майнить Биткоин. Мы можем делать это руками. Мы можем использовать наш мозг. Это медленно, громоздко и неэффективно. Но мы можем это делать!
Буквально как вы могли бы использовать голубей для запуска Интернета, вы могли бы использовать людей вместо кремниевых микрочипов для запуска Биткоина. Это было бы крайне неэффективно, да, но оно бы работало точно так же!
Как было показано в видео Кена Ширриффа в 2014 году, SHA-256 достаточно прост для расчётов с ручкой и бумагой. Ему удалось сделать один этап SHA-256 за 16 минут и 45 секунд, что соответствует хэшрейту в 0.67 хэша в день.
Я показываю всё это для того, чтобы вы поняли — основа построения Биткоин-блоков — это числа, вычисления и обмен сообщениями.
Это справедливо для всех процессов Биткоина. Не имеет значения, создаёте ли вы приватный ключ, вычисляете публичный, генерируете Биткоин-адрес, майните блок, подписываете транзакцию или открываете Lightning-канал. Всё, что вы делаете, сводится к придумыванию или нахождению больших чисел, манипуляций с этими числами через математические формулы и отправке результата этих вычислений Вашим пирам. Вот и всё.
Коммуникация не выводится из-под гарантируемого конституцией права на свободу слова, пусть даже она представлена в виде компьютерного кода. Математические формулы и музыкальные ноты написаны в виде кода, то есть символьной последовательности, понятной лишь посвящённым, и защищены Первой Поправкой. Если некто пожелает написать роман исключительно на компьютерном языке, используя последовательность нулей и единиц для каждой буквы каждого слова, результат такой работы с точки зрения конституции неотличим от того, который был бы написан на английском языке.
— Из процесса Джангера против Дэйли.
Как только вы поймёте, что Биткоин — это информация, а компьютеры и Интернет — это лучшая основа, чтобы преобразовывать и передавать эту информацию — нелепость требований о запрете Биткоина станет для вас очевидной. Биткоин можно записать в книгу — запретить книги! Биткоин можно проговорить, произнеся 12 слов Вашей сид-фразы — запретить слова! Биткоин можно майнить шариковой ручкой на листе бумаги — запретить вычисления, запретить письменность, запретить знать математику! Биткоин можно хранить у себя в голове, а, значит, запрет Биткоина — это то же самое, что запрет определённых мыслей.
Если хранение 12 слов у вас в голове нелегально, то что-то определённо не так с законом. Если полиция штурмует ваше жилище, потому что вы ищете или создаёте случайное число у себя дома, то что-то определённо не так с полицией. Если мирный обмен сообщениями выглядит опасным для общества — что-то определённо не так с обществом. Если произношение или знание чисел становится преступлением — то я не хочу быть законопослушным гражданином.
Биткоин — это чистая информация. Он использует свойства информации и трансформацию информации — вычисления, — чтобы построить общедоступную конструкцию, которую мы можем независимо согласовать и проверить. Он — только лишь вычисления и числа. Нули и единички, отправляемые туда и обратно добровольными участниками, которые хотят мирно отправлять и получать сообщения.
Заключение
Приватный ключ — это большое число. Когда он представлен в виде слов, вы можете хранить его у себя в голове. Приватный ключ — это всё, что вам необходимо, чтобы посылать и принимать транзакции. Вы можете подписывать и проверять транзакции с помощью ручки и листа бумаги. Вы можете майнить Биткоин с помощью ручки и листа бумаги. Биткоин — это просто протокол передачи данных, который автоматизирует эти операции и делает их эффективнее.
Понимание основ Биткоина делает очевидным, что идея запрета «анонимных криптокошельков» — невыполнима. Для этого надо признать вне закона энтропию, сам акт появления случайных чисел. Понадобится установить всеобщую круглосуточную слежку, а затем ломиться в дверь и арестовывать любого, кто посмеет подкидывать монетку или бросать кубик. Придётся издать закон, криминализирующий само мышление, так как создание «анонимного Биткоин-кошелька» есть не что иное, как появление 12 случайных слов.
Дорогие законодатели, я спрашиваю вас искренне: вы готовы запретить мысль как таковую? Должна ли математика быть вне закона? Вы правда уверены, что криминализация речи — это хорошая идея?
Надеюсь, мы все согласны с тем, что свобода мысли и слова — основа процветающего общества. И, надеюсь, по мере того, как всё больше и больше людей станут понимать Биткоин, и общество и законодатели одинаково уяснят для себя, что Биткоин есть не что иное, как мысль и слово.