Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
23 июня 2014, 4:06:47 PM   # 1
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Много раз в прошлом людей предложили использовать DHT (либо по имени, либо изобретая понятие), чтобы сохранить всю blockchain, но это нарушает доверие свободной характер blockchain проверки. Для проверки блоков узел должен иметь историю полного блока. С TxIds от самой длинной цепи, однако вы не можете подделать, если вы спросите произвольный узел для деталей этого TXN. Для того, чтобы создать другой TxN с тем же TXID потребовало бы прообразом атаки на хэш, и считается неосуществимым, пока SHA-256 является криптографически сильным. Это позволит txns храниться в распределенном доверительную свободной манере, используя DHT (Распределенная Хэш таблица). Основная причина в том, чтобы уменьшить минимальные требования к памяти каждого узла и позволяет узлы поддерживать сеть на основе частичной. В настоящее время есть все или ничего требование. Вы либо полный узел (стоимость ~ 25GB) или вы не помочь сети в любом случае (SPV узлы не улучшить безопасность сети). ДГТ сделок, распределенной транзакции Таблица (ДТТ). Необходимые изменения не быть существенными и могут быть сделаны в обратной совместимости.

1) Блок структура для DHT узлов будет изменена таким образом, что он содержит только заголовок блока и TX хеши (TXID).
2) Новый блок сообщения будут созданы, который позволяет ретрансляцию это "упрощенна блок" (Также полезно в снижении стоимости сиротских блоков).    
3) Полная транзакция будет храниться в DTT. Отдельные узлы будут хранить подмножество DTT.
4) Ток "полные узлы" могут быть преобразованы в DHT узлов, просто сохраняя 100% доли ДГТ в.

Наивное решение было бы для отдельных узлов, чтобы удалить все txns, которые не находятся в их доле и используют DTT по мере необходимости. Это было бы весьма неэффективно, поскольку вероятность узла нуждающегося конкретного TxN (либо внутри, либо потому, что она была запрошена сверстником) не соответствуют всем txns. Некоторые TXN всегда будет поддерживаться в локальном кэше те будут включать:
а) Txns в "недавний" блоки. В случае REORG обновляющей UTXO требует зная детали txns блока сиротства.
б) Txns в UTXO. Это txns, которые имеют по крайней мере один неизрасходованный выход. UTXO необходим для проверки нового txns и новые блоков.
с) Txns в пуле памяти. Это множество txns, которые справедливы и известны узлу, но еще не включены в блок. Если блок сообщение включает txns хэш только потребуются пул памяти для проверки блока.
д) Txns с участием ключей пользователя. Это не является обязательным требованием, но пользователь имеет личную заинтересованность в обеспечении копии его txns сохраняется. Если ничего другого, это может быть психологически полезно для повышения доверия к концепции DHT.

Поймите, однако целостность txns происходит от их TxN хэша (TXID) так "плохо оптимизировано" DHT будет иметь неоптимальный производительность, но не снижается безопасность.

Некоторые грубые числа текущих требований к хранению
Полная сырья blockchain = ~ 18,9 ГБ
Отмена цепи = ~ 2,5 ГБ (это может быть уменьшена? Кажется, отменить информационное прошлое говорят последние 144 блоков будет иметь мало значения)
Индексы Blockchain = ~ 2,0 Гб (я не декодируется, но они считают интересным это настолько большим по сравнению с блоками)
Chainstate (UTXO) = ~ 400 МБ (сжатый формат содержит неизрасходованные выходы & TXN метаданные только)
Пул памяти = <1MB (неподтвержденный txns, 538 на время поста)
Итого: ~ 23,8 GB

Текущая статистика blockchain
Количество блоков: 307394
Количество сделок: ~ 41182000
Количество неизрасходованного txns: 3347562 (а txns по меньшей мере одним выхода неизрасходованного)
Количество неизрасходованных выходов: 11648626

Нарушение этого вниз
Размер хеш-только блоки: 1320 Мб (включает в себя заголовки & TXN хэши)
Размер UTXO: 400 МБ (неизрасходованные выводит только)
Размер неизрасходованного Txns в полном объеме: ~ 1500 MB

Таким образом, требование локального запоминающего устройства кэша-памяти для узла DHT будет: 1,7 ГБ (или 2,8 ГБ, если полный txns элементов UTXO сохраняются). Если мы предположим, что средний узел поддерживает 5% долю DHT оставшегося txns (основную часть блока органов), который был бы другой 1GB. DHT узлы также сохранить локальную копию все пула памяти, но это ошибка округления требований хранения.

Это не приведет к сокращению времени начальной загрузки или (или количество используемой полосы пропускания) для самонастройки полных узлов. В качестве полного узла, все равно необходимо будет загрузить на 100% из txns на 100% блоков, чтобы проверить, длинная цепь является самой длинной цепи действует. Однако, как только бутстрапированное текущие потребности в ресурсах будут сокращены. Это будет работать лучше, если протокол содержал сообщение блока, который просто послал blockheader & txns хэшей. В настоящее время, когда полный узел принимает и проверяет новый блок, который проходит самую длинную цепочку он сохраняет полный блок и удаляет отработанное в настоящее время txns из UTXO. DHT узлы бы вместо того, чтобы записать сокращенный блок (заголовок & хэш только), затем сохранить его DHT долю потраченного txns и отбросить все остальное. Для того, чтобы уменьшить накладные расходы от и реорганизации; обеспечить лучшее покрытие для синхронизации узлов, требующих только кончик blockchain может иметь смысл для DHT узлов, чтобы сохранить все txns для самых последних х блоков (144? Один блок дня?).

Если была использована структура, как это для всех узлов, то "полные узлы" было бы просто узлы, участвующие в TxN DHT, которые сохраняют на 100% копию полного набора TxN. Лучшее сравнение было бы статус "сеялка" в протоколе BitTorrent. Поскольку все узлы DHT бы сохранить полную копию UTXO эти узлы все еще могут поддерживать SPV клиентов. SPV клиенты могут на самом деле поддержки сети, сохранив часть множества TxN. Сохраняя старый txns будет особенно полезно в том, что они могли бы снизить нагрузку на полных узлах, когда сеть бутстрап новых полные узлов.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes


Как заработать Биткоины?
Без вложений. Не майнинг.


23 июня 2014, 4:11:50 PM   # 2
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

Получил 1806 Биткоинов
Реальная история.





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

23 июня 2014, 4:48:20 PM   # 3
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

Протокол DHT будет назначать узлы подмножества на основе TXID и, таким образом, старый txns бы так же, как, вероятно, имеет покрытие, как новые. Таким образом, вопрос становится "как вы можете быть уверены, что протокол DHT всегда будет сохранять копию любого отдельного TXN (независимо от возраста). На самом деле, как запасной вариант, что будет иметь смысл для некоторых узлов, все еще "полные узлы", Они могут быть прозрачно совместимы с узлами DHT в том, что они используют один и тот же протокол, но их локальный кэш всегда 100%. 

Там всегда будет желание для некоторых пользователей, чтобы поддерживать полную копию blockchain. Я не думаю, что когда-либо будет случай, когда нет полной копии blockchain не существует. Проблема в том, что SPV узлы (заимствовать терминологию Bittorrent) являются личеры и они даже не личеры, которые до сих пор способствуют они будут скачать только личер. Это создает извращенный набор сдерживающих. По мере увеличения числа полных узлов (как% от общего числа пользователей) падает нагрузка на каждый полный увеличивается узла, что приводит к менее полных узлов, который дополнительно увеличивает нагрузку остальных полных узлов. Использование TxDht, мы надеемся увеличить число "почти полный" (Возможно, потребуется лучшее название) узлы. Это обеспечивает надежную поддержку для SPV узлов.   

Говоря о SPV узлов, этот тип структуры также позволит SPV узлы поддерживать сеть на ограниченной основе. SPV узлы просто поддерживать меньшую долю DHT, и они будут поддерживать только txns, которые "достаточно глубоко" в blockchain (так как они не могут полностью проверить блоки). Помните, что безопасность в TXN происходит от его хэша и если сломано хорошо полные узлы скомпрометированы, а также. Это (с некоторыми другими усовершенствованиями протокола) может даже привести к SPV + типа узлам, которые поддерживают только UTXO и может обеспечить еще большую поддержку сети.

Сырьевая провела txns составляет большинство blockchain и за ее пределами начальной самозагрузки даже полные узлы редко "использование" многие из этих txns более чем один раз. Существует очень мало нужно для всех узлов, чтобы постоянно поддерживать полную копию всех txns НО это также важно, что узел будет иметь возможность получить копию данного TXN, если это необходимо. Это делает хранение затраченные txns в DHT идеальный случай использования для DHT, но она может быть расширена за счет включения UTXO, а также. По мере роста UTXO, отдельные выходы можно было забито на основе вероятности он будет использоваться в ближайшем будущем (в расчете на выходе TxN, предел пыли, текущие платежи и возраста). Старый txns будет удален из локального кэша некоторых DHT узлов. В том случае, 5 лет, 1 Satoshi выход используется в будущем блоке, эти узлы могли trustlessly запросить копию от DHT.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

23 июня 2014, 5:09:59 PM   # 4
 
 
Сообщения: 144
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

23 июня 2014, 5:22:23 PM   # 5
 
 
Сообщения: 2212
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

У меня есть подозрение, что сделки не uniformely опрашивается, особенно если новые блоки будут опубликованы есть хороший шанс DHT узлы, проведение этих операций могут быть DDoSed ...

Кроме того, это может иметь последствия конфиденциальности (DHT узлы зная, кто запрашивает, для которых TXIDs).
Sukrim сейчас офлайн Пожаловаться на Sukrim   Ответить с цитированием Мультицитирование сообщения от Sukrim Быстрый ответ на сообщение Sukrim

23 июня 2014, 5:37:22 PM   # 6
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

Это является альтернативой, однако один проверяется блок малопригоден. Узел самонастройки необходимо проверить все txns, прежде чем он синхронизируется с сетью. Оптимально узел будет загружать все заголовки блоков & TXN хэшей. Было бы затем запросить целые наборы txns от DHT аналогам (т.е. запроса от конкретного DHT равного всех TXN Хэш с приставкой 0x00e0 к 0x00ef). Это позволит узлу использовать несколько пэров (потенциально десятки или сотни, если самонастройки пира есть достаточные ресурсы), чтобы одновременно загружать кэш TxN параллельно.

Я согласен, что TXN хэши сделать добавить некоторые накладные расходы. Если мы посмотрим на полную blockchain среднего TXN 461 байт. Это означает, что TXN хэш набор составляет ~ 7% от полной blockchain, но это не означает, ~ 7% дополнительные накладные расходы. Это не является необходимым для TxN хэш и блок хэш иметь одинаковую длину хэша. Хэш столкновения для Bitcoin txns не является полезным, злоумышленник будет необходим прообразом атака. Это означает, что даже 160 бит или 128 бит хешей бы обеспечить достаточную безопасность и что бы уменьшить накладные расходы на 3% до 4%. Я сомневаюсь, что Bitcoin будет меняться для поддержки мелкого txns хэш, но это может быть сделано в обратной совместимости. Тем не менее, это что-то для altcoins иметь в виду.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

23 июня 2014, 5:49:01 PM   # 7
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

Протокол DHT будет назначать узлы подмножества на основе TXID и, таким образом, старый txns бы так же, как, вероятно, имеет покрытие, как новые. Таким образом, вопрос становится "как вы можете быть уверены, что протокол DHT всегда будет сохранять копию любого отдельного TXN (независимо от возраста). На самом деле, как запасной вариант, что будет иметь смысл для некоторых узлов, все еще "полные узлы", Они могут быть прозрачно совместимы с узлами DHT в том, что они используют один и тот же протокол, но их локальный кэш всегда 100%. 


я не думаю, что вы можете применять, что на уровне протокола. что если многие узлы просто решить (!), чтобы просто держать uxto и выбросить все остальное?
это может привести к архивным узлам, которые будут получать оплату от новых компаний (шахтеров, "банки"?) Пытается войти в рынок - и закрыть все остальные из

