Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
25 июля 2013, 10:51:53 AM   # 1
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Детектирование и обработка событий разветвления

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


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

Это означает, что все узлы договариваются о правилах сети.

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

Это произошло во время обновления до 8.x.

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

Пример, где есть 2 вилки

Вилка A:
75% шахтеров думают, что это действует
75% шахтеров думают, что это самая длинная вилка

Вилка B
100% шахтеров думают, что это действует
25% шахтеров думают, что это самая длинная вилка

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

Идеальное решение в том, что все шахтеры переключиться на вилке B, так как 100% шахтеров считают действительным.

обнаружение

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

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

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

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

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

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

Меры предосторожности

Лучшее решение для предотвращения проблемы происходит в первую очередь.

Бассейны следует рекомендовать, чтобы запустить все популярные версии клиента. Если какой-либо из клиентов отказаться от блока, то пул должен отклонить блок (или, по крайней мере, прекратить строительство на нем). Я думаю, что некоторые бассейны уже делают это?

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

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

Пулы могут опубликовать блоки, которые были отвергнуты и которые клиент имел проблемы. Клиентские Сопровождающие можно было бы ожидать, чтобы обновить свое программное обеспечение быстро.

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

Реагируя

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

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

Это означает, что клиент может дать несколько счетчиков подтвердить для каждой транзакции.

"Подтверждено 6/25" означает, что она имеет 6 подтверждает на главной цепи и 25 подтверждает на альтернативной цепи. Это указывает на то, что клиент отслеживает цепь меньшинства, так как "альт" цепь имеет больше энергии, чем хэширования основной цепи.

Аналогично, 6 / D, будет означать, что она имеет 6 подтверждает на главной цепи, но уже дважды провели на альтернативной цепи.

"подтверждает" Общее будет самым низким из всех живых вилок.

Шахтеры должны сканировать обе вилки для операций и отвергают любые, которые дважды тратит. 

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

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

Активный Реагируя

Если шахтер замечает, что есть 2 вилки, и оба правильны, они могут переключиться на тот, который принимается большинством шахтеров.

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

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


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


25 июля 2013, 12:15:45 PM   # 2
 
 
Сообщения: 200
Цитировать по имени
цитировать ответ
по умолчанию Re: Детектирование и обработка событий разветвления

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





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

25 июля 2013, 1:07:04 PM   # 3
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: Детектирование и обработка событий разветвления

Очень крутое предложение.

Если я могу предложить одну вещь: вместо того, чтобы импровизировать свои собственные меры доверия и политики решения использовать существующий математический аппарат http://en.wikipedia.org/wiki/T-norm_fuzzy_logics где BOOL не дискретнозначные [ложный,правда] А реальное значение на единичном интервале [0,1].

Довольно фотографии здесь: http://en.wikipedia.org/wiki/T-norm и здесь: http://en.wikipedia.org/wiki/Construction_of_t-norms , но дело в том, чтобы смотреть на них, чтобы избежать выбора то, что уже известно, не в состоянии произвести самосогласованные результаты.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

25 июля 2013, 2:00:48 PM   # 4
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Детектирование и обработка событий разветвления

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

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

Право точно. Поэтому все заголовки должны быть направлены (даже если клиент.

"цепь" это на самом деле не цепь, это дерево. Однако, как правило, основная отрасль является единственной, который расширяется. Дерево становится одной ветви с несколькими маленькими ветвями бесхозными.

Когда вилка случается, есть 2 ветви, которые расширяются. Заголовки должны быть перенаправлены, если они распространяются на дереве, даже если они не являются частью основной ветви (и даже если блоки, которые они представляют, являются недействительными).

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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW