Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
9 июля 2011, 11:09:14 PM   # 1
 
 
Сообщения: 198
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Попытка работать свой путь через код в соответствии с принципом Ричарда Фейнмана обучения "То, что я не могу производить - Я не понимаю",   

Итак, я достиг другое место, я не понимаю. 

Каждый узел всегда считает самой длинной цепью правильным. Да?

ОК. Что произойдет, если есть две длинные цепи.

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

Это говорит: один узел (и, аналогично, blockexplorer) имеет в любой данный момент времени понятие о том, что является самой длинной цепи (даже если есть две одинаково длинные цепи). Я проверил код. В -printblock функциональности нет четкого ответа на это, и я еще не успел переварить алгоритмы реорганизации цепи, чтобы понять этот аспект.

Итак, предположим, что есть такая ситуация:

               ДО НАШЕЙ ЭРЫ
              /
GENESIS-A
              \
               X-Y

Что означает отдельный узел или блок исследователь считают самой длинной цепи? ГЕНЕЗИС-А-В-С или GENESIS-А-X-Y?

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

Но там может быть один интересный аспект здесь. Я думаю, что для стабилизации быстрой цепи, важно, что узлы выбрать ту же цепь, правильная цепочку. Предположим, 1/2 из узлов выбрать GENESIS-A-B-C, а другой 1/2 из узлов выбрать GENESIS-A-X-Y. В этом случае "боевой" для правильной правильной цепи может занять гораздо больше времени. Теперь предположим, что все узлы выбрать GENESIS-A-B-C. В этом случае "боевой" будет закончена довольно быстро (не обязательно в пользу GENESIS-A-B-C, хотя, но шансы на колеблющихся вперед и назад должно быть меньше).

Любые идеи по этому поводу?




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


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


9 июля 2011, 11:15:20 PM   # 2
 
 
Сообщений: 33
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

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





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

10 июля 2011, 1:23:46 AM   # 3
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

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

Чаще всего, вы получите 90% от мира, который видит один блок, и 10% того, что получает другой блок первым. Если сторона 10% не получает очень повезет, то 90% будет один, чтобы стать реальной цепи. Осиротел блок становится "инвалид."  Я считаю, что узлы, которые работали на этой ветке, будет видеть, какие транзакции должны быть повторно включены в новый филиал, но я не знаю, как эта часть работает точно.





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

10 июля 2011, 1:36:50 AM   # 4
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

ОК. Что произойдет, если есть две длинные цепи.
Тогда выбор цепи произвольно. В конце концов одна цепь станет больше, и проблема будет решать itsef.

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

котировка
Что означает отдельный узел или блок исследователь считают самой длинной цепи? ГЕНЕЗИС-А-В-С или GENESIS-А-X-Y?
На практике, в зависимости от того, что цепь увидел первый. В теории, это не имеет значения.

котировка
Но там может быть один интересный аспект здесь. Я думаю, что для стабилизации быстрой цепи, важно, что узлы выбрать ту же цепь, правильная цепочку. Предположим, 1/2 из узлов выбрать GENESIS-A-B-C, а другой 1/2 из узлов выбрать GENESIS-A-X-Y. В этом случае "боевой" для правильной правильной цепи может занять гораздо больше времени. Теперь предположим, что все узлы выбрать GENESIS-A-B-C. В этом случае "боевой" будет закончена довольно быстро (не обязательно в пользу GENESIS-A-B-C, хотя, но шансы на колеблющихся вперед и назад должно быть меньше).
Цепь уже стабилизируется быстро, потому что это займет, в среднем, несколько минут, чтобы продлить либо цепь. Если вы проектировали протокол, который пытался добавить блоки чаще, может быть, стоило бы стоимость дополнительных перестроек.
JoelKatz сейчас офлайн Пожаловаться на JoelKatz   Ответить с цитированием Мультицитирование сообщения от JoelKatz Быстрый ответ на сообщение JoelKatz

10 июля 2011, 1:38:55 AM   # 5
 
 
Сообщений: 59
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Предположим, 1/2 из узлов выбрать GENESIS-A-B-C, а другой 1/2 из узлов выбрать GENESIS-A-X-Y. В этом случае "боевой" для правильной правильной цепи может занять гораздо больше времени.

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

10 июля 2011, 12:53:16 PM   # 6
 
 
Сообщения: 198
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

...

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

10 июля 2011, 12:58:12 PM   # 7
 
 
Сообщения: 198
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Вершины процесс, который когда-либо "длинная цепь" они слышат о первом. 

Ага. Конечно.

Я не сделал фразу вопроса достаточно ясно. Я думал о следующей ситуации: узел загружается, bitcoind запускается ... читает диск файлы и находит индекс блока, где есть две длинные цепи. Программа будет предпочитать один из них. Какой он предпочтет? Я не смог найти этот ответ. Теперь я понимаю, что это на самом деле не очень важно. И я понимаю, что мне придется провести день или два понимания блока реорганизации ... 🙂

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

И снова: Если эта вещь (bitcoind) должны в конечном счете Takle на себя управление своими деньгами - я хочу, чтобы убедиться, как компьютерные ученый, я понимаю, каждый бит, что она делает. 
При р сейчас офлайн Пожаловаться на При р   Ответить с цитированием Мультицитирование сообщения от При р Быстрый ответ на сообщение При р

10 июля 2011, 2:20:31 PM   # 8
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Самая длинная цепь определяется как один с наиболее доказательством правильности работы.

Технически, "длина" каждой цепи является суммой (2 ^ 256, разделенной на мишени блока в) для данного блока плюс всех его предков.
Это число является статистически ожидаемым числом хэш были выполнены в цепи, и в настоящее время составляет около 4.1e19 (41000000000 млрд).
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

10 июля 2011, 8:45:21 PM   # 9
 
 
Сообщения: 198
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Самая длинная цепь определяется как один с наиболее доказательством правильности работы.

Технически, "длина" каждой цепи является суммой (2 ^ 256, разделенной на мишени блока в) для данного блока плюс всех его предков.

Ах. Это делает еще раз гораздо больше смысла! Конечно. Думаю, мне придется прочитать некоторые более Satoshi C ++ ...

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

10 июля 2011, 8:55:18 PM   # 10
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

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

10 июля 2011, 10:13:25 PM   # 11
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Самая длинная цепь определяется как один с наиболее доказательством правильности работы.

Я не уверен, что это правда.  

Это то, как это должно быть сделано, но не может быть, как это на самом деле сделано.

Можно даже определить его как сумму 1 /<хэш-значение> для всех блоков в цепи.

Значение трудности только меняется каждые 2160 блоков, поэтому в большинстве случаев 2 цепи будет иметь ту же трудность для блоков после раскола.

Если сумма (1 /<хэш-значение>) Был использован, то это было бы очень маловероятно, что связь будет.

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

               ДО НАШЕЙ ЭРЫ
              /
GENESIS-A
              \
               X-Y

Если B была хэш 0000000123 и X имел хэш 0000000122, то все, кто получил B хэш первым переключится на А, как только они получили блок A. C не будет, вероятно, никогда не будет найдено вообще.

Это будет короткое замыкание правила тай-брейк.

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

10 июля 2011, 11:05:34 PM   # 12
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Самая длинная цепь определяется как один с наиболее доказательством правильности работы.

Я не уверен, что это правда. 

Это то, как это должно быть сделано, но не может быть, как это на самом деле сделано.

Можно даже определить его как сумму 1 /<хэш-значение> для всех блоков в цепи.

Значение трудности только меняется каждые 2160 блоков, так в большинстве случаев 2 цепи будет иметь ту же трудность для блоков после раскола.

Если сумма (1 /<хэш-значение>) Был использован, то это было бы очень маловероятно, что связь будет.

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

               ДО НАШЕЙ ЭРЫ
              /
GENESIS-A
              \
               X-Y

Если B была хэш 0000000123 и X имел хэш 0000000122, то все, кто получил B хэш первым переключится на А, как только они получили блок A. C не будет, вероятно, никогда не будет найдено вообще.

Это будет короткое замыкание правила тай-брейк.

Он даже не потребует изменения правил сети. Горняки могли бы просто согласиться сделать это таким образом.

Да, но они не будут иметь ту же трудность после того, как следующий блок получил.

В вашем примере, A-B-C и A-X-Y имеют одинаковую юридическую силу, и каждый узел считает один он увидел первый, чтобы быть правдой. Этот вопрос будет решен по всей сети, когда либо D или Z находится рядом.

На практике это почти никогда даже получает далеко. Большую часть времени, либо С, либо Y решили бы вопрос между B и X.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

11 июля 2011, 11:10:31 AM   # 13
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Да, но они не будут иметь ту же трудность после того, как следующий блок получил.

Дело в том, что при наличии определенного правила в Тайбрейк, то один или другой может быть отброшен.

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

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

11 июля 2011, 2:08:15 PM   # 14
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Дело в том, что при наличии определенного правила в Тайбрейк, то один или другой может быть отброшен.

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

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

11 июля 2011, 2:34:37 ​​PM   # 15
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

С четко определенным правилом Тайбрейк, количество реорганизаций было бы намного выше.

Тем не менее, они будут продолжаться в течение более короткого периода времени.

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

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

11 июля 2011, 2:55:56 PM   # 16
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Что именно вы имеете в виду затраченных усилий?

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

11 июля 2011, 3:09:16 PM   # 17
 
 
Сообщения: 1582
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

В настоящее время, если есть вилка, она будет длиться в среднем 10 минут, пока один или другая половина сети не находит следующий блок.
Да, но это, как правило, небольшая часть сети, которая forkeds.
котировка
Предполагая, что большая часть сети сразу переключается на новый лучший, то меньше затраченных усилий. Преимущество заключается в том, что нет необходимости ждать следующего блока, чтобы вызвать разрыв галстука.
Я думаю, что это бессвязный аргумент. Либо вы считаете попытки создать блок, который не производит блок впустую усилий или нет. Но даже если сеть делится 50/50, это не имеет никакого смысла говорить узлы, работающие на проигравшей цепи впустую усилий. Они имели такой же шанс, чтобы произвести блок, как узлы на выигрышной цепочке.

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

11 июля 2011, 7:09:12 PM   # 18
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Да, но это, как правило, небольшая часть сети, которая forkeds.

С тай-брейком, даже то, что небольшая часть устраняется.

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

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

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

котировка
Мне не нравится идея, что 95% сети может быть на определенной цепочке и один узел производит новый блок и имеет 50% шанс заставить сеть для переключения.

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

11 июля 2011, 7:28:30 PM   # 19
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

Мне не нравится идея, что 95% сети может быть на определенной цепочке и один узел производит новый блок и имеет 50% шанс заставить сеть для переключения.

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

Но только если блок меньшинства передается в течение нескольких секунд блока большинства. В вашей системе, разворот может произойти через несколько минут, и это может вызвать REORG из не только 95% сети, но 100% (минус добыча узел злоумышленника).
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

12 июля 2011, 10:53:01 AM   # 20
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Что ИМЕННО означает «длинная» цепь?

В вашей системе, разворот может произойти через несколько минут, и это может вызвать REORG из не только 95% сети, но 100% (минус добыча узел злоумышленника).

Таким образом, вопрос

Сеть: ---->

B находится

Сеть: ----> A -> В

Операции B ГЭТ "подтверждены / 1"

В»найдено (с более низкой хэш) перед C найден.

Сеть: ----> A -> B»

Операции B перепутаны.

При нынешней системе, злоумышленник должен найти B «и C» до C найдено, для того, чтобы очистить B.

Компромисс в том, что при нынешней системе, все узлы не всегда согласны на то, что верхний узел. Во время вилки, некоторые узлы будут думать, сделка остается в силе, в то время как большая часть сети работает сторнировать их. С правилом тай-брейке B все узлы будут согласны, что B был отменен после того, как он был показан.
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