Там всегда будет желание для некоторых пользователей, чтобы поддерживать полную копию blockchain. Я не думаю, что когда-либо будет случай, когда нет полной копии blockchain не существует. Проблема в том, что SPV узлы (заимствовать терминологию Bittorrent) являются личеры и они даже не личеры, которые до сих пор способствуют они будут скачать только личер. Это создает извращенный набор сдерживающих. По мере увеличения числа полных узлов (как% от общего числа пользователей) падает нагрузка на каждый полный увеличивается узла, что приводит к менее полных узлов, который дополнительно увеличивает нагрузку остальных полных узлов. Использование TxDht, мы надеемся увеличить число "почти полный" (Возможно, потребуется лучшее название) узлы. Это обеспечивает надежную поддержку для SPV узлов.   


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

но я не люблю фразы, как "Я не верю, что когда-либо будет не копия blockchain"


Говоря о SPV узлов, этот тип структуры также позволит SPV узлы поддерживать сеть на ограниченной основе. SPV узлы просто поддерживать меньшую долю DHT, и они будут поддерживать только txns, которые "достаточно глубоко" в blockchain (так как они не могут полностью проверить блоки). Помните, что безопасность в TXN происходит от его хэша и если сломано хорошо полные узлы скомпрометированы, а также. Это (с некоторыми другими усовершенствованиями протокола) может даже привести к SPV + типа узлам, которые поддерживают только UTXO и может обеспечить еще большую поддержку сети.

Сырьевая провела txns составляет большинство blockchain и за ее пределами начальной самозагрузки даже полные узлы редко "использование" многие из этих txns более чем один раз. Существует очень мало нужно для всех узлов, чтобы постоянно поддерживать полную копию всех txns НО это также важно, что узел будет иметь возможность получить копию данного TXN, если это необходимо. Это делает хранение затраченные txns в DHT идеальный случай использования для DHT, но она может быть расширена за счет включения UTXO, а также. По мере роста UTXO, отдельные выходы можно было забито на основе вероятности он будет использоваться в ближайшем будущем (в расчете на выходе TxN, предел пыли, текущие платежи и возраста). Старый txns будет удален из локального кэша некоторых DHT узлов. В том случае, 5 лет, 1 Satoshi выход используется в будущем блоке, эти узлы могли trustlessly запросить копию от DHT.

++1
onemorebtc сейчас офлайн Пожаловаться на onemorebtc   Ответить с цитированием Мультицитирование сообщения от onemorebtc Быстрый ответ на сообщение onemorebtc

23 июня 2014, 5:59:18 PM   # 8
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

У меня есть подозрение, что сделки не uniformely опрашивается, особенно если новые блоки будут опубликованы есть хороший шанс DHT узлы, проведение этих операций могут быть DDoSed ...

Хорошие моменты, чтобы рассмотреть, но я считаю, что они могут быть обойдены.

Во-первых соображений эффективности было бы целесообразно для всех узлов DHT, чтобы сохранить "полный локальный" кэш последних блоков. Как "недавний" является недавнее, вероятно, нуждается в некоторых исследованиях, но цель будет уменьшить накладные расходы в случае реорганизации;. Я думаю, что сохранение "один блок день" (144 блоков) кончик blockchain бы хороший компромисс между хранением и эффективностью. По тем же причинам DHT узлы также сохраняют полную UTXO и весь пул памяти. не Это не было бы возможным DDOS распространения новых блоков (или, по крайней мере, не проще, чем делать это в настоящее время с полными узлами), так как все узлы DHT будут иметь копию UTXO и память пула означают, что DHT узлы не должны полагаться на ДГТ для проверки новых блоков.   

Теоретически можно было бы DDOS на самонастройку новых узлов, блокируя подмножество узлов в сети. Один должны были бы DDOS всех узлов, которые содержат это подмножество плюс все полные узлы. Помните, полные узлы могли бы работать прозрачно сети DHT просто является узлом которого DHT доля составляет 100%. Один из способов, чтобы посмотреть на него используют определение торрента. Bittorrent смотрит на наличии торрентов по количеству полных копий имеющегося (в том числе всех подмножеств), так 12,8 будет означать, что объединенные все семена и сверстники имеют 12,8 копий. Bitcoin сейчас только "семена" поэтому наличие СУММ (1.00 * num_full_nodes). В соответствии с системой DHT доступность будет SUM (average_dht_share * num_DHT_nodes). В то время как возникновение, что узлы запроса индивидуального TXN будет варьировать точку в ДГТ, чтобы распределить эту нагрузку равномерно. Данный TXN может быть запрошен на более высокой частоте, но в качестве примера txns с TXID, начиная с "е" вероятно, не запрашивается значительно более или менее TXN, начиная с "е",

котировка
Кроме того, это может иметь последствия конфиденциальности (DHT узлы зная, кто запрашивает, для которых TXIDs).

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

23 июня 2014, 6:00:02 PM   # 9
 
 
Сообщения: 279
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

Я нашел стоимость хранения полного блока цепи менее чем $ 2,00 в дисковом хранилище, и это стоимость один раз, что хорошо для жизни жесткого диска. К сожалению, я уделяю много раз это много каждый месяц для DSL Интернета, который имеет пропускную способность маргинальной восходящей линии для запуска полного узла. Для меня, по крайней мере, дисковое пространство фактически свободна по сравнению с пропускной способностью.

tl121 сейчас офлайн Пожаловаться на tl121   Ответить с цитированием Мультицитирование сообщения от tl121 Быстрый ответ на сообщение tl121

23 июня 2014, 6:07:56 PM   # 10
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

я не думаю, что вы можете применять, что на уровне протокола. что если многие узлы просто решить (!), чтобы просто держать uxto и выбросить все остальное?
это может привести к архивным узлам, которые будут получать оплату от новых компаний (шахтеров, "банки"?) Пытается войти в рынок - и закрыть все остальные из

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

Скажем, сегодня есть 10000 полных узлов. Это означает, что есть 10000 независимые копии множества TxN. Теперь представьте себе, эти 10000 узлов были заменены х DHT узлов, объединенных было 10000 полных копий набора TxN. С точки зрения децентрализации ничего не изменилось. Я бы утверждать, что снижение требований помогает сети позволит увеличить количество пользователей, желающих помочь.

Сегодня у вас есть два варианта
а) выполнить полный узел (а не в КБ меньше)
ИЛИ
б) использовать SPV или другой метод, который не поддерживает сеть на всех

Под моделью DHT вы до сих пор есть те же два варианта плюс
в) запустить узел DHT и поддерживать независимую копию некоторой части (>0% и <100%) множества TXN. Плюс полная копия UTXO и полная копия восстановленных блоков.

котировка
но я не люблю фразы, как "Я не верю, что когда-либо будет не копия blockchain"
Ну вы ЛИЧНО можете гарантировать, что это всегда так, всегда сохраняя полную копию. Сеть DHT не изменит. Если кто-то под модель DHT не желает поддерживать сеть, выполняя часть blockchain, а они, вероятно, еще менее вероятно, чтобы поддерживать сеть, выполнив полный узел. Же риск относится и если вы чувствуете, что является надежным риском хорошо, то я бы не проведения какого-либо Bitcoins как протокол потерпит неудачу, если есть когда-либо момент время, когда нет полной (децентрализованной или иным образом) копии blockchain существует. 
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

23 июня 2014, 6:33:12 PM   # 11
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

DHT узлов, будет хранить заголовок блока & набор TxN хэшей. Как первоначально предлагались для этого потребуется новое сообщение для ретрансляции уменьшенного блока. Альтернатива, которая может работать лучше, будет иметь новый тип инвентаря merkletree.  Это позволит DHT узлов использовать существующие getheaders сообщение, а затем запросить TxN хэшей с помощью последующего сообщения (getmerkletrees) после того, как самая длинная цепь была загружена и проверена. Поддержка этого не нужно ограничиваться DHT узлов. Полные узлы могут быть обновлены для поддержки этого, как хорошо, и это было бы оптимальным, если они сделали. Это будет иметь дополнительное преимущество в уменьшении времени распространения нового блока, а также.

В конечном счете различие полного узла может быть устаревшим. Полные узлы и узлы DHT будет просто "узлы" которые определяют, что подмножество TXN установлено они сохраняют. Некоторые узлы сохранят <100% от "Архивный набор TXN", Некоторые сохранили бы 100%, а некоторые (SPV + узлы) сохранит 0% (но они сохранят blockheaders и потенциально Merkle деревья). Однако для самозагрузки всмотреться есть небольшая разница между одним узлом, который установил полный txns или набор узлов, которые по отдельности не только в сочетании до. Во избежание перегрузки один Noode, самозагрузкой ровесники будут оптимально использовать несколько узлов в любом случае, даже если у них есть доступ к узлу, который содержит всю необходимую информацию.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

25 июня 2014, 4:43:46 PM   # 12
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

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

25 июня 2014, 7:18:12 PM   # 13
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

Основная проблема работы полного узла является пропускной способностью, а не хранение. 23.8GB ничего для современных жёстких дисков, и является доступным даже с SSD

Согласовано и, возможно, это будет не проблема, если полные узлы просто были лучше выбор сверстников и регулирование полосы пропускания функции. В то время как дигидротестостерон не может уменьшить требования к пропускной способности (они фактически увеличить на определенный процент) требование пропускной способности каждого узла может быть уменьшена, если есть большее количество узлов. Сегодня у вас есть очень бинарный выбор. Вы либо являетесь полным узлом стоимости ~ 25GB плюс потенциально более высокие требованиями к пропускной способности или использовать облегченный клиент и не поддерживают сети вообще. Мое предположение, есть некоторые пользователи, которые были бы готовы поддержать сеть в ограниченной степени.  

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

Так что позволяет игнорировать эффективность протокола для всего второго и посмотреть на необработанных данных, которые должны распространяться. Новый 1MB блок каждые 600 секунд является 13kbps. За исключением протокола накладных расходов сеть добавляет 13kilobits новых информационного каждую секунду. Средний узел будет необходимо как получать и отправлять эту новую информацию, чтобы мы смотрим на 26kbps плюс накладные расходы протокола. Теперь это только один узел стоимость группы узлов остается актуальной. Допустим, один новый узел присоединяется к группе. Новый узел должен будет получить 20GB информации. Для того, чтобы сделать это в один день требует нового узла получить 230 кбит. Эта нагрузка амортизируется число узлов, которые могут помочь в этом процессе. В зависимости от соотношения между начальной загрузки узлов и узлов, которые могут помочь, которые потенциально могли бы быть выше, чем стоимость, чтобы оставаться синхронизирован.  

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

Так что сводится к этому вопросу:
Будет ли снижение требований к хранению данных узла от 80% до 90%, умнее балансировки нагрузки одноранговых узлов и включая ограничение пропускной способность вариантов узлов значительно увеличить количество узлов? Если ответ нет, то ничего не получается. Если ответ да, то безопасность может быть улучшена, и на узел стоимость полосы пропускания может быть уменьшена.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

26 июня 2014, 4:26:32 AM   # 14
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование DHT для уменьшения потребности в ресурсах полных узлов.

Всякий раз, когда вы слышите термин DHT, что вы должны слышать это "Общий фарс отказа сопротивления атаки"- существующие системы DHT и предложения тривиальным уязвимы для атак во множестве путей и являются достаточно хрупкими, что они, как правило, работают плохо или не напрямую с пугающей частотой, даже если не атаковали. Они обычно является усложненной под выполнение решения, которое получают вызывается в незнании каждой распределенной проблемы систем, потому что они первый инструмент, распределенные системы люди слышали (к сожалению, "blockchain" это, кажется, украсть эту роль), сколько "нейронная сеть" уже зараженные скрутки понимания машинного обучения, или, возможно, в другое время "XML" рассматривалось как магическое решение для между рабочей сериализации в тех местах, где мало смысла.

Несколько DHT-х, которые существуют, которые предложены в атаке устойчивы в любых серьезных ПУТЬ такие вещи, как маршрутизация CJDNS или Freenet- работы путем наложения «социальной» сетевой топологии линии связи в сети, которая требуется (по предположениям безопасности), чтобы по степени предсказательница доказательство. ... Довольно сильное требование.

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

Для проверки блока мы должны подтвердить, что входы для операций, которые он содержит в spendable-, что они ранее были созданы в одной и той же цепи, и (пока) не были spent- для этого все узлы требуют одни и те же данные, а не случайные данные. Мы даже не требуют полных предварительных операций, только TXouts (потенциально уменьшая десятки килобайт до десятков байт данных).

Если у нас нет этой информации, но могли бы проверить его, если он был передан нам (например, если бы мы отслеживали убежденным UTXO набор корневой хэш) наш равный может предоставить его нам вместе с блоком. До тех пор, как мы _любой_ всмотреться готовы дать нам блок мы имеем гарантированный способ получить требуемое DATA- немедленного устранения большинства слабых DHT атак (в литературе иногда системы со свойствами, как это называют D1HTs).

К сожалению, получение только во времени данных поставляется с большим накладным пропускной способности: Если вы не хранить вообще ничего, то все данные, вы получите должны прийти с фрагментами хеш-дерева, подтверждающие их членство: С условность хэш деревьев каждый txin требует от порядка а 768 байт пробных данных ... и с текущей пропускной технологией является гораздо более ограниченными, чем хранение, так что это не может быть большим компромиссом. Одним из возможных вариантов является то, что с некоторыми незначительными изменениями узлов может случайным образом проверять фракции блоков (и использовать информацию Теоретико PIR, чтобы скрыть от коллег, какие части они проверочных), и рассылает мошенничества уведомления (извлекаемые данные, необходимые, чтобы доказать себе, что блок плохо), если они находят проблемы. Это может быть хорошим вариантом, чтобы уменьшить использование полосы пропускания для краевых клиентов, которые в настоящее время не проверяют ничего, но это не полезно в целом (так как один хмель от края хост должен иметь полный блок) ... Я бы сказал, что это было бы ежу понятно, но получение редко выполняется мошенничества доказательства codepaths правильно, может быть слишком много инженерной задачей (не учитывая уровень реализации альт отказа были с правилами консенсуса в Bitcoin как есть).

Управление хранения также не имеет какую-либо необходимости в виде сложного DHT-, поскольку 0,8 опорный клиент отделяет хранение UTXO и данных блока. UTXO, хранится в каталоге chainstate, является эксклюзивной структурой данных, используемой для проверки новых блоков. Блоки сами используются только для реорганизаций и прикорма новых узлов, которые запрашивают сам по нет случайного доступа используется или требуется для данных транзакций. Если удалить тест для блока данных в init.cpp узел будет счастливо начать со всеми старыми блоками удаленных и будет работать более или менее правильно, пока вы не вызвать getblock / и т.д. Rpc, который считывает данные блока правильно или до новой инициализации пэра запрашивает данные старого блока от вас. Данные chainstate в настоящее время около 450MB на диске, так что с этим плюс некоторые недавние блоки для реорганизации вы можете уже работать полный узел проверочный. Задача инициализации нового узла требует проверок исторических блоков таким образом, чтобы приспособить, что в мире с большим количеством узлов обрезки мы хотим добавить некоторые данные в адре сообщения, но несколько диапазонов обслуживаемых блоков не является довольно-нет необходимости для маршрутизации или другой разработки. И диапазоны блоков соответствуют локальность доступа, поэтому нет никаких накладных расходов (за пару байтов в адр сообщений).

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

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

котировка
Во-первых соображений эффективности было бы целесообразно для всех узлов DHT, чтобы сохранить "полный локальный" кэш последних блоков. Как "недавний" является недавнее, вероятно, нуждается в некоторых исследованиях, но цель будет уменьшить накладные расходы в случае реорганизации;. Я думаю, что сохранение "один блок день" (144 блоков) кончик blockchain бы хороший компромисс между хранением и эффективностью.

Анализ СИПА около года назад было то, что есть экспоненциальный хвост частот доступа блоков следует экспоненциально затухающая модель до ~ 2000 блоков назад, и после этого имеет равномерную вероятность доступа (дальше, чем 2000 и запрашивающий прошу хозяин все они в порядке), поэтому было бы целесообразно, чтобы попытаться иметь хосты магазин столько, сколько первый 2000 или около того, как они могут, а затем использовать дополнительное пространство для случайного диапазона или два в истории. Я считал бы 144, чтобы быть вменяемым минимум потому, что с меньшими затратами, чем что долго реорганизации может вызвать серьезные проблемы.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW