Полная нода биткоина: что это и как поднять узел у себя. Нода блокчейн


Полная нода биткоина: что это и как поднять узел у себя

полная нода биткоина

Что такое полный узел биткоина/Bitcoin full node?

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

Полная нода биткоина: что это и как поднять узел у себяСтатистика с https://bitnodes.earn.com/

Сейчас распределение нод биткоина по странам такое:

  1. США
  2. Германия
  3. Китай
  4. Франция
  5. Нидерланды
  6. Англия
  7. Канада
  8. Россия
  9. Другие страны

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

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

Зачем запускать полный узел?

Существуют различные причины для настройки фулл ноды:

  • Вы верите в биткоин и криптовалюты в целом и хотите, чтобы сеть развивалась. Каждый новый узел, присоединившийся к сети, приближает к будущему, где все взаимодействуют в криптосети и никакие правительства не могут ввести цензуру.
  • Вы намерены использовать биткоин для проведения транзакций и хотите, чтобы ваши транзакции быстро были проверены. Идея BTC заключается в уходе от традиционной денежной системы: не нужно доверять банку, чтобы хранить или передавать деньги. Но пока вы сами не используете свой собственный узел, вы по-прежнему доверяете кому-то.
  • Вы можете похвастаться, что вы не просто купили биткоин, вы — часть сети.

Как поднять bitcoin full node?

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

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

Два первых метода очень похожи, с небольшими спецификациями.

Технические требования

Нужно установить узел на компьютер с такими минимальными требованиями:

  • Последняя версия операционной системы MacOS, Linux или Windows,
  • 150+ ГБ свободного места на диске,
  • 2 ГБ ОЗУ,
  • Высокоскоростное подключение к Интернету (не менее 50 КБ/с),
  • Неограниченное или очень высокое ограничение загрузки (узел может выгружать около 200 ГБ и загружать около 20 ГБ в месяц).

Если вы решите использовать облако и настроить ноду на виртуальном сервере, убедитесь, что на машине, которую вы арендуете, будут те же спецификации! Обратите внимание на ограничение пропускной способности в любом облачном решении.

Если вы планируете локально запускать полный узел биткоина на компьютере, вы можете выбрать: запускать программное обеспечение Bitcoin Core или работать через командную строку. Если вы работаете в облаке, скорее всего, вы будете использовать метод командной строки.

Full node GUI

Вот процесс работы c GUI:

Загрузите новейший графический интерфейс Bitcoin Core со страницы загрузки bitcoin.org для выбранной операционной системы,

Запустите программное обеспечение, вам будет предложено выбрать место для хранения данных цепочки. Если у вас нет особых предпочтений, перейдите и оставьте флажок Use the default data directory («Использовать каталог данных по умолчанию») и нажмите «ОК».

В этот момент на компьютерах под Windows может появиться запрос брандмауэра. Отметьте все поля и разрешите эти пункты.

Программное обеспечение должно начать загрузку блокчейна. Это займет от 12 часов до нескольких дней в зависимости от скорости интернета и пропускной способности. Когда все скачается, и вы официально запустите полный узел биткоина!

Настройка на Linux системах (например Ubuntu) может осуществлятся через терминал (в том числе macOS) — использую инструкцию с официального сайта.

Ручная конфигурация сети

Если Bitcoin Core не может автоматически настроить маршрутизатор для открытия порта 8333, необходимо вручную настроить маршрутизатор (независимо от того, как вы устанавливали все до этого). На официальном сайте есть следующие инструкции.

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

  • Предоставление компьютеру статического IP-адреса путем настройки протокола DHCP на маршрутизаторе.
  • Перенаправление входящих соединений из Интернета через маршрутизатор на компьютер, где Bitcoin Core может их обрабатывать.
  • Настройка брандмауэра для подключения входящих соединений. Этот шаг в относится к пользователям Windows, поскольку Mac OS X и большинство Linux не используют его по умолчанию.

Технически эти шаги не отличаются ничем от описанных ранее в интернете, без применения к криптовалютам. Справка от Bitcoin Core (с иллюстрациями). Если коротко, то весь процесс такой:

  • заходим в настройки роутера через страницу браузера (типа http://192.168.1.1 и подобных),
  • найдите настройки DHCP. Некоторые маршрутизаторы отображают список компьютеров и устройств, подключенных в настоящее время к сети, нужно выбрать устройство и сделать его текущий IP-адрес постоянным,
  • сохраните адрес,
  • найдите настройки порта, в поле Port — 8333 для внешнего и внутреннего,

Если это не работает с вашим роутером, ищите MAC-адрес (типа 01:23:45:67:89:ab) и скопируйте его вместо IP.

Запустите Bitcoin Core (если вы еще этого не сделали) и следуйте инструкциям Testing Connections, чтобы проверить соединение. Если соединение не устанавливается, ищите проблему в брандмауэре/антивирусе.

Node-in-a-Box

Это самый простой способ настроить полный узел биткоина. Устройство подключается к интернет-маршрутизатору, как к кабельной коробке. Это позволяет запускать ноду, не устанавливая ничего на компьютере или другом устройстве. Но решения это довольно дорогие, если варианты за $360 (Bitseed).

Удачи в запуске собственного узла в сети биткоин, а может, и двух!

crypto-fox.ru

Нода – компьютер, который был подключен к сети блокчейн

Нода

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

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

Любой узел становится «администратором» децентрализованной сети блокчейн. Стимулом для присоединения к ней служит желание добыть биткоин.

Какими бывают ноды

Полные ноды

Полная нода – узел, в полной мере применяющий все правила биткоинов. Он синхронизирован с цепью блокчейн. Сегодня на нодах хранится свыше 100 Гб всех файлов блокчейна. Многие узлы, используемые в сети, являются облегченными. Именно они представляют собой ее основу.

Полная нода доступна для запуска на любом компьютере или виртуальном сервере. Чтобы ее запустить, нужно загрузить Bitcoin Core (это можно сделать на сайте bitcoin.org), а затем скачать полную цепь блоков. Для работы полной ноды нужен открытый порт TCP 8333. При использовании программного брандмауэра порт может быть заблокирован. Чтобы этого избежать, необходимо предоставить доступ.

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

Чтобы узнать местонахождение полных нод, можно зайти на сайт Bitnodes. Он позволяет проверить, насколько корректна была совершена переадресация портов.

Облегченные ноды

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

Мастерноды

Мастернода – самый необычный тип нод. Эван Даффилд, основавший цифровую валюту Darkcoin, которая позже была переименована в Dark, обеспечил полную анонимность всех проводимых транзакций. Он дополнил сеть миксирующим сервисом. Благодаря ему адреса получателей тщательно скрыты. Средства дробятся на части, а затем переходят на нужный адрес по сложному пути. Именно благодаря этой системе и появился термин мастернода.

Мастерноды дают своим обладателям прибыль. При добыче блоков система Dash отдает эмиссию в размере 45%. Чем крупней мастернод, тем меньше средств поступает его обладателю. Итоговое вознаграждение не превышает 80 монет за год.

Мастерноды и другие цифровые валюты

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

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

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

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

7cn.ru

Масштабируем блокчейн сохраняя децентрализацию с Failsafe Network / Хабр

Как многие уже заметили, комиссии в биткоине последнее время стабильно держатся в районе 10-20 баксов за простой перевод.

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

Логично, что увеличив блок мы сможем вместить больше людей а значит отложить проблему? С одной стороны — да — так поступил Bitcoin Cash вся суть которого сводится к увеличению блоксайза до 8Мб.

С другой стороны — нет. Об этом, и о разработанном блокчейне Failsafe который элегантно решает эту проблему — под катом.

1. С увеличением блоксайза становится сложнее содержать фулноду

Напоминаю, единственный правильный способ использования криптовалюты это быть фулнодой — иначе вы полагаетесь на картель майнеров чтобы он следовал правилам консенсуса. Майнерам/валидаторам же нужно максимизировать прибыль, и как только они почувствуют власть они начнут банить неугодных, создавать unspent transaction outputs из воздуха, и так далее.

Каждая нода верифицирующая каждое движение стейта — залог децентрализованной и честной сети. В последнее время стало модно говорить что simple payment verification это нормально и что мы так или иначе верим майнерам что они не совершают дабл спенд. Не будем в это углубляться — любой желающий может нагуглить почему крайне важно максимальное количество фулнод, и почему лэптоп должен всегда рутинно быть фулнодой, иначе происходит централизация сети вокруг state keepers, которые в какой то момент могут просто перестать раздавать новые блоки наблюдателям и превратиться в cross-signed paypal state, «с деньгами берущимися из ниоткуда и пропадающими в никуда, лишь бы подписи были».

За константу, возьмем average world internet connection — 1 мегабайт в секунду, и заявим что пользователь открывающий кошелек раз в неделю должен в лучшем случае ждать не дольше 10 минут чтобы синхронизироваться с остальной сетью. Это выходит как раз текущий bandwidth usage у Bitcoin Core. Подробнее про этот параметр который я окрестил weekly sync friction можно читать тут.

Вторая проблема блоксайза это то что даже у него есть практические лимиты

Многие новые «псевдо» блокчейны любят заявлять tps (transaction per second) в районе 10 и даже 100к (например bitshares). Однако, начиная читать «fine print» про них можно увидеть что они предполагают gigabit connection и дьявольски мощные сервера. Очевидно, ни на каком лэптопе такое не запустить. Это пара десятков фул нод крутящихся в централизованном облаке, а то и вообще в одном датацентре, в которых от блокчейна ничего не осталось.

А нужно ли нам 100к тпс? Каждый решает сам, но я верю в sound money — циферки на экране которые я могу послать любому человеку на земле, и он примет их понимая их стоимость так же как и я, не парясь о объемах блока и платя мизерные комиссии. А значит надо чтобы такая система поддерживала абсолютно любой перевод стоимости для всего человечества. Грубо прикинув что есть 5 млрд entities (все платежеспособные люди + бизнесы) совершающих 1 транзакцию в день требует 58,000 tps. А если прикинуть что этих транзакций не 1 а 10 (мир интернет коммерции растет не по дням а по часам) то и все 580к. Такой объем среднего tps просто невозможно уместить on-chain, ни сейчас, ни через 10 лет.

Сам Сатоши наивно полагал в 2009 году что мощности компьютеров будут расти так быстро что off-chain масштабирование нам не нужно. Оказалось, что рядовому консьюмеру уже и так хорошо, а значит зачем стараться больше? Apple не собирается инвестировать в разработку 10 терабайтных айфоном с 1 гигабитным интернетом чтобы внутри можно было запустить блокчейн. Это реально, но для них в этом нет коммерческого интереса.

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

Наоборот, фул нода должна быть маленькой утилиткой в углу системы, тихо сжирающая 1% интернет траффика, 1% пространства на диске и 1% процессорной мощности. Иначе она будет удалена — что собственно и произошло сейчас с биткоином и эфириумом. Запускать фул ноды на лэптопе стало практически невозможно, и все перешли на SPV кошельки а то и вообще вебсайты типа myetherwallet.com (который в любую секунду может быть взломан, заменить .js файлы и слить ваши приватные ключи).

А какие альтернативы?

По большому счету предлагаются 3 варианта. Sharding — когда блокчейн делится на шарды, и ваш клиент становится аналогом SPV при работе с чужими шардами, side chains/plasma где создается отдельный блокчейн который может быть «жирным» но обязан слать чекпоинты в главный чейн чтобы его можно было поймать и наказать. Оба варианта слабо увеличивают tps, хороши лишь для микротранзакций и плохо влияют на децентрализацию — про них мы не будем говорить. Третий же вариант это системы построенные на основе payment channels такие как lightning и raiden.

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

В пеймент канале не возможен дабл спенд, так как он двух сторонний. И если я получаю комитмент на сумму Х (подписанная строка от другого участника) я на 100% уверен что я получу Х ведь он не мог больше никому их пообещать. Блокчейн же тут выступает роль арбитра, к которому обращаются когда нужно закрыть этот канал и каждому взять свою часть денег.

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

Именно эту стратегию считают основной в масштабировании биткоина — подробнее можно прочитать на сайте LN.

Lightning и ликвидность

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

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

Так же, у канала есть объем — те Алиса не сможет послать больше 100 баксов что есть в канале (иначе хаб теоретически просто не сможет их забрать из блокчейн контракта, ведь в нем только 100 и лежит). Та же проблема на выходе — если у хаба с Бобом канал только на 50 баксов, то Алиса не сможет зароутить платежи больше 50 баксов в сторону Боба через хаб — тк вместимость считается по минимальному каналу на цепочке, и хаб просто не сможет пообещать и послать криптографический коммитмент Бобу на более чем 50 баксов.

Это проблему я окрестил incentive / cost / capacity — у хаба нет мотивации открывать каналы без тщательного KYC (know your customer + anti money laundry), оперировать хабом очень дорого и нужно инвестировать собственные средства, и у выходных каналов хаба всегда ограничена вместимость а значит многие платежи просто провалятся (вы в кафе и от вас до владельца кафе не хватает $1 в объеме каналов — вы не способны заплатить несмотря на ваш собственный канал к хабу в 100 баксов). Подробно эту проблему я описал так же в этой статье.

Failsafe Network

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

Демо https://failsafe.network/#install

Система берет за основу lightning network и добавляет возможность посылать деньги в долг.. Т.е. там где ЛН ложиться на лопатки и говорит что не найден route/capacity в каком то направлении в фс хаб просто обещает эту сумму своему пользователю, и это криптографическое обещание так же можно послать в блокчейн и получить по нему деньги (но при условии что хаб не взломан и имеет эти деньги).

Само подписанное платежное поручение мы называем delta — те отклонение вашего офчейн баланса от текущего ончейн баланса (aka collateral, insurance). В lightning используют название commitment transaction (тк то что вы даете хабу по сути валидная биткоин транзакция — у нас это не так, это спец форматированная строчка), в raiden (эфировая альтернатива, заточенная под посылку ERC-20 токенов) называет это balance proof.

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

Теперь каждый участник сети не сообщает всем остальным о переводе за кофе или квартиру — вместо этого практически все платежи (кроме совсем огромных в миллионы долларов) должны проходить через хабы.

Каждый участник может выбрать 1 или более хабов с которыми он будет держать канал. Пока еще неясно как эти хабы будут создаваться, но наиболее логично что по географическому признаку. И так moscow hub может обслуживать всех жителей Москвы.

Как выглядит оплата?

  1. Алиса приходит в кафе и просит счет.
  2. Алиса касается телефона / сканирует QR, ее кошелек берет последнее значение дельты хранимое с местным хабом и уменьшает эту дельту на сумму покупки .
  3. Эта подписанная дельта шлется прямиком на сервер хаба с примечанием «переслать этому кафе У за этот инвойс Х).
  4. Хаб верифицирует изменение дельты и узнает какую же сумму Алиса платит. Убеждается что объем оплаты меньше или равен размеру канала (сама Алиса в долг платить пока не может. Но это пока — кредитки в этой системе тоже предусмотрены)
  5. Хаб ищет в системе открытый вебсокет в сторону кафе У, достает из своей базы данных последнюю дельту с этим кафе и увеличивает ее на эту же сумму минус офчейн комиссию (0.1% в данный момент — в 30 раз меньше визы и пейпала)
  6. Платежный терминал или смартфон владельца кафе получает новую дельту от хаба и примечание за какой инвойс пришел платеж. Если сумма инвойса и то насколько дельта была увеличина равны, инвойс помечается как оплачена. Алиса может идти.
Таким образом мы не только решаем проблему объема блока, но и делаем процедуру платежа предельно дешевой и моментальной — что идеально подходит для офлайновой коммерции и вполне приятное дополнение для онлайновой (никому не охота ждать по 30 минут 3 конфирмаций).

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

Есть риск что хаб пообещает денег больше чем у него хранится в негативных дельтах — и поэтому хаб обязан делать ребаланс своих каналов как только они перевесят определенные суммы например <-100 и >+100.

Сам блокчейн превращается в легковестный снапшот страховок (insurance). Часть баланса будет insured — так же как и в биткоине этот баланс гарантирован и выживет даже после полного взлома хаба, а малая часть uninsured — обещанный баланс у некоторых пользователей.

.

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

Каждый будет видеть внутри своего кошелька у кого сколько денег хранится в хабе, а точнее „с хабом“ (в этом и главное отличие хаба от банка — деньги не принадлежат хабу, он лишь их временный держатель) — и получать из сети одни только ребалансы этих страховок с хабом. Но никто не будет знать кому, когда и сколько ты послал лишь финальный результат в конце недели что твой баланс уменьшился на $10,000.

Самое же крутое, что большинство пользователей почти не будут касаться блокчейна и избегут ончейн комиссий (которые так же как и в биткоине будут в районе 10-100 баксов) если они правильно структурируют платежные потоки вокруг себя (streaming money). Каждый полученный доллар будет направлен на аренду или оплату кредита — и размер дельты всегда стремится к 0 а значит почти весь баланс пользователя застрахован всегда и обладает теми же свойствами что и биткоин.

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

