Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
13 мая 2013, 6:31:16 PM   # 1
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Как некоторые из вас, возможно, заметили, я работал над моей собственной реализацией узла Bitcoin. Во время этого процесса я нашел вещи, которые я хотел бы отметить, так что, возможно, они могли бы улучшить в будущем ...
В основном, все они пропускная способность сети тратить связаны между собой.

1. [EDIT: не важно]
Может быть, я не проверял его достаточно хорошо, но у меня сложилось впечатление, что оригинальный клиент, когда он посылает "getblocks", Он всегда спрашивает, как можно глубже - почему это сделать? Он просто создает ненужный трафик. Вы можете, конечно, оптимизировать его, без особых усилий.

2. [EDIT: не важно]
ИМО, вы должны также оптимизировать, как вы делаете "получить данные",
Не просто отправить GetData для всех блоков, которые вы не знаете, для всех коллег, в то же время - это безумие.
Вместо этого попытайтесь т.е. попросить каждый узел для другого блока - по одному, пока не соберете их всех ...

3. [EDIT: пожалуйста, сделайте ум]
Последний, но тем не менее важный.
Блоки становится все больше, но не было никаких улучшений к протоколу, вообще.
Вы не можете попросить то пэра для части блока - вам просто нужно скачать все 1Мбы его из одного IP.
Кроме того, каждый блок имеет точный хэш, так что это просто глупо, что во времена, когда даже MtGox API проходит через CloudFlare, чтобы сохранить пропускную способность, нет никакого решения, которое позволило бы узлу просто загрузить блок с сервера HTTP, и поэтому его вынуждена пиявки его из бедных, в основном DSL вооружен, сверстники.
Как я вижу это, решение было бы очень просто: каждый майнинг может легко использовать CloudFlare (или любой другой облачный сервис) для обслуживания блоков через HTTP.
Так что, если мой узел говорит "получить данные ...", Я не обязательно означает, что я хочу, чтобы это мегабайта данных от плохого узла и его тонкой связи DSL. Я был бы более чем счастлив просто получить URL, где я могу загрузить блок из - это, безусловно, будет быстрее, и не будет стекать пропускной способности восходящего канала партнёра, что много.


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

Кроме того, пожалуйста, не принимайте мою критику лично - это лишь в качестве обратной связи, указав области, которые я думаю, имеют важное значение для улучшения, еще потому официальный клиент Bitcoin уже съедает мое подключение к Интернету более эффективно, чем BitTorrent, и это очень не круто
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n


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


13 мая 2013, 6:38:34 PM   # 2
 
 
Сообщения: 1610
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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





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

13 мая 2013, 6:39:29 PM   # 3
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

На каком языке вы реализуете узел? Я имея представление о том и пишу одно, возможно, в C, но кто знает, я обычно не закончить проекты.
Я реализовал это, в Go языке:
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 6:52:58 PM   # 4
 
 
Сообщения: 1610
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

13 мая 2013, 6:56:27 PM   # 5
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

На каком языке вы реализуете узел? Я имея представление о том и пишу одно, возможно, в C, но кто знает, я обычно не закончить проекты.
Я реализовал это, в Go языке:
Я думал, что Moto языка Go является простым и эффективным, это будет даже хорошо работать?
Это простое и эффективное, и это, безусловно, хорошо работает.
Я бы даже рисковать с заявлением, что он работает лучше, чем текущий Satoshi клиент, хотя это занимает гораздо больше оперативной памяти, так что мы говорим о разных слоях абстракции здесь.
Crypto операция, вероятно, менее эффективны в Go, то, что OpenSSL дает, но мой клиент Go делает их только после проверки нового высокого блока против ожидаемой трудности - так реже ...

Но единственный способ убедиться, насколько быстро он на самом деле, чтобы проверить это самостоятельно
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 7:34:59 PM   # 6
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

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

13 мая 2013, 7:46:35 PM   # 7
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

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

13 мая 2013, 7:49:39 PM   # 8
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

1.
Может быть, я не проверял его достаточно хорошо, но у меня сложилось впечатление, что оригинальный клиент, когда он посылает "getblocks", Он всегда спрашивает, как можно глубже - почему это сделать? Он просто создает ненужный трафик. Вы можете, конечно, оптимизировать его, без особых усилий.

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

котировка
2.
ИМО, вы должны также оптимизировать, как вы делаете "получить данные",
Не просто отправить GetData для всех блоков, которые вы не знаете, для всех коллег, в то же время - это безумие.
Вместо этого попытайтесь т.е. попросить каждый узел для другого блока - по одному, пока не соберете их всех ...

Это не так, мы просим только для каждого блока один раз (и повторить попытку после тайм-аута), но это делается для одного партнера (не все, и не сбалансировано по всем узлам). Это известная вредность, но изменение не является тривиальным, так как это делается проверка.

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

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

Bitcoin Foundation только вокруг в течение года или около того, и они не контролируют развитие. Они платят зарплату Гэвина, но и другие разработчики являются добровольцами, которые работают на Bitcoin в свое свободное время.

котировка
Мы все знаем, что текущий протокол Bitcoin не масштабируется - так что было сделано, чтобы улучшить его?
Ничего!
Блоки становится все больше, но не было никаких улучшений к протоколу, вообще.
Вы не можете попросить то пэра для части блока - вам просто нужно скачать все 1Мбы его из одного IP.

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

котировка
Кроме того, каждый блок имеет точный хэш, так что это просто глупо, что во времена, когда даже MtGox API проходит через CloudFlare, чтобы сохранить пропускную способность, нет никакого решения, которое позволило бы узлу просто загрузить блок с сервера HTTP, и поэтому его вынуждена пиявки его из бедных, в основном DSL вооружен, сверстники.
Как я вижу это, решение было бы очень просто: каждый майнинг может легко использовать CloudFlare (или любой другой облачный сервис) для обслуживания блоков через HTTP.
Так что, если мой узел говорит "получить данные ...", Я не обязательно означает, что я хочу, чтобы это мегабайта данных от плохого узла и его тонкой связи DSL. Я был бы более чем счастлив просто получить URL, где я могу загрузить блок из - это, безусловно, будет быстрее, и не будет стекать пропускной способности восходящего канала партнёра, что много.

Есть много идей о том, как улучшить исторический блок загрузки. Я спорил для разделения между архивным хранением и свежим блоком релейной защитой, поэтому узлы могут быть полностью проверку активных узлов в сети без необходимости предоставлять какой-либо древний блок для тех, кто спрашивает. Что касается перехода к другим протоколам, есть bootstrap.dat поток, и там в последнее время говорят о другом механизме на рассылки Bitcoin-разработки.
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

13 мая 2013, 8:13:27 PM   # 9
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

Не уверен, что вы имеете в виду "как можно глубже", Мы всегда посылаем GetData, начиная с любым блоком, который мы уже знаем. Причина, начиная с ранних блоков и двигаться вперед, потому что проверка делается, этапы, и в каждой точке как можно больше уже подтверждено (как средство для предотвращения DoS-атак, в основном). Поскольку большинство проверок могут быть сделаны только тогда, когда у вас есть вся цепочка блоков от генезиса до одного проверяются, вы нуждаетесь в них более или менее в порядке.
То, что я имею в виду, когда клиент уже скачал полную цепочку - и в основном в ожидании нового блока.
Почему спросить 500 блоков обратно?

котировка
Это не так, мы просим только для каждого блока один раз (и повторить попытку после тайм-аута), но это делается для одного партнера (не все, и не сбалансировано по всем узлам). Это известная вредность, но изменение не является тривиальным, так как это делается проверка.
OK - чем я сожалею.
Это только доказывает, как мало я знаю о клиенте Bitcoin, так что я не должен изменить его

котировка
Существует одна стратегия, однако, что это в значительной степени приняты как способ пойти, но, конечно, кто-то еще должен реализовать, протестировать его, ... и это очень большое изменение. Основная идея заключается в том, что загрузка происходит в несколько этапов, а также, где первые только заголовки надуманным (с использованием getheaders) в процессе, подобном тому, как getblocks делается сейчас, только гораздо быстрее, конечно. Однако, вместо того, чтобы сразу извлечение блоков, подождите, пока длинная цепочка заголовков не доступна и проверено. Затем вы можете начать выборку отдельных блоков из отдельных сверстников, собрать их и проверить, как они подключены к сети. Преимущество заключается в том, что вы уже знаете, какая цепочка для извлечения блоков из, и не нужно делать вывод, что от того, что другие говорят вам.
Я видел getheaders, и я думал об использовании его. Но это будет в основном помочь только для начальной загрузки цепи.
Теперь я думаю, что если вы действительно хотите, чтобы объединить данные, которые вы получили от getheaders, с частями блоков, приобретенных у вас сверстников после того как они осуществили BIP37 (в противном случае она не будет намного быстрее) - то удач с этим проектом, человек!
Я имею в виду, я предпочел бы шаги ребенка - даже крайние, как с центральным сервером, с которого вы можете получить блок, по его хэшу. Я имею в виду: как дорого бы это? Но сколько пропускной бы это сохранить для этих бедных людей ..

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

котировка
Есть много идей о том, как улучшить исторический блок загрузки. Я спорил для разделения между архивным хранением и свежим блоком релейной защитой, поэтому узлы могут быть полностью проверку активных узлов в сети без необходимости предоставлять какой-либо древний блок для тех, кто спрашивает. Что касается перехода к другим протоколам, есть bootstrap.dat поток, и там в последнее время говорят о другом механизме на рассылки Bitcoin-разработки.
Я говорил больше о единичных блоков, доступны через HTTP - в тот самый момент, когда они были добыты.
Я думаю, что все, что вам нужно, это URL - поэтому он должен быть до равноправного выбрать, какой URL, чтобы дать вам. Пока хэш данных, загружаемых из там соответствует тому, что вам нужно, у вас нет оснований сомневаться в его метода. В противном случае, просто запретить ублюдок
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 8:22:30 PM   # 10
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

Почему спросить 500 блоков обратно?

Это не так, насколько я знаю. Он просит "до 500 блоков, начиная с хэш-X", Где X является последним известным блоком.

котировка
котировка
Существует одна стратегия, однако, что это в значительной степени приняты как способ пойти, но, конечно, кто-то еще должен реализовать, протестировать его, ... и это очень большое изменение. Основная идея заключается в том, что загрузка происходит в несколько этапов, а также, где первые только заголовки надуманным (с использованием getheaders) в процессе, подобном тому, как getblocks делается сейчас, только гораздо быстрее, конечно. Однако, вместо того, чтобы сразу извлечение блоков, подождите, пока длинная цепочка заголовков не доступна и проверено. Затем вы можете начать выборку отдельных блоков из отдельных сверстников, собрать их и проверить, как они подключены к сети. Преимущество заключается в том, что вы уже знаете, какая цепочка для извлечения блоков из, и не нужно делать вывод, что от того, что другие говорят вам.
Я видел getheaders, и я думал об использовании его.
Теперь я думаю, что если вы действительно хотите, чтобы объединить данные, которые вы получили от getheaders, с частями блоков, приобретенных у вас сверстников после того как они осуществили BIP37 (в противном случае она не будет намного быстрее) - то удач с этим проектом, человек!

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

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

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

13 мая 2013, 8:29:50 PM   # 11
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

Использование фильтрации Блум не может быть полностью жизнеспособны все же, я должен буду проверить. Большие изменения в первой загрузки и проверки заголовков, а затем загрузки и проверки самого блока. ИМХО, это единственный способ иметь синхронизации механизма, как быстро, стабильно и понятно (я не сомневаюсь, что есть и другие emchanisms, которые разделяют два из этих трех свойств ...).
Я до сих пор думаю, что простое решение, как "дайте мне эту часть этого блока / сделки", Будет иметь гораздо больше шансов на успех в краткосрочной перспективе.
И я также думаю, что было бы неплохо иметь что-то в краткосрочной перспективе

котировка
Какой протокол используется на самом деле выборки блоков в значительной степени ортогональным к логике принятия решения, что принести, и как проверить это, ИМХО.
Я не согласен. Если вы узел позади DSL, и у вас есть пропускная способность очень ограниченная загрузка, вы не хотите, чтобы служить блоки (и, возможно, даже сделки), если это не действительно необходимо.
Есть сервера там, подключенные к сети быстрой в мире - это вы должны использовать, так же, как вы можете. Кто остановит вас?
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 8:31:48 PM   # 12
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

котировка
Какой протокол используется на самом деле выборки блоков в значительной степени ортогональным к логике принятия решения, что принести, и как проверить это, ИМХО.
Я не согласен. Если вы узел позади DSL, и у вас есть пропускная способность очень ограниченную загрузку, вы не хотите, чтобы служить блоки, если это не действительно необходимо.
Есть сервера там, подключенные к сети быстрой в мире - это вы должны использовать, так же, как вы можете. Кто остановит вас?

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

13 мая 2013, 8:34:04 PM   # 13
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

Так что это на самом деле не так важно, как это?
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 8:48:51 PM   # 14
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

Но и для сделок - данные должны храниться на WWW серверах. Там нет экономических причин для извлечения их из Китая
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

13 мая 2013, 11:08:23 PM   # 15
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

котировка
Я до сих пор думаю, что простое решение, как "дайте мне эту часть этого блока / сделки", Будет иметь гораздо больше шансов на успех в краткосрочной перспективе.

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

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

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

14 мая 2013, 7:06:05 AM   # 16
 
 
Сообщения: 836
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

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

Сообщение шины BOP также предлагает API, чтобы получить блоки.
Grau сейчас офлайн Пожаловаться на Грау   Ответить с цитированием Мультицитирование сообщения от Grau Быстрый ответ на сообщение Grau

14 мая 2013, 8:08:54 AM   # 17
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

котировка
Я до сих пор думаю, что простое решение, как "дайте мне эту часть этого блока / сделки", Будет иметь гораздо больше шансов на успех в краткосрочной перспективе.

Я не понимаю вашу точку - это именно то, что фильтрация Bloom обеспечивает. Она развернута и работает для клиентов SPV уже несколько месяцев. Там не было никаких проблем с ним. Вы не можете использовать его в качестве полного узла, поскольку полный узел, по определению, должен загрузить полные блоки, как он должен знать о всех операциях.
Ну, вы только что сказали это сам: это фильтрация Блум не помогает вообще, если вы хотите иметь полный узел.
И я хочу, чтобы иметь полный узел - вероятно, как и большинство из вас, ребята там.
Так как же это нам поможет?

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

Что я имел в виду "дайте мне эту часть этого блока / сделки", Буквально  "дать мне X байт блока Y, начиная со смещения Z",
Таким образом, когда новый блок появляется в сети, и мне нужно, чтобы загрузить его, в то же время связано с рядом коллег, я не прошу каждого из них за тот же мегабайт данных - вместо этого я могу просто разделить работу на , скажем, 32KB кусков, и таким образом извлечь весь новый блок из моих сверстников гораздо быстрее.

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

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

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



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

14 мая 2013, 7:14:36 ​​PM   # 18
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

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

14 мая 2013, 7:17:19 PM   # 19
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

Вы пытаетесь решить несуществующую проблему: распространение блока не загружать полосу пропускания, ограниченное сегодня, так почему бы кто-нибудь добавить такую ​​функцию протокола? Вот почему я запутался. Вы просите что-то, что просто не ускорит ничего до.
Ну человек, если эта проблема несуществующая к вам, то я могу только позавидовать вам подключение к Интернету, что у Вас дома

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

и "распространение блока" это съедает ад много трафика для бедных пользователей Bitcoin - это не может быть проблемой для вас, но это проблема.
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

14 мая 2013, 7:37:34 PM   # 20
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: Немного критики о том, как клиент Bitcoin делает это

и "распространение блока" это съедает ад много трафика Bitcoins пользователей бедных - он не может быть проблемой для вас, но это проблема.

Если вы не имеете достаточную пропускную способность, чтобы быть CPU ограниченным, не пытаться запустить узел. SPV клиенты просто отлично подходит для любых потребностей пользователей, если вы не хотите, чтобы запустить майнинг или возможно управлять большим бизнесом. Если вы действительно хотите, перейдите получить сервер VPS; $ 20- $ 100 / месяц должен купить достаточно быстро один, по крайней мере, еще год или два.
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW