Bitcoin Forum
December 07, 2019, 03:30:57 AM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Разновидности кошельков Биткоина.  (Read 159 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Captain-Cryptory
Full Member
***
Offline Offline

Activity: 520
Merit: 204


榮譽和加密


View Profile
November 23, 2019, 08:51:56 AM
Last edit: November 23, 2019, 10:15:55 AM by Captain-Cryptory
Merited by Alex_Sr (5), naska21 (3), Ratimov (3), zasad@ (2), A-Bolt (1), xenon131 (1), zStrog (1)
 #1

(Перевод C-C с убранной  "лирикой", имеющей место в самом начале и в самом конце статьи)

Среди наиболее важных отличий строения кошельков выделяются следующие:

  • Потребности в ресурсах хранения
  • Вычислительная мощность/ энергопотребление
  • Векторы атак
  • Эффективность оценки комиссии за услуги
  • Уровень доверия и централизации

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

Полные ноды (узлы).

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


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

Альтернативой интегрированной архитектуре кошелька является несвязная  структура, при которой кошелек отделен от сетевой ноды и  может надежно подключаться  к ней,  запрашивая  данные блокчейна. Кошелек представляет собой отдельный массив исходного кода, который исполняется в отдельном процессе или даже на отдельном хосте и может индексировать дублируемые транзакции или блоки данных, хранимые нодой. По сути  это архитектура клиент-сервер, при которой кошелек является клиентом полной ноды и взаимодействует с ней через P2P или RPC сетевой интерфейс. Главное преимущество такого подхода в том, что модульность позволяет добиться лучшей кастомизации  и разнообразия вариантов. Такого рода  архитектуру  используют кошелек Armory и внутренняя серверная служба (backend), поддерживающая кошелек клиентуры на  Coinbase.

Что касается хранения и пропускной способности, то полные ноды загружают и хранят на диске каждый блок с момента возникновения блокчейна с размером  на момент написания статьи в 513 400 блоков, занимающих 176 ГБ. Обратите внимание, что синхронизации блокчейна в смысле требуемого времени   значительно улучшается  при использовании SSD. Узлы также получают уведомления о всех новых, действительных транзакциях в сети, даже если они не подтверждены. В вычислительном плане полные узлы должны выполнять сравнительно дорогостоящую проверку подписей, часто более чем по одной на каждую транзакцию.

Одним из вариантов снижения требований к объему хранения для полных узлов является отказ от старых блоков после их проверки (это не влияет на пропускную способность или использование вычислительных мощностей). Bitcoin Core поддерживает функцию обрезания (prune) объема хранимых данных до минимума ~3,5 ГБ. Недостатком prune  является то, что   нода в этом случае  не может обслужить  запросы по ранее полученным  блокам, запрашиваемые новыми узлами , которые пытаются синхронизироваться начиная с первоначального блока, но функциональность кошелька в основном остается неизменной.

Конфиденциальность.

В зависимости от особенностей использования кошелька для получения информации о финансах лица  может оказаться возможным анализ движения средств в блокчейне. Например, скажем, Элис платит Бобу 0.1 BTC за какую-то вещь, затем Боб создает транзакцию на общую сумму 100 BTC, где один из входов тратит UTXO от Элис. Элис может резонно предположить, что теперь у Боба есть 100 BTC, которые он, возможно, хотел бы скрыть. Утечка информации через закономерности перемещения BTC является проблемой, от которой страдают все кошельки.

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

Атаки.

Поскольку все блоки полностью ею проверены локальная полная нода  обеспечивает наилучшую возможную защиту от атак на блокчейн , хотя две из них все еще возможны. Первая - это  атака 51%, в ходе которой злоумышленник  или их картель с более чем 50% сетевой вычислительной мощностью создает форк блокчейна с большим PoW, чем в настоящем блокчейне, и повторно тратит подвержденные в настоящем блокчейне средства. Благодаря экономическим стимулам, предусмотренным протоколом, в истории Bitcoin этого никогда не случалось.

Кроме  атаки 51% следующим наихудший сценарий состоит в  так называемой атаке перекрытия (eclipse). (С-C когда ближайшие к атакуемому ноды перекрываются нодами злоумышленника, который старается повторно потратить уже потраченные BTC).  Однако такая атака  требует от злоумышленника создания многочисленных и очень дорогих PoW и атака будет предотвращена, если  у ноды  есть  один честный  пир.
В случае несвязной  архитектуры основное на что надо обратить внимание это обеспечение безопасности коммуникации между клиентом и сервером, особенно если она осуществляется между различными хостами. Поскольку полная нода  является компонентом с полным  доверием злоумышленник, использующий технологию «незаконный посредник» (С-С: MITM), может снабжать кошелек недействительными, но как будто уже подтвержденными транзакциями.  Одна из проблем заключается в том, что проводной P2P протокол Bitcoin в настоящее время не оговорен, хотя BIP 150 и 151 , если будут приняты,  предоставят собственное решение. В настоящее время доступные альтернативы включают туннелирование SSH и контроль доступа к сети.

Оценка комиссии.

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

SPV кошельки.

Хотя полная нода  Bitcoin может быть запущена на стандартных настольных компьютерах и ноутбуках, ее потребности в ресурсах слишком велики для мобильных устройств, на которых синхронизация в лучшем случае займет несколько часов. К счастью, протокол Bitcoin настолько элегантный , что может поддерживать клиентов, которые загружают с высокой степенью безопасности только важные для них транзакции. Такие клиенты, как правило, классифицируются как легкие. Раздел 8 исходной технической документации Satoshi Nakamoto описывает режим упрощенной проверки платежей (SPV), в котором сетевые клиенты загружают только заголовки блоков и полагаются на компактные доказательства включения транзакции представляемые  полными нодами.

В 2012 году ведущий разработчик кошелька Bitcoin под  Android предложил расширение протокола для поддержки легких клиентов SPV. BIP 37 добавил в P2P протокол новые сообщения, позволяющие узлам получать блоки частично, включая только некоторые транзакции из полного блока. Для того, чтобы нода знала  какие транзакции нужны клиенту, клиент при подключении посылает Bloom фильтр всех своих адресов, затем узел фильтрует транзакции, которые соответствуют  движению средств с этих или на эти адреса. Поскольку заголовки Bitcoin содержат подвязанное под данные транзакции хеш-дерево  Merkle (Merkle tree), нода  в состоянии  доказать наличие  транзакции в блоке путем предоставления только его заголовка и небольшой  ветки дерева Merkle. Работающий по правилам  BIP 37 легкий клиент от своих пиров должен получить и подтвердить все заголовки блоков, загрузить в них фильтры Bloom, а затем загрузить только те транзакции, которые имеют  отношение к этим фильтрам. Даже если клиент не проверяет блоки по всем правилам консенсуса, он исходит из предположения, что большая часть  вычислительной хеш-мощности  сети благодаря экономическим стимулам добывает полезные блоки.


Ресурсы.

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

Конфиденциальность.

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

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

Атаки.

Поскольку SPV клиенты скачивают все заголовки и придерживаются цепочки с наибольшей суммарной работой, способ атаки такой же, как и для полных нод: атака 51% и атака перекрытия. Однако риск для SPV-клиентов выше, так как успешный злоумышленник может провести не только двойную трату, но и сфабриковать  абсолютно недействительные транзакции. Это означает, что злоумышленник, контролирующий всех пиров атакуемого клиента, может незаметно совершить операцию с использованием  созданных из воздуха средств. Наилучшей защитой в этом случае  является ожидание количества подтверждений  большего чем  для полного узла,  что увеличивает  стоимость атаки.

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

Оценка комиссии.

Динамическая оценка комиссии является существенной проблемой легких клиентов, так как они не имеют доступа к истории или полному пакету транзакций в мем-пуле. Лучшей стратегией на данный момент является получение оценочных ставок вознаграждения от доверенного сервиса или обращение к пользователю с просьбой самостоятельно ввести их и при необходимости повысить с помощью Replace-by-Fee (RBF).

1575689457
Hero Member
*
Offline Offline

Posts: 1575689457

View Profile Personal Message (Offline)

Ignore
1575689457
Reply with quote  #2

1575689457
Report to moderator
1575689457
Hero Member
*
Offline Offline

Posts: 1575689457

View Profile Personal Message (Offline)

Ignore
1575689457
Reply with quote  #2

1575689457
Report to moderator
1575689457
Hero Member
*
Offline Offline

Posts: 1575689457

View Profile Personal Message (Offline)

Ignore
1575689457
Reply with quote  #2

1575689457
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1575689457
Hero Member
*
Offline Offline

Posts: 1575689457

View Profile Personal Message (Offline)

Ignore
1575689457
Reply with quote  #2

1575689457
Report to moderator
Captain-Cryptory
Full Member
***
Offline Offline

Activity: 520
Merit: 204


榮譽和加密


View Profile
November 23, 2019, 08:52:48 AM
Last edit: November 23, 2019, 09:41:18 AM by Captain-Cryptory
 #2

Electrum.

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

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

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


Ресурсы.

Загруженность канала (СС: передачи данных)  более эффективная, так как набор  адресов не содержит тех, которые могли бы привести к ошибочному срабатыванию, но ресурсы для хранения и вычислений близки (С-С:  к клиентам  SPV BIP37).

Конфиденциальность

Конфиденциальность зависит от доверия к тому, что операторы серверов Electrum не будут вести журналы регистрации, а клиенты не унаследуют  слабую конфиденциальность  фильтров Bloom. Учитывая также большую централизацию, история (С-С: конфиденциальности) в целом довольно плохая.

Атаки.

Возможны те же атака 51% и атака  перекрытия, что и для SPV клиентов придерживающихся BIP 37, хотя в зависимости от предположений, сделанных о жертве, они могут быть или проще или сложнее в исполнении. С одной стороны, серверов для компрометации с целью  выдачи неверной цепочки заголовков, меньше. С другой стороны, для аутентификации серверов клиент  Electrum использует TLS, в то время как P2P соединения Bitcoin не аутентифицированы. Поэтому злоумышленнику труднее выполнить MITM атаку. По сути, это повышает доверие к серверам и снижает доверие к сети.

Оценка комиссии.

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

Кошельки с фильтрацией на стороне клиента.

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

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

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


Ресурсы.

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

Хотя загруженность  канала(СС: передачи данных) выше, клиенты могут отбрасывать большую часть загружаемых данных, поэтому требования к ресурсу их  хранения и  вычислительному ресурсу  такие же, как и для  SPV клиентов.

Конфиденциальность.

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

Атаки.

К сожалению  этот тип легких клиентов не менее уязвим к атаке 51% и атаке затемнения , чем SPV-клиенты. BIP 157, однако, обеспечивает защиту от нод, заставляя кошельки пропускать транзакции.

Доверенные серверы, локальные кошельки с ключами.

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

Еще одной распространенной архитектурой кошелька для устройств с ограниченными ресурсами является локальное хранение ключей и подключение к доверенным  серверам второго плана (СС: сервер бэкэнда, backend server) за данными блокчейна. Такая  модель в различных ее  формах используется в кошельках Copay, Mycellium и Blockchain.info, и это лишь некоторая часть из таких кошельков. Когда пользователь хочет отправить деньги, бэкэнд-сервер генерирует неподписанную транзакцию и отправляет ее клиенту. Затем клиент может подтвердить сумму, комиссию и назначение транзакции, а также добавить подписи. Поскольку закрытые ключи никогда не покидают клиента, они остаются в безопасности, даже если бэкэнд взломан; однако, как мы увидим через секунду, возможны и другие атаки. Для пользователей, которые предпочитают доверять известной компании, эта модель безопасности может быть более удобной, чем безопасность SPV, плюс эти бумажники часто довольно просты в использовании. С другой стороны, централизованный сервис, требующий к себе доверия, несет в себе многие риски, которые в первую очередь  и привели к созданию Bitcoin.


Ресурсы.

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

Конфиденциальность

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

Атаки.

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

Mycelium использует скрытые сервисы Tor и вшитые сертификаты, жестко закодированные в исходном коде, что обеспечивает наилучшую степень криптографической аутентификации. Кошелек  Copay использует TLS для подключения к бэкэнд серверам Bitcore, что вводит в цепочку доверия еще и сертификационные органы. Blockchain.info также полагается на TLS, но злоумышленник, который украдет сертификат, может не только перехватить запросы к бэкенду, но и обслужить вредоносным веб-клиентом. Это может привести к краже конфиденциального ключа, в отличие от любых других возможных до сих пор атак.

Оценка комиссии.

Ставки комиссии устанавливаются доверенным внутренним сервером при генерации неподписанных транзакций.

Captain-Cryptory
Full Member
***
Offline Offline

Activity: 520
Merit: 204


榮譽和加密


View Profile
November 23, 2019, 08:53:03 AM
Last edit: November 23, 2019, 04:39:09 PM by Captain-Cryptory
 #3

Кастодиальный (СС: депозитарный) счет.

Наиболее централизованным типом кошелька Bitcoin является депозитарный счет типа Coinbase. (СС: автор статьи там работает). Здесь закрытыми ключами управляет полностью доверяемый орган, которое генерирует, подписывает и транслирует транзакции, чтобы исполнить запросы пользователей. В этой категории  Coinbase остается популярной  опцией для десктопов  и мобильных устройств, даже несмотря на утверждения, что Coinbase не является кошельком из-за простоты использования. Многие клиенты не понимают как управлять  закрытыми ключами или  чувствуют себя некомфортно, когда  делают это сами,  и предпочитают использовать более традиционный сервис с именем пользователя, паролем и функциями восстановления учетных записей. Еще одним большим преимуществом является то, что отправка другим пользователям этой платформы может быть выполнена без комиссии в режиме off-blockchain (СС:вне блокчейна).

Конфиденциальность и безопасность депозитарных счетов заметно отличается от любой другой обсуждавшейся модели кошельков. Заботящиеся о безопасности исполнители , такие как Coinbase, могут объединить средства клиентов и хранить подавляющее большинство из них на надежных автономных (офлайн) ключах "под сукном"(СС: так называемое холодное хранение). Для защиты клиентских портфелей они в состоянии нанять на полную занятость команды экспертов по безопасности и криптовалюте. Однако усиленная централизация также имеет и свои недостатки. . Во-первых, депозитарные счета регулируются местными законами и нормативными актами и могут оказаться  недоступными для всех желающих; компании, предоставляющие такие услуги, обязаны следовать политике KYC/AML. Кроме того, переводы на счет или с него могут быть отложены на длительное время в случае большого трафика или технических неполадок. И в худшем случае всегда существует риск того, что хранителя средств или взломают или он иным образом потеряет доступ к средствам, что, к сожалению, неоднократно происходило на протяжении всей истории Bitcoin. Золотое правило Bitcoin заключается в том, что если у вас нет закрытых ключей, вы не контролируете средства.

Ресурсы.

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

Конфиденциальность.

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

Атаки.

В отношении депозитарных счетов существуют две основные проблемы безопасности: 1) взлом индивидуального аккаунта и 2) взлом хранителя.

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

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

.      .      .

Подытоживая все сказанной в одной таблице:

GGUL
Legendary
*
Offline Offline

Activity: 1281
Merit: 1040


View Profile
November 24, 2019, 12:22:54 AM
Last edit: November 24, 2019, 12:37:06 AM by GGUL
Merited by Ratimov (1)
 #4

Quote
Поскольку SPV клиенты скачивают все заголовки и придерживаются цепочки с наибольшей суммарной работой, способ атаки такой же, как и для полных нод: атака 51% и атака перекрытия. Однако риск для SPV-клиентов выше, так как успешный злоумышленник может провести не только двойную трату, но и сфабриковать  абсолютно недействительные транзакции. Это означает, что злоумышленник, контролирующий всех пиров атакуемого клиента, может незаметно совершить операцию с использованием  созданных из воздуха средств. Наилучшей защитой в этом случае  является ожидание количества подтверждений  большего чем  для полного узла,  что увеличивает  стоимость атаки.
На самом деле, риск для SPV-клиентов ничуть не выше, чем для полной ноды. По части атаки 51% они в равных условиях.

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

Дальше не легче.
2.Создать  N блоков с недействительными транзакциями. Для этого злоумышленнику необходимо владеть большой долей майнинговых ресурсов. Например, при 25% ему понадобится ~4 часа, чтобы сгенерировать 6 блоков. А при 10% уже нужно 10 часов.
Простая проверка в spv-клиенте, которая забьет тревогу при резком снижении частоты появления блоков, ставит крест на этом виде атаки.

Более-менее высокие шансы есть, если у злоумышленника больше 50%. Но при этом он должен еще добиться успеха по 1-му пункту. Еще надо учитывать, что при создании блоков с недействительными блоками, он еще и теряет по 12.5 биткоинов за каждый блок.
Ведь эти блоки никогда не попадут в блокчейн.  При 6 подтверждениях атакующий потеряет 75 биткоинов точно, а с комиссиями все 80.

Все это делает атаку перекрытия бессмысленной.  Гораздо проще в этом случае организовать атаку 51%. Она то может быть успешной с гораздо более высокой вероятностью.

Итог. Если Вы пользуетесь правильно реализованным spv-клиентом и при этом оперируете меньше 100 биткоинов,то никакая "атака перекрытия" вам не грозит. То есть, для большинства обычных пользователей нет никаких оснований считать  spv-кошелек менее надежным, чем полная нода.

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



p/s/ Почему-то для spv-кошельков в разделе "Конфиденциальность" не указано, что можно улучшить конфиденциальность, подключая spv-клиент к нодам через Тор.
4rt3m
Full Member
***
Offline Offline

Activity: 742
Merit: 145



View Profile
November 24, 2019, 01:09:47 AM
 #5

Статья хорошая, автор и переводчик молодцы, но не давайте никому ссылку на это, если вас попросят совета о кошельке. Так делают довольно многие, когда человеку нужно оплатить $10 за прокси, а какой-нибудь гуру с форума ему рекомендует поднимать ноду. На этом знакомство с Биткоином у многих просто заканчивается. Поэтому кошельки бывают двух видов: для сумм до $1000 – кошелек на мобильном (типа BRD, Mycelium и т.д.), для сумм побольше – Леджер или Трезор.
Kounter
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
November 25, 2019, 06:50:31 AM
 #6

для сумм побольше – Леджер или Трезор.
соответственно для сумм поменьше - веб-кошельки. так сказать баланс между удобством и надежностью
GGUL
Legendary
*
Offline Offline

Activity: 1281
Merit: 1040


View Profile
November 25, 2019, 11:58:11 PM
 #7

Так делают довольно многие, когда человеку нужно оплатить $10 за прокси, а какой-нибудь гуру с форума ему рекомендует поднимать ноду. На этом знакомство с Биткоином у многих просто заканчивается.
Так все же идет от нынешней команды Биткоин-разработчиков. Годами вешают лапшу, что для надежной работы обычным пользователям обязательно нужна полная нода. Мне даже кажется, что они (разработчики) совершенно не заинтересованы, чтобы количество пользователей увеличивалось.

Что подсказывает логика. Оцени spv-кошелек, убедись, что он надежен. Правильно реализуй, и вперед. Можно агитировать, что пользоваться биткоином легко. Скачал за минуту программу, установил и пользуйся. Это же огромный плюс для Биткоина, что им можно пользоваться безопасно без скачивания 100 гигабайт.   Это намного круче, чем заставлять пользователя со 100 долларами устанавливать полную ноду.  Smiley
A-Bolt
Legendary
*
Offline Offline

Activity: 1420
Merit: 1312

CryptoTalk.Org - Get Paid for every Post!


View Profile
November 26, 2019, 10:02:35 AM
 #8

Так все же идет от нынешней команды Биткоин-разработчиков. Годами вешают лапшу, что для надежной работы обычным пользователям обязательно нужна полная нода. Мне даже кажется, что они (разработчики) совершенно не заинтересованы, чтобы количество пользователей увеличивалось.

Что подсказывает логика. Оцени spv-кошелек, убедись, что он надежен. Правильно реализуй, и вперед. Можно агитировать, что пользоваться биткоином легко. Скачал за минуту программу, установил и пользуйся. Это же огромный плюс для Биткоина, что им можно пользоваться безопасно без скачивания 100 гигабайт.   Это намного круче, чем заставлять пользователя со 100 долларами устанавливать полную ноду.  Smiley

Не знаю, кто по-вашему является обычным пользователем, но если на сайте bitcoin.org выбрать User type - New, то будут рекомендованы два десктопных кошелька: BitPay и Electrum. Как видите, никакого Bitcoin Core.

А опытному пользователю SPV-кошельками пользоваться затруднительно. У меня, к примеру, после импорта в Электрум приватного ключа
Code:
L2VwYXcWkXuk93PPwWQZgxahtAcPsun5ao8yHNnwZz96EVBaydos
невозможно приконнектиться ни к одному серверу Электрума. Тут уж без полной ноды никуда.

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
GGUL
Legendary
*
Offline Offline

Activity: 1281
Merit: 1040


View Profile
November 26, 2019, 12:40:19 PM
Merited by Ratimov (1)
 #9

Так все же идет от нынешней команды Биткоин-разработчиков. Годами вешают лапшу, что для надежной работы обычным пользователям обязательно нужна полная нода. Мне даже кажется, что они (разработчики) совершенно не заинтересованы, чтобы количество пользователей увеличивалось.

Что подсказывает логика. Оцени spv-кошелек, убедись, что он надежен. Правильно реализуй, и вперед. Можно агитировать, что пользоваться биткоином легко. Скачал за минуту программу, установил и пользуйся. Это же огромный плюс для Биткоина, что им можно пользоваться безопасно без скачивания 100 гигабайт.   Это намного круче, чем заставлять пользователя со 100 долларами устанавливать полную ноду.  Smiley

Не знаю, кто по-вашему является обычным пользователем, но если на сайте bitcoin.org выбрать User type - New, то будут рекомендованы два десктопных кошелька: BitPay и Electrum. Как видите, никакого Bitcoin Core.
Речь идет о том, что который год биткоин-сообществу вдалбливают, что полная нода - единственный безопасный способ работы.  А все остальные варианты, соответственно,  хуже.
Quote
А опытному пользователю SPV-кошельками пользоваться затруднительно. У меня, к примеру, после импорта в Электрум приватного ключа
Code:
L2VwYXcWkXuk93PPwWQZgxahtAcPsun5ao8yHNnwZz96EVBaydos
невозможно приконнектиться ни к одному серверу Электрума. Тут уж без полной ноды никуда.
Начнем с того, что Электрум-кошельки не совсем соответствуют стандарту SPV. Для получения информации они подключаются к специальным серверам, а не к стандартным нодам. Хотя для проверки информации они используют методы SPV-кошелька.

При правильной реализации, когда SPV-кошелек подключается к нодам, он может получить столько же информации, что и полная нода.
Ничто не мешает ему быть такой же удобной, как полная нода. И, какие-то проблемы у конкретной реализации не являются доказательством того, что в целом идея  SPV-кошельков имеет изъяны. На самом деле, это только доказывает, что в этом направлении делается недостаточно усилий.  Smiley
xenon131
Hero Member
*****
Offline Offline

Activity: 910
Merit: 633


making something real from dark matter


View Profile
November 27, 2019, 06:03:10 PM
 #10

Линк к теме добавлен в каталог в подраздел Кошельки и способы хранения раздела Обзоры.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!