Меню

Биткоин кор синхронизация с сетью



Bitcoin Core долгая синхронизация кошелька, как ускорить?

В свое время я несколько раз отказывался от кошелька Bitcoin на компьютере, мне не нравилось его слишком долгое обновление, особенно с нуля после переустановки системы. Однако, я опять возвращался к использованию именно Bitcoin Core, так как хранить свои биткоины где-то в он-лайн сервисах мне не хочется.

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

Сейчас я расскажу, что же нужно чтобы кошелек Bitcoin Core стал по-шустрее.

Я проанализировал работающий процесс кошелька Биткоин bitcoin-qt.exe в момент запуска и последующей синхронизации и оказалось, что самое главное — это быстрое чтение данных с диска на котором лежат блоки данных с мировыми транзакциями. Операций записи не так много, а вот чтения проходисходит в 10-100 раз больше. Процессор подойдет любой современный, так как на него нагрузки почти нет, память ОЗУ по современным меркам расходуется не сильно (например сейчас 289 Мб в Windows 7 x64).

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

Такими дисками сейчас являются SSD накопители — нормальные скорости, которые заявляются на чтение около 500 Мб/с, что 3-6 раз быстрее обычных стареньких HDD.

Так как операций записи в принципе не много, то можно не переживать что SSD диск быстро выйдет из строя.

Теперь выбираем объем накопителя SSD. На сегодня вся папка кошелька биткоин с блоками транзакций занимает 48,1 Гб, если учитывать, что интерес к криптовалюте будет повышаться и число транзакций будет расти, то диск на 60Гб будет очень маловат (тем более реальная его емкость порядка 54-57 Гб, как повезет и зависит от производителя). Получается с запасом нужно брать SSD минимум 120 Гб.

Про выбор быстрого, интересного и несильно дорогого SSD я напишу в следующей статье более развернуто.

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

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

Для справки полный объем программы и базы (на 06.09.2015):
кошелек BitCoin — 48,1 Гб
кошелек LiteCoin — 4,92 Гб
кошелек DogeCoin — 12,1 Гб
кошелек Dash — 1,34 Гб

Источник

Почему Биткоин кошелек плохо синхронизируется с сетью?

  1. Для чего нужна синхронизация Биткоин-кошелька
  2. Биткоин-кошелёк долго синхронизируется: основные причины проблемы и пути её решения
  3. Какие проблемы могут возникнуть на этапе синхронизации Биткоин-кошелька
  4. Кому следует пользоваться толстыми Биткоин-кошельками

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

  1. Тонкие — Bither, Electrum.
  2. Толстые — Bitcoin Core, Bitcoin Knots, mSIGNA.

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

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

Для чего нужна синхронизация Биткоин-кошелька?

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

Когда пользователь хочет переслать кому-то Биткоины, создаётся новая транзакция, которая станет частью одного из следующих блоков. За формирование блоков отвечают майнеры — владельцы вычислительного оборудования (асиков). Аппараты считывают информацию обо всех предыдущих элементах блокчейна и подбирают уникальный хэш — 64-значное число. Когда число подобрано, формируется новый блок, перевод подтверждается, а «шахтеры» получают вознаграждение (12,5 BTC). Сегодня на создание нового элемента блокчейна уходит порядка 10 минут. Транзакция конкретного пользователя не всегда входит именно в следующий блок. Время её подтверждения зависит от приоритета, который можно повысить благодаря увеличению комиссионного сбора.

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

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

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

Биткоин-кошелёк долго синхронизируется: основные причины проблемы и пути её решения

Чрезмерно долгая синхронизация Биткоин-клиента может быть обусловлена следующими факторами:

    Большим объёмом данных. По состоянию на 17.07.2018 года для блокчейна необходимо отводить больше 145 Гб места. Нетрудно догадаться, что для загрузки такого колоссального объёма компьютеру понадобится уйма времени (как минимум 3 дня). Более того, пользователю надо оставлять солидный запас (хотя бы 50–60 Гб), ведь новые блоки появляются без остановки. Каждый элемент блокчейна весит больше 742 Кб и кажется, что это немного. Однако необходимо учитывать, что за день майнеры формируют порядка 132 новых элементов сети, а это почти 100 Мб. Если оставить небольшой запас, то через определённое время место на жёстком диске закончится, и программа перестанет нормально работать.

Низкой скоростью жёсткого диска. В большей степени на синхронизацию влияет скорость чтения. На многих моделях HDD (особенно не очень новых) данный показатель составляет меньше 100 Мб/с, из-за чего история транзакций будет скачиваться несколько суток.

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

      Купить SSD-накопитель, который однозначно быстрее обычных HHD. В среднем, скорость чтения у хороших твердотельных накопителей составляет 500 Мб/с, а это даже нельзя сравнивать с возможностями классических винчестеров. Однако с учётом большого веса блокчейна и его постоянного роста вам придётся брать вместительный SSD (хотя бы на 256 Гб), а это потребует дополнительных денежных затрат. Если вы купили хороший твердотельный накопитель, но всё равно кошелёк Биткоин плохо синхронизация с сетью, проведите диагностику остального «железа». В частности, проверьте работу процессора. Если чип очень старый (ему 5 и больше лет), загрузка блоков может сильно тормозить. При наличии слишком устаревшего «железа» установку толстого кошелька лучше вовсе не начинать. Синхронизация может попросту не завершиться.

    Скачать блоки через торрент. Это маленькая хитрость, которая позволит вам заметно ускорить синхронизацию своего бумажника. Как известно, скорость загрузки через торрент-клиенты составляет несколько мегабайт в секунду, а при большом количестве сидов (тех, у кого вы скачиваете файл) и хорошем интернете этот показатель вовсе может достигать феноменальных значений. Всё, что требуется — найти на торрентах файл bootstrap.dat и запустить его загрузку. Правда в этом случае стоит быть крайне аккуратными, дабы не скачать файл, содержащий вредоносные программы. Самым оптимальным вариантом можно считать загрузку bootstrap.dat по ссылке bitcoin.org/bin/block-chain/. Как видно, это официальный сайт криптовалюты, поэтому файл должен быть «чистым» и самым свежим.

  • Скопировать блоки транзакций у другого пользователя. Ещё один хороший способ, позволяющий повысить скорость синхронизации. Вам достаточно найти человека, у которого скачана вся история транзакций, встретиться с ним и скопировать на носитель упомянутый выше файл bootstrap.dat. Можете использовать тот же SSD или внешний жёсткий диск. Копирование готового объёмного файла тоже продлится немало, но уж точно меньше 3 дней. С одной стороны, данный метод удобен, но с другой — у него есть некоторые нюансы. Во-первых, вам нужно будет найти пользователя, живущего недалеко от вас, чтобы можно было к нему приехать и скопировать файл. Кроме того, вы должны быть уверены, что это честный человек, а не мошенник. И самое главное — копирование информации с таких источников может привести к заражению вашего носителя вредоносными программами.
  • К упомянутым методам можно также добавить покупку наиболее скоростного тарифного плана у интернет-провайдера. Но одно лишь повышение скорости сети (без приобретения SSD и обращения к торрентам) мало чем поможет в вопросе синхронизации.

    Какие проблемы могут возникнуть на этапе синхронизации Биткоин-кошелька?

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

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

    • временно пропал интернет;
    • внезапно отключили свет;
    • кто-то из родственников случайно выключил ПК или сетевой фильтр.

    В таких случаях нужно действовать по одному из двух вариантов:

      Если синхронизация уже почти закончилась, можете попробовать дождаться её завершения. После этого надо проверить работу клиента: сделать тестовое пополнение кошелька небольшим количеством сатоши, а потом отправить их другому пользователю или на свой запасной адрес (к примеру, онлайновый). Также, необходимо проверить другие функции (например, управление входами на Bitcoin Core). Если всё работает, можете смело пользоваться бумажником. Если нет — удаляйте программу и повторяйте установку. Ни в коем случае не перекидывайте на баланс большое количество денег до проверки, иначе они могут пропасть. Может случиться и так, что после резкого выключения ПК синхронизация зависнет. Здесь путь только один — переустановка и повторное скачивание блоков.

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

      Проверить версию Биткоин-кошелька. Если она устарела, надо скачать новый клиент.

    Сделать переиндексацию ярлыка бумажника. Для этого надо нажать на иконку правой кнопкой, выбрать пункт «Свойства» и в поле «Объект» добавить –reindex.

  • Провести диагностику своего «железа». Если будут обнаружены какие-то сбои или сами технические компоненты уже слишком старые, попробуйте заменить их и повторить попытку.
  • Чтобы не сталкиваться с вышеописанными трудностями, лучше сразу загружать блоки через торрент. При использовании данного варианта вы будете скачивать уже готовый полноценный файл, а не наполнение для него. Даже если внезапно выключится свет или пропадёт интернет, торрент клиент без проблем продолжит загрузку, когда всё восстановится. Старая версия бумажника тоже вряд ли повлияет на синхронизацию (разве что после установки вам предложат обновить приложение). Но перед запуском загрузки обязательно проверяйте срок давности файла bootstrap.dat, чтобы не скачать устаревшую базу.

    Кому следует пользоваться толстыми Биткоин-кошельками?

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

    • лёгкими кошельками (Bither, Electrum);
    • онлайновыми (XAPO, Cryptonator);
    • биржевыми (Coinbase, Exmo);
    • мобильными (Green Address, Mycelium, Airbitz).

    Если же вы являетесь держателем большого количества монет, тогда, конечно, лучше применять толстые бумажники (тот же Bitcoin Core или Bitcoin Knots). В качестве альтернативы можно также использовать бумажные или аппаратные хранилища, но первый тип менее надёжен (ведь бумага легко повреждается), а второй — требует предварительных финансовых затрат (хорошие модели стоят порядка 100 долларов).

    Видео, что делать, если не идёт синхронизация кошелька:

    Источник

    Синхронизация кошельков с Биткоин сетью

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

    По материалу этой статьи записана одна из лекций онлайн-курса по blockchain “Синхронизация кошельков с Биткоин сетью”.

    Базовые функции кошелька


    Начнем с базовой функциональности цифрового кошелька:

    • резервное копирование личных ключей;
    • прием платежей;
    • отображение баланса;
    • отображение истории транзакций;
    • отправка платежей.

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

    Читайте также:  Sony ericsson j108i синхронизация

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

    Сложности работы в распределенной сети


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

    Еще одна проблема заключается в следующем. Чтобы получить историю транзакций по определенному адресу на полном узле сети, вам придется пройтись по всему блокчейну (от genesis до last known), что достаточно долго, поскольку это большой объем данных, а грубый перебор это мало эффективный подход. Поэтому можно использовать определенные подходы с целью оптимизации запросов. Для этого применяются специальные надстройки над обычным узлом сети, которые помогают индексировать блокчейн и кэшировать некоторые данные для ускорения поиска по популярным метрикам. По такому принципу работает любой blockchain explorer, например blockchain.info, который достаточно быстро возвращает данные практически о любом адресе, о любой транзакции и т. д.

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

    Подходы синхронизации кошелька с платежной сетью


    Есть три основных подхода. Первый предполагает, что кошелек сам является полным узлом сети Биткоин. Во втором подходе используется так называемый доверенный узел. Фактически это чужой узел сети, но пользователь кошелька ему доверяет. А третий подход предполагает прямое взаимодействие с остальными узлами сети, но в облегченном варианте, с использованием методики Simplified Payment Verification (SPV). Эта методика позволяет с достаточно высокой степенью надежности проверить подтвержденность транзакций, но не прибегать к запуску полного узла сети. Давайте чуть подробнее остановимся на каждом из этих подходов синхронизации.

    Работа с полным узлом сети

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

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

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

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

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

    Работа с доверенным узлом сети

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

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

    Какие же преимущества и недостатки этого подхода? Как и в предыдущем случае, хоть и косвенно, но можно влиять на проверку транзакций в сети Биткоин, потому что у пользователя остается доверенный узел сети. Преимущество состоит в том, что он освобождается от необходимости хранить полную копию блокчейна на своем устройстве. Тем не менее зависимость от доверенного узла является недостатком, ведь в случае его отказа пользователь не всегда может переключиться на другой доверенный узел. Поскольку проверка транзакций происходит на удаленном сервере, нужно убедиться в надежности канала передачи данных между кошельком и сервером, на котором происходит проверка. При таком подходе появляются угрозы таких атак как “Man in the middle”.

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

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

    Такой способ используют преимущественно мобильные кошельки, потому что он позволяет и верифицировать транзакции, и упростить работу мобильного приложения. Примерами таких мобильных кошельков для Биткоина являются Mycelium и Coinomi. Компания Distributed Lab также разработала и поддерживает кошелек под названием Bitxfy, где применен данный подход.

    Читайте также:  Программы для андроид для синхронизации контактов с google

    Работа с SPV-узлом сети

    Третий распространенный подход к синхронизации цифрового кошелька с Биткоин сетью — это облегченный узел сети. Речь идет о Simplified Payment Verification (SPV). В этом подходе может отсутствовать необходимость запуска своих полных узлов или выбора доверенных. Предполагается, что цифровой кошелек напрямую общается с другими узлами сети: фактически выбирает несколько десятков чужих полных узлов и поддерживает с ними соединение. Отличие состоит в том, что облегченный узел общается с другими узлами на равных, обмениваясь с ними р2р сообщениями, но при этом не хранит всю историю транзакций. Здесь для проверки входящих транзакций применяется методика SPV. Фактически облегченный узел проводит только часть наиболее важных проверок из тех, что проводит полный узел сети.

    Как происходит работа в этом случае? Вместо того, чтобы получать блоки, как это делает полный узел, SPV узел получает только заголовки блоков, которые имеют гораздо меньший размер (80 байт). В заголовке содержатся необходимые данные для проверки факта подтверждения конкретной транзакции в этом блоке. Если говорить более конкретно, то в заголовке блока есть поле Merkle Root, где записано хеш-значение от всех транзакций в блоке, рассчитанное по схеме Merkle Tree.

    Схема Merkle Tree позволяет проверить, входит ли хеш-значение конкретной транзакции в Merkle Root, не имея при этом всех остальных транзакций блока. Таким образом, имея транзакцию, заголовок блока и Merkle Branch для этой транзакции (можно запросить у полного узла), цифровой кошелек может убедиться, что транзакция была действительно подтверждена в конкретном блоке.

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

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

    Как вы уже поняли, SPV узлы требовательны к стабильной работе сетевого соединения, тем не менее часто применяются даже в мобильных приложениях. Этот подход синхронизации с платежной сетью достаточно широко распространен и используется в ряде популярных Биткоин кошельков. Среди них можно выделить Bitcoin Wallet, Electrum, а также Bread Wallet.

    Часто задаваемые вопросы


    — Где можно найти полные узлы, которым можно доверять?

    Достаточно сложно ответить, каким узлам можно доверять. Это вопрос личного предпочтения. Есть сервисы, которые предоставляют доверенную информацию, такие как Blockchain.info, — редко кто им доверяет особенно если речь идет о крупных суммах. Нужно быть очень осторожным в выборе доверенного узла, поскольку он является посредников между пользователем и платежной сетью. Однажды Blockchain.info вышел из строя на двое суток из-за проблем с DNS провайдером, Кошельки, которые использовали Blockchain.info в качестве доверенного узла, не могли синхронизироваться с Биткоин сетью и хоть как-то работать.

    — Какие гарантии дает команда кошелька и какова ее ответственность?

    Этот вопрос имеет больше юридический характер, чем технический. У любого ПО, которое распространяется официально, есть “Terms of Use”, где прописано, что вы можете предъявить разработчикам в случае, если возникли определенные проблемы в их ПО. “Terms of Use” отличаются в разных приложениях. Как и всегда, пользователь отвечает на вопрос, доверяет он разработчикам или нет, перед тем как начать использовать их продукт.

    — Кто решает, доверенный ли узел?

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

    — Сколько может быть доверенных узлов?

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

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

    Здесь нужно сказать не о монетах, а о хранении ключей, которые используются для доступа к этим монетам. Рассмотрим два варианта одной ситуации. Если уничтожен сервер, который обеспечивал доступ к сети Биткоин. То это на вас никак не повлияет. Вы временно потеряете доступ к распределенной базе данных, но у вас остануться ключи, которые позволят вам потратить эти монеты. Если же уничтожен сервер, на котором хранились ваши ключи, при этом у вас нет резервной копии этих ключей, то вы не сможете получить доступ к своим монетам.

    — Безопасно ли поставить кошелек, положить на него монеты, записать seed фразу на бумагу и удалить его?

    По сути, да. Нужно сохранить seed фразу — это достаточный минимум. В блокчейне хранится информация о том, какие монеты на каких адресах хранятся. Вам нужно сохранить личные ключи для доступа к этим монетам. В вашем случае это seed фраза.

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

    Можно добавить любое ПО, которое будет анализировать блокчейн. Это может быть ПО, написанное самим пользователем, а может существовать готовое решение. Все зависит от ваших целей. Если вы хотите оптимизировать запросы по поиску определенных транзакций, привязанных к определенным адресам, как это делает blockchain explorer, вы можете применить ПО, которое будет индексировать блокчейн и кэшировать определенные данные. Примером такого ПО является BitCore (поддерживается компанией BitPay). BitCore имеет открытый исходный код и вы можете его достаточно просто использовать вместе со своим полным узлом.

    Источник

    Adblock
    detector