В предыдущей статье этого раздела мы рассмотрели архитектуру Биткойна как децентрализованной денежной системы, работающей в одноранговой сети. Сохраняя высокий уровень, мы разделили архитектуру на два широких компонента. Правила, которые определяют, как Биткойн работает как денежная система, поставляются в виде программного обеспечения и иерархии участников сети, которые его запускают.
Что вы узнаете
1. Биткойн-функции и участники
2. Запуск полного узла
3. Хранение блокчейна
4. Маршрутизация транзакций
В предыдущей статье этого раздела мы рассмотрели архитектуру Биткойна как децентрализованной денежной системы, работающей в одноранговой сети. Сохраняя высокий уровень, мы разделили архитектуру на два широких компонента. Правила, которые определяют, как Биткойн работает как денежная система, поставляются в виде программного обеспечения и иерархии участников сети, которые его запускают.
В этой статье мы подробнее остановимся на основных функциях системы, а затем рассмотрим первого из участников сети — полноценный узел. Полные узлы играют решающую роль в выполнении основных функций Биткойна и позволяют другим подключаться к сети.
Основные функции денежной системы Биткойн
Чтобы обеспечить функционирующую денежную систему без центрального посредника, Биткойн должен достичь следующего:
1. Ведение точной исторической книги транзакций и неизрасходованных остатков
2. Проверять новые транзакции, соответствующие правилам (механизм консенсуса)
3. Добавьте эти транзакции в историческую книгу в правильном порядке дат и формате данных.
4. Выпуск новых биткойнов по установленной ставке — в настоящее время 6,25 BTC за новый блок.
5. Разрешить кошелькам тратить и получать транзакции и синхронизировать их с бухгалтерской книгой
6. Действовать как служба для внешних пользователей/служб для ссылки на транзакционные данные
7. Маршрутизация информации между участниками в своей одноранговой сети
Сатоши Накамото инкапсулировал эти функции в исходный эталонный код, который он написал в 2008 году. С тех пор он был обновлен и доступен в эталонном клиенте, наиболее часто используемым из которых является Bitcoin Core.
Участники сети Биткойн
Сеть Биткойн не имеет иерархии, но имеет различные типы узлов, в большей или меньшей степени выполняющих требуемые функции.
• Полные узлы: все функции, кроме создания новых биткойнов
• Облегченные узлы: маршрутизация и кошелек (5 и 7)
• Майнеры: выдача/заказ; Маршрутизация и полная книга (3,4 и 7)
• API-клиенты — предоставление готовых подключений к Bitcoin Core (6)
• Сторонние сервисы: подключение к Bitcoin Core через API-клиенты или напрямую к полным узлам для питания внешних сервисов.
Каждая из частей сети Биткойн предоставляет вам возможность активно участвовать в управлении и расширении ее экосистемы, но полный узел является наиболее важным для запуска ядра Биткойн, включающего все функции (кроме майнинга) по умолчанию.
Запуск полного узла
Запустив Bitcoin Core, любой человек со скромными настройками компьютера и компетенцией может стать узлом в сети Биткойн, помогая выполнять важные функции, а также предоставляя мост для тех, кто хочет создавать сервисы для расширения экосистемы и адаптации пользователей. .
Это часть программного обеспечения с открытым исходным кодом, поддерживаемая и разрабатываемая добровольной командой, которая, как ни странно, известна под тем же названием — Bitcoin Core.
Он написан на C++ и может быть бесплатно загружен с сайта Bitcoin.org . Синхронизация займет несколько дней, так как она включает в себя копию книги транзакций, известную как Биткойн Блокчейн.
Полный размер блокчейна Биткойн в настоящее время превышает 350 ГБ , но как только загрузка будет завершена, известная как начальная загрузка блокчейна (IBD), вы сможете начать играть непосредственную роль в поддержке экосистемы Биткойн.
Запуск полного узла означает поддержание постоянно обновляемой записи реестра транзакций биткойнов, известного как блокчейн биткойнов. Это означает, что для работы полного узла требуется значительная пропускная способность.
• Полный узел отвечает за проверку подлинности каждой цифровой подписи перед добавлением нового блока в блокчейн.
• Полный узел имеет право отклонять транзакции или блоки, которые не соответствуют протоколу.
Поддержание цепочки биткойнов
Биткойн-блокчейн, как следует из его названия, представляет собой связанную цепочку исторических транзакций биткойнов, записанных в последовательные блоки данных с временными метками. Это обеспечивает точную запись истории расчетов, которая требуется для любой денежной системы.
Блоки связаны друг с другом с помощью временных меток и криптографических хэшей и создаются (через процесс майнинга) с интервалом примерно в 10 минут, который корректирует свою сложность каждые две недели для достижения этого (подробности ниже).
Каждый блок транзакций имеет хэш для проверки целостности предыдущего, что обеспечивает последовательный шаблон блоков, называемый блокчейном.
Первый блок в сети Биткойн называется блоком Genesis, потому что он не ссылается на какой-либо предыдущий блок. Вместо этого Сатоши жестко запрограммировал его в исходный код.
Размер каждого блока не превышает 1 МБ, что позволяет разместить около 4000 транзакций (размер каждой транзакции составляет в среднем 250 байт). Ограничение размера имеет решающее значение для цели децентрализации, поскольку любое увеличение объема хранилища увеличивает размер IBD.
Слишком большой, и это ограничивает тех, кто может участвовать, что является антитезой открытости и инклюзивности. Это будет иметь больше смысла, когда мы заполним информацию об участниках системы, которые производят блоки, проверяют и проверяют транзакции.
Точно так же, как моделируется база данных, сеть Биткойн функционирует как реплицированная база данных, каждая из которых содержит один и тот же список предыдущих транзакций Биткойн. Полные узлы распространяют эти «данные о транзакциях» (платежи) и «данные о блоках» (дополнения к реестру).
Сложность архитектуры Биткойн заключается в обеспечении того, чтобы узлы действовали независимо друг от друга, сохраняя при этом высокую безопасность и анонимность сети. Хотя не все криптовалюты следуют архитектуре сети Биткойн, это первая успешная и в настоящее время крупнейшая криптовалютная сеть, которая использовалась в качестве модели для многих последующих криптовалют, адаптируя свои правила и функции.
Маршрутизация и хранение транзакций
Полный узел проверяет любую отправленную ему транзакцию, поскольку он включает в себя полную копию блокчейна Биткойн, представленную выше. Как только биткойн-транзакция будет отправлена на любой узел, подключенный к биткойн-сети, транзакция будет подтверждена этим узлом.
Проверка имеет решающее значение для поддержания целостности всей системы, поэтому запуск полного узла активно поддерживает Биткойн. Валидация означает обеспечение консенсуса в отношении:
• Количество биткойнов, которое может создать каждый блок. (в настоящее время 6,25 BTC)
• Транзакции, имеющие правильные подписи для биткойнов, которые будут потрачены.
• Транзакции/блоки происходят в правильном формате данных.
• Нет двойного расхода транзакций в блокчейне.
Если он действителен, каждый узел будет распространять транзакции на другие узлы, к которым он подключен, и отправителю будет синхронно возвращено сообщение об успешном или неудачном завершении, в зависимости от достоверности новых транзакций.
После подтверждения правильности транзакции узел распространяет транзакцию на другие узлы, которые в конечном итоге подхватываются майнером и — после выполнения необходимого доказательства работы — добавляются к следующему блоку.
Эта структура предотвращает рассылку спама, атаки типа «отказ в обслуживании» или другие неприятные атаки на систему биткойн. Короче говоря, каждый узел независимо проверяет каждую транзакцию, прежде чем распространять ее дальше.
Связь с Bitcoin Core и управление функциями
Bitcoin Core действует как сервер, что означает, что все вложенные функции, перечисленные выше, могут быть доступны и контролироваться клиентом. Полные узлы делают это с помощью команд установки в формате JSON-RPC (удаленные вызовы процедур), которые доступны для целого ряда языков. Так что есть вероятность, что если у вас есть навыки программирования, вы можете общаться с Bitcoin Core и создавать функции.
Учитывая, что Bitcoin Core включает в себя полную цепочку блоков — всю историческую книгу биткойн-транзакций и балансов — возможное использование этой информации ограничено только вашим воображением и навыками программирования.
Вот список способов связи с Bitcoin Core.
Python; Ruby; Erlang; PHP; JAVA ;Perl; Go; .Net; JS; Deno; Command Line; C; Clojure; C##
Полную информацию можно найти на Биткойн Вики . Тем не менее, промежуточный уровень (иногда называемый клиентским уровнем) предоставляет ярлык предварительно созданных API-интерфейсов, которые сделают всю тяжелую работу за вас.
Преимущества запуска биткойн-узла
Запуск полного биткойн-узла не приносит вознаграждения в монетах, однако он имеет свои нематериальные преимущества. Они включают:
• Запуск полного биткойн-узла повышает безопасность транзакции. Если вы выполняете несколько транзакций BTC в день, вы можете получить доступ к обновленной информации о ваших транзакциях непосредственно из блокчейна Биткойн.
• Запустив полный узел, вы можете обеспечить соблюдение правил консенсуса Биткойн и иметь право отклонить транзакцию, нарушающую правила. Кроме того, чем больше копий блокчейна Биткойн существует, тем более устойчивой является платформа. Таким образом, вы не только помогаете повысить безопасность, но и укрепляете сеть Биткойн.
• Если вы трейдер или держатель, у вас будет немедленный доступ к крупным транзакциям, которые могут изменить рынок. Фактически, исследовательская работа, опубликованная Леннартом Анте , рекомендует, чтобы трейдеры сами запускали биткойн-узел для оценки рынка.
• За пределами узлов биткойн-транзакции обрабатываются третьей стороной. Люди, которые очень обеспокоены своей конфиденциальностью, должны запускать собственные узлы Биткойн, чтобы в полной мере воспользоваться системой конфиденциальности Биткойн.
• В случае хард-форка у полных узлов биткойнов есть возможность выбрать, к какой цепочке присоединиться. Таким образом, если вы запускаете полный узел Биткойн, вы можете участвовать в управлении протоколом Биткойн. Подробнее о вилках читайте здесь.
Запуск узла
Запустив узел, вы можете активно участвовать в крипто-революции, помогая формировать альтернативную денежную систему. Прежде чем приступить к процессу, вам необходимо знать риски и требования, связанные с запуском узла Биткойн. Давайте погрузимся в это-
1) Защитите свой кошелек
Однако при запуске узла Биткойн вы можете хранить свои биткойны в основном кошельке Биткойн; примите меры безопасности, как если бы вы использовали любой другой крипто-кошелек.
2) Минимальные требования для полной ноды
• Настольный компьютер или ноутбук с обновленными версиями операционной программы
• 200 ГБ свободного места на диске с минимальной скоростью чтения/записи 100 МБ/с.
• 2 ГБ оперативной памяти
• Быстрое интернет-соединение с минимальной скоростью 500 кб/сек.
• Безлимитное соединение или соединение с высокими ограничениями на отдачу, а также соединение без каких-либо ограничений на отдачу.
• Минимум шесть часов в день для работы вашего узла.
Примечание. Убедитесь, что ваш ноутбук или настольный компьютер работает в оптимальном режиме, поскольку большинство операционных систем позволяют вашим компьютерам переходить в режим пониженного энергопотребления, как только активируется заставка. Это остановит или замедлит движение.
3) Проблемы, с которыми вы можете столкнуться
• Юридическая информация : убедитесь, что в вашей стране не запрещен биткойн.
• Ограничение пропускной способности: проверьте пропускную способность вашего интернет-соединения с вашим поставщиком услуг. Цель состоит в том, чтобы поддерживать работоспособность узла Биткойн.
• Доступ через брандмауэр: как и любой блокчейн, спамеры также пытаются оклеветать блокчейн Биткойн. Но будьте уверены, что сеть Биткойн безопасна и не повлияет на ваше оборудование. Некоторые антивирусные программы могут затруднить запуск узла Биткойн, поэтому проверьте антивирусное программное обеспечение в вашей системе, прежде чем начать процесс.
• Целевые риски: хакеры или спамеры, желающие подорвать сеть Биткойн, находятся в постоянном поиске возможности атаковать полный узел Биткойн. Поэтому примите дополнительные меры предосторожности, чтобы ваше оборудование не подверглось атаке.
3) Варианты запуска биткойн-узла
Существует три варианта запуска полного узла Биткойн:
i) Запустите его в виртуальной частной сети (VPN).
ii) Запустите его на готовом решении, таком как Lighting In A Box, Raspiblitz, Nodl, Casa Node и т. д.
iii) Запустите его на специализированном решении, таком как Raspberry PI 4 — мини-компьютер, способный запускать полные узлы в сети Биткойн.
4) Теперь процесс запуска биткойн-узла на компьютере с использованием VPN.
Шаг 1: Первый шаг — подготовить ваше оборудование к запуску узла Биткойн.
Шаг 2: Выберите операционную систему, которую вы хотите использовать для запуска узла Биткойн. Некоторые варианты: дистрибутивы Windows (7, 8 или 10), дистрибутивы Linux (Debian, Ubuntu и т. д.) и Mac OS.
Шаг 3: Установите Биткойн на свое оборудование, следуя этим пошаговым инструкциям.
Шаг 4. Выполните следующие действия, чтобы настроить маршрутизатор для разрешения порта 8333:
а) Войдите в свой маршрутизатор и найдите раздел переадресации портов (виртуальный сервер). Вы найдете его в разделе «NAT».
б) Введите свой IP-адрес.
c) Введите '8333' как для запуска внутреннего порта, так и для запуска внешнего порта.
г) Выберите TCP/UDP в разделе «Протокол».
e) Нажмите «Применить/Сохранить».
Шаг 5: Проверьте на таких сайтах, как «earn.com», чтобы убедиться, что ваш биткойн-узел доступен.
Помощь в создании и поддержке Bitcoin Core
Если вы заинтересованы не столько в участии в экосистеме, сколько в создании инфраструктуры, стоящей за ней, это так же без разрешения.
Bitcoin Core поддерживается добровольной командой участников, и каждый может предлагать изменения, тестировать код, просматривать и оставлять комментарии. Основные изменения в Bitcoin Core предлагаются в так называемых BIP — предложениях по улучшению биткойнов. Для этого требуется формальный процесс предложения, обсуждения и утверждения. Некоторые из самых больших шансов для Биткойна, включая Segwit, возникшие в результате так называемой войны за размер блока, появились благодаря BIP.
Небольшие исправления ошибок и техническое обслуживание не требуются для прохождения формального процесса BIP, поскольку в редких случаях они являются исправлениями значительных уязвимостей. Так было в 2018 году, когда потребовался патч, который мог привести к созданию биткойнов за пределами фиксированного предела предложения, что разрушило бы доверие ко всей системе.
Вам не обязательно быть разработчиком, чтобы помочь улучшить Bitcoin Core. Вы можете помочь улучшить документацию, перевод, предложить изменение процесса или улучшения пользовательского интерфейса.
В качестве альтернативы созданию и поддержке Bitcoin Core существуют совершенно отдельные реализации протокола Bitcoin, такие как Libbitcoin, которые выступают в качестве коллекций библиотек C++ с открытым исходным кодом для создания приложений Bitcoin.
Узнайте больше о том, как внести свой вклад в Bitcoin Core , но обратите внимание, что это канал поддержки для Биткойн. В следующей статье мы рассмотрим роль майнеров в поддержке сети Биткойн и то, как вы можете участвовать в процессе майнинга.
Отказ от ответственности:
Мнения в этой статье отражают только личное мнение автора и не являются советом по инвестированию для этой платформы. Эта платформа не гарантирует точность, полноту и актуальность информации о статье, а также не несет ответственности за любые убытки, вызванные использованием или надежностью информации о статье.
0.00