P.S.: написал и сам ужаснулся как все пропитано странными терминами и сложно описано. Заранее простите, концепт двухуровневый и весьма сложный, и много крутых фишек типа встроенных снапшотов и децентрализованной установки не вошли в текст — с удовольствием отвечу на все вопросы.

С системой как я уже сказал можно поиграться на failsafe.network а код прототипа есть на Гитхабе.

habr.com

Уязвимости блокчейна | Криптовалюта.Tech

cyber-attack

Ажиотаж, который образовался вокруг криптовалют и блокчейна, привлек не только сторонников и критиков новой технологии, но и киберпреступников. После того, как курс биткоина стал доходить до немыслимых отметок в $20,000, мошенники начали искать уязвимости блокчейна, и, что прискорбно для добросовестных пользователей, находить недостатки криптовалюты, связанные с ее хранением и переводом.

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

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

Популярная хакерская атака DDoS — Distributed Denial of Service, или распределенная атака типа «отказ в обслуживании», проводится в отношении хорошо защищенных компании. Киберпреступник действует по следующему алгоритму:

  • Сканирует сеть с помощью подготовленных сценариев (под каждый случай вырабатывается индивидуальный план), которые выявляют потенциально слабые узлы — ноды;
  • Выбранные ноды подвергаются атаке, хакер становится системным администратором сети;
  • На захваченные узлы устанавливаются троянские программы, которые работают в фоновом режиме и требуют дополнительного контроля;
  • По определенным командам от хакера зараженные компьютеры распространяют вирус на другие компьютеры, которые находятся в этой сети.

При DDos-атаке пользователи не подозревают, что их система заражена и передает данные мошенникам, поэтому именно этот прием нападения на крипто-проекты является одним из самых известных. Так, например, в марте 2018 года сеть платежных каналов второго уровня для блокчейна биткоина Litghtning Network подверглась DDоS-атаке. Организатором кибер-нападения стала анонимная группа BitPico, у которой был набор автоматизированных инструментов с функцией подключения к сотням нодов. Уязвимости разработчики Lightning Network тогда не обнаружили, но из строя было выведено 200 узлов, или 20% сети.

Другая известная атака — «атака Сивиллы» — получила свое название в 2002 году благодаря специалисту Microsoft Research Брайану Зилу. Он предложил переименовать псевдоспуфинг (бывшее название «атаки Сивиллы») в честь главной героини одноименной книги-бестселлера 80-х годов прошлого века, где девушка по имени Сивилла лечилась от диссоциативного расстройства личности. При данной болезни человек принимает на себя несколько типов поведения и может вести себя как женщина, мужчина, ребенок и другие. «Атаку Сивиллы» можно сравнить с психическим недугом, ведь в этом случае хакер присваивает одному ноду несколько идентификаторов и тем самым нарушает работу всей сети.

Если говорить об этом подробно, то в одноранговых сетях, таких как Bitcoin и Ethereum, нет доверенных нодов, поэтому каждый запрос пересылается нескольким получателям. В тот же момент пользователи могут иметь несколько идентификаторов из разных нодов, которые можно использовать для разделения общих ресурсов. Полученные копии создают избыточность, позволяют проверять принятые независимые из сети данные.

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

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

Еще одна разновидность атаки на уровне сети — Eclipse attack, или «атака информационного затмения». Данный вид кибер-нападения был подробно описан в докладе группы ученых из Бостонского и Еврейского университетов во главе с Этаном Хейлманом в 2015 году. Их исследование описывает причины первой атаки на сеть Bitcoin, а эксперимент, проведенный в рамках научной работы, демонстрирует уязвимость технологии. Позже Хейлман продемонстрировал возможность ведения эклипс-атаки в сети Ethereum и доказал, что вся система требует доработок.

«Атака информационного затмения» позволяет получить контроль над доступом к ноду и информации. При правильной манипуляции в одноранговой сети хакер может «затмить» ноды так, чтобы те контактировали только с зараженными нодами.

По сути, данное кибер-нападение является первой ступенью в организации «Атаки 51%». Работает «информационное затмение» следующим образом: сеть содержит 3 больших нода майнинга: два контрольных нода имеют по 30% мощности майнинга (в итоге 60%), а третий нод в 40% отвечает за остальную сеть. Если хакеру принадлежит сорокапроцентный нод, то злоумышленник может разбить 40% на два майнера так, чтобы они не смогли скомпоновать блоки друг друга. В результате блокчейн злоумышленника становится цепочкой всего консенсусного блока. После этого можно манипулировать нодом и сделать так, чтобы все его исходящие соединения были связана с атакующими IP-адресами. Для этого нужно заполнить одноранговые таблицы нода зараженными адресами, перезапустить текущие соединения всех пользователей (это происходит часто из-за обновлений ПО и прочего) и создать новые соединения только для IP преступников.

Основным и самым простым инструментом современного блокчейн-хакера являются ботнеты, которые распространяются через дроперы — специальные анонимные зловредные программы, которые маскируются под пиратские версии линцензионных программ. Как известно, для майнинга требуется время и большие вычислительные и энергетические мощности. Для экономии ресурсов крипто-хакеры заражают компьютеры других пользователей сети. В итоге посторонние люди приносят огромный доход киберпреступникам и не подозревают об этом.  Так, например, ботнет под названием Smominru для майнинга Monero за полгода заразил более полумиллиона серверов по всему миру и принес 8900 XMR, или $2 миллиона.

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

О самой популярной угрозе на уровне майнинга, которая называется «Атака 51%». Прецедент был в апреле этого года, когда сеть анонимной криптовалюты Verge оказалась под контролем мошенников. Напомним, что несколько месяцев назад данная атака произошла из-за бага в коде. 22 мая злоумышленники снова атаковали Verge, проблема затронула все пулы и всех майнеров, из-за этого происходило отторжение всех корректных транзакций. Вероятно, махинация проводилась между блоками 2155850 и 2206272, что позволило похитить 35 миллионов токенов XVG, или $1.75 миллиона, всего за несколько часов.

Еще одно воздействие на уровне майнинга — Double spending, или двойная трата, которая подразумевает под собой дважды успешное использование одних и тех же средств. В принципе, биткоин защищен от данной уязвимости благодаря верификации каждой транзакции с помощью алгоритма консенсуса Proof-of-Work (PoW), и только после минимум трех подтверждений совершенный платеж добавляется в цепочку блоков. Но в 2013 году в системе Bitcoin совершился сбой: клиентская программа 0.7, которая была установлена у многих пользователей, перестала обновлять записи блоков. Вышедшая за месяц до этого версия 0.8 продолжала функционировать в штатном режиме. Проблема заключалась в том, что очередной блок под номером 225430 был подтвержден клиентами Bitcoin 0.8, но не принят клиентами Bitcoin 0.7. Благодаря этому разветвлению майнер совершил двойную трату монет на сумму $10,000.

Проблемой будущего можно назвать Selfish mining, или селфиш-майнинг — стратегия добычи биткоина, когда пользователи сети по особой договоренности объединяются в группы в целях увеличения собственного дохода. Данное воздействие может централизовать сеть и убить изначальную концепцию децентрализованной системы. Объединение всех мощностей происходит в Китае, ведь именно эта страна добывает две трети всех биткоинов в мире. Если селфиш-майнинг не прекратится, то все участники блокчейн-рынка окажутся на том же месте, откуда ушли, то есть вернут централизованную экономику в измененном электронном формате.

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

Фишинг — один из самых популярных видов интернет-мошенничества. Он появился в 90-х годах прошлого века, но до сих пор пользуется популярностью. По данным Group-IB, в 2017 году более 50% средств из блокчейн-проектов украли при помощи фишинга. В классическом варианте атака реализуется посредством спам-рассылки: на электронную почту от лица известных компаний рассылаются письма с просьбой подтвердить данные пользователя. Люди проходят по ссылкам и тем самым передают хакерам свои логины и пароли.

Но мошенники не остановились на копировании учетных записей и стали подделывать сайты блокчейн-проектов. Благодаря фишингу в апреле 2018 года хакеры похитили $150 миллионов с адресов криптовалютного кошелька MyEtherWallet. Киберпреступники действовали по следующему алгоритму:

  • Зарегестрировали похожий домен www.mye1herwa11et.com на настоящий сайт www.myetherwallet.com;
  • Сделали копию содержания сайта и подменили адрес кошелька; 
  • Дали рекламу в интернете; 
  • Перехватили и перенаправили всех пользователей настоящего кошелька на свой сайт.
  • Способ защиты от фишинга довольно простой — внимательно проверять все символы в названии домена, заходить на сайт через закладки, либо каждый раз брать ссылку из сохраненного текстового документа.

Дефейс — при этой целенаправленной атаке хакеры взламывают сайты блокчейн-проектов и меняют адреса для сбора средств на ссылки своих кошельков. В июле 2017 года израильский стартап CoinDash подвергся дефейсу, и на первых трех минутах ICO проект потерял около 40,000 монет Ethereum, или более $7 миллионов по курсу на период взлома.

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

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

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

Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram

cryptocurrency.tech

Блокчейн-термины, Н |

Если есть огромное число участников блокчейна, почему некоторые из них задним числом не могут подменить информацию?У участника Х было 5 биткойнов, он их потратил. И это видно во всех нодах, в том числе и в той, которую он контролирует.

Казалось бы, что мешает ему снова “нарисовать” себе 5 биткойнов, дождаться синхронизации всех нод и потратить биткойны еще раз?

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

Данные хранятся в блокчейне блоками, но они не являются независимыми, как например данные,хранящиеся  в  файлах разных фотографий. Блоки пронумерованы и каждый следующий блок помимо своей информации содержит еще и “немножко информации” (“хеш”) из предыдущего блока.

Если у нас есть блоки  А-Б-В-Г-Д…, и вы меняете информацию в блоке Б,  “кусочек информации” от измененного  блока Б , уже не соответствует тому “кусочку” что хранится в блоке В. То есть, изменением блока Б нельзя ограничиться- придется менять всю цепочку до конца, это блоки В, Г, Д и т.д.

Но мы знаем, что создание даже одного блока (“мйнинг”) требует значительных затрат. А здесь придется заново воссоздать все блоки до конца блокчейна!

Аналогия: деформированный пазл. Его отдельные кусочки уникальны. 

 

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

Вынул один фрагмент, подобрал другой, чтобы он соответствовал фрагменту слева. Но он не будет соответствовать фрагменту справа! И придется собирать весь пазл из блоков заново. А это настолько дорого, что не имеет смысла.

 

ru.softblocks.co

Блокчейн-термины, С |

“Смарт контракт”- это программный код для блокчейнов типа Ethereum, см.  “Платформы смарт-контрактов”. В Эфириуме он написан на языке Solidity, а например в блокчейне Lisk – на Javascript.

Смарт-контракт нужен для описания структуры ваших данных (“Аккаунт пользователя, Число токенов на аккаунте пользователя” и т.п.) и логики операций над данными. Например “Нельзя выполнять переводы токенов, пока не прошел месяц после окончания ICO”.

После создания смарт-контракта его нужно развернуть (“задеплоить”) в блокчейне. После чего он там останется навечно, у него будет свой адрес, и по этому адресу можно обращаться к контракту для выполнения определённых действий. Например, для перевода токенов.

Допустим, вы открываете свой кошелёк и видите количество определённых токенов на своём аккаунте. Но что происходит “под капотом”?

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

Выполняется запрос вида “получить баланс токенов”.

Смарт-контракт в ответ отдает баланс токенов и вы видите его в своем кошельке.

Операции с токенами- лишь одна из возможностей применения смарт-контрактов.

Например, вы создали нечто оригинальное. Книга, сценарий, технология. Вы хотите иметь возможность подтвердить свое авторство. 

Для этого в блокчейне разворачивается маленький смарт-контракт “Хранилище. Его задача- хранить данные, которые подтверждают, что на момент его разворачивания, владелец аккаунта (Вы!) имели на руках соответствующий текст.

Еще пример, смарт-контракт “Голосование”. 

Есть группа избирателей и некоторое количество кандидатов – у каждого свой аккаунт. 

Каждый избиратель может проголосовать только за одного кандидата. 

Голосовать можно только в определенный период времени.

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

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

И данные смарт-контракта также доступны всем. Это число токенов на балансе или фамилия кандидата-победителя.

Эти данные не может изменить “руками” никто, включая разработчиков контракта. При двух условиях:

А) контракт не содержит уязвимостей, позволяющих злоумышленнику выполнить нежелательные команды.

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

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

ru.softblocks.co

Что такое нода биткоина? Оъяснение простыми словами

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

Дословно, слово «нода» переводится с английского как «узел». По своей сути, нода биткоина – это обычный компьютер, который подключен к сети блокчейн. Это подключение осуществляется путём установки на нём специальных программ и настроек. Миллионы компьютеров по всему миру обмениваются между собой данными о произведённых транзакциях и о найденных блоках. Функционирует вся эта система на основе протокола p2p.

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

Какими бывают ноды?

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

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

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

Проблема дефицита полных нод

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

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

Какая выгода в создании полной ноды?

Конечно же, основной плюс в создании собственной полной ноды в том, что вы становитесь абсолютно независимым участником сети. Вы сами сможете проверять: соответствуют ли транзакции правилам блокчейна - за считанные секунды.

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

Карта нод сети биткоин

Мнение из сети

Я создал бы ноду, но не вижу особого смысла в этом. Зачем? Получить сомнительную выгоду? Ну, нет спасибо, я обойдусь! Вот если бы мне платили за то, что она будет работать 24/7, то я бы может ещё подумал. А так, как говорится: « Овчинка выделки не стоит».

crypto-coin.top