Pages:
Author

Topic: Проверка подписи, а не хешей блоков - page 2. (Read 375 times)

member
Activity: 280
Merit: 26
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
Сразу возникает вопрос: как эта затраченная работа суммируется?
Скажем, лишний ноль в хэше - грубо соответствует в два раза большей сложности. Т.е., если мне повезло намайнить лишних 4 нуля - магнолия могу ли я одним таким блоком заорфанить три других, с обычной сложностью?
Нет.

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

То  есть, предыдущий автор был не совсем прав.

Тогда другой вопрос: откуда берётся "таргет сложности" "исторических" блоков?
Т.е., я взял и начал переписывать блохчейн с начала: переписал почти весь на околонулевой сложности, а последних пару блоков - на текущей, и мой блохчейн получился длинее и толще. Или не получился?

Не получился.

В биткоине сложность пересчитывается каждые 2016 блоков - https://bitcoinwisdom.com/bitcoin/difficulty

Эти 2016 блоков должны быть найдены в течении 2 недель. Если это количество находится быстрее 2 недель - сложность увеличивается; если медленнее - уменьшается. Это нужно для того, что бы средний промежуток времени между блоками соответствовал 10 минутам.

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

Предыдущий автор прав.

Ну вы ж понимаете (ну, я надеюсь), что таймстамп-то можно любой поставить.
legendary
Activity: 3486
Merit: 1100
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
Сразу возникает вопрос: как эта затраченная работа суммируется?
Скажем, лишний ноль в хэше - грубо соответствует в два раза большей сложности. Т.е., если мне повезло намайнить лишних 4 нуля - магнолия могу ли я одним таким блоком заорфанить три других, с обычной сложностью?
Нет.

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

То  есть, предыдущий автор был не совсем прав.

Тогда другой вопрос: откуда берётся "таргет сложности" "исторических" блоков?
Т.е., я взял и начал переписывать блохчейн с начала: переписал почти весь на околонулевой сложности, а последних пару блоков - на текущей, и мой блохчейн получился длинее и толще. Или не получился?

Не получился.

В биткоине сложность пересчитывается каждые 2016 блоков - https://bitcoinwisdom.com/bitcoin/difficulty

Эти 2016 блоков должны быть найдены в течении 2 недель. Если это количество находится быстрее 2 недель - сложность увеличивается; если медленнее - уменьшается. Это нужно для того, что бы средний промежуток времени между блоками соответствовал 10 минутам.

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

Предыдущий автор прав.
member
Activity: 280
Merit: 26
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
Сразу возникает вопрос: как эта затраченная работа суммируется?
Скажем, лишний ноль в хэше - грубо соответствует в два раза большей сложности. Т.е., если мне повезло намайнить лишних 4 нуля - магнолия могу ли я одним таким блоком заорфанить три других, с обычной сложностью?
Нет.

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

То  есть, предыдущий автор был не совсем прав.

Тогда другой вопрос: откуда берётся "таргет сложности" "исторических" блоков?
Т.е., я взял и начал переписывать блохчейн с начала: переписал почти весь на околонулевой сложности, а последних пару блоков - на текущей, и мой блохчейн получился длинее и толще. Или не получился?
legendary
Activity: 3486
Merit: 1100
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
Сразу возникает вопрос: как эта затраченная работа суммируется?
Скажем, лишний ноль в хэше - грубо соответствует в два раза большей сложности. Т.е., если мне повезло намайнить лишних 4 нуля - магнолия могу ли я одним таким блоком заорфанить три других, с обычной сложностью?
Нет.

Затраченная работа суммируется в блоках как неделимых еденицах, сложность которых, или количество нулей в них, может быть каким угодно, но не может быть меньше таргета сложности алгоритма консенсуса по которому строится блокчейн.
member
Activity: 280
Merit: 26
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
Сразу возникает вопрос: как эта затраченная работа суммируется?
Скажем, лишний ноль в хэше - грубо соответствует в два раза большей сложности. Т.е., если мне повезло намайнить лишних 4 нуля - магнолия могу ли я одним таким блоком заорфанить три других, с обычной сложностью?
legendary
Activity: 2450
Merit: 2190
1. вы принцип работы pow понимаете? pow в текущем блоке перебирает nonce, до тех пор пока хеш блока не будет иметь в начале N нулей. так проверяется блок на валидность и соединяется с предыдущим блоком.
Дело в том, что на вход хеш-функции подаётся не только nonce, но и хеш предыдущего блока. Таким образом, получается цепочка блоков, связность которой можно легко проверить.

2. альтернативная цепочка отбрасывается, если она не самая длинная
Главная цепочка должна быть не только длиннее по количеству блоков, чем конкурирующая, но на неё ещё дожно быть затрачено больше работы.
member
Activity: 280
Merit: 26
Да помилуйте, какое "держитесь" - тут чисто медицинское любопытство.
Вот вы, я вижу, словарик юного либерала детсадовских отвечалок плотно скурили. Просто любопытно, а своими словами умеете?
(Впрочем, не трудитесь - из дискуссии вижу, что нет.)
Жесть.
Зачем вы здесь?

Так ведь, я одному из поциентов (да, тепрь их оба-два) задал вопрос по теме, на который он не ответил - а между тем, он из этих своих неотвеченных вопросов продолжает строить доказательсва, что блохчейнюбераллес.
Ну а потом, невежливо же сразу посылать на йух аффтора, когда он вполне культурно к тебе обращается. Вот, как вы, например.
jr. member
Activity: 54
Merit: 1
Жесть.
Зачем вы здесь?

Будьте добры, не забивайте топик выяснением отношений.
full member
Activity: 411
Merit: 135
Да помилуйте, какое "держитесь" - тут чисто медицинское любопытство.
Вот вы, я вижу, словарик юного либерала детсадовских отвечалок плотно скурили. Просто любопытно, а своими словами умеете?
(Впрочем, не трудитесь - из дискуссии вижу, что нет.)

Жесть.
Зачем вы здесь?
member
Activity: 280
Merit: 26
вы молодец, держитесь до последнего, так и продолжайте

Да помилуйте, какое "держитесь" - тут чисто медицинское любопытство.
Вот вы, я вижу, словарик юного либерала детсадовских отвечалок плотно скурили. Просто любопытно, а своими словами умеете?
(Впрочем, не трудитесь - из дискуссии вижу, что нет.)
legendary
Activity: 2314
Merit: 2300
1. вы принцип работы pow понимаете? pow в текущем блоке перебирает nonce, до тех пор пока хеш блока не будет иметь в начале N нулей. так проверяется блок на валидность

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

Перебирать noncе нужно при создании нового блока. Создание блока и его валидация - это совершенно разные операции.  

Quote
и соединяется с предыдущим блоком.

Чтобы текущий блок соединить с предыдущим, необходимо, чтобы на вход хеш-функции вместе с noncе подавался ещё и хеш предыдущего блока. Если вы с этим не согласны, то что вы вкладываете в понятие "соединяется с предыдущим блоком"?

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

нода 1: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333)
нода 2: блок 100 (nonce 11111) - блок 101 (nonce 88888) - блок 102 (nonce 99999)
нода 3: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333) - блок 103 (nonce 44444)
result:
нода 2 принимает длинную цепочку по правилам сети: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333) - блок 103 (nonce 44444)

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

Вот, поступил на ноду 2 блок 103 (nonce 44444). Как этой ноде понять, что предыдущий блок для этого блока - это блок 102 (nonce 33333), а не блок 102 (nonce 99999)?
member
Activity: 202
Merit: 27
Atom foundation
legendary
Activity: 2314
Merit: 2300
Вот у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом.
Тамо Херовато есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.
Что делать будешь?

Педро Хуэрес получает блоки 101 и 102 от slushpool.com, проверяет, что 101 ссылается на 100, а 102 на 101 и добавляет эти блоки в свою основную цепочку.

Когда ему приходят блоки 101 и 102 от viabtc.com, он проверят, что 101 ссылается на 100, а 102 на 101, но это уже не те блоки, что есть в основной цепочке, а значит из них можно составить альтернативную цепочку с точкой разветвления на блоке 100.

Дальше считается совокупная сложность основной и альтернативной цепочек: суммируются сложности блоков 101 и 102 в основной и альтернативной цепочках, и где сумма получается меньше, та цепочка и отбрасывается. Но, допустим, в нашем случае сложность не менялась, и совокупные сложности в обеих цепочках получились одинаковые. Поэтому, ничего Педро Хуэрес не отбрасывает, а ждёт следующего блока.

Приходит блок 103 от viabtc.com. Педро Хуэрес точно знает из какой он цепочки, потому что блок 103 хранит хеш конкретного блока 102 из альтернативной цепочки. Теперь у Педро Хуэреса есть две цепочки разной длины: основная 101 - 102, и альтернативная 101 - 102 -103. Выживает длиннейшая (по совокупной сложности) цепочка, поэтому блоки 101 и 102 от slushpool.com выкидываются, а альтернативная цепочка 101 - 102 - 103 от viabtc.com становится основной.

Как этот фокус проделать, если в блоке не будет храниться ссылка на предыдущий блок - я не в курсе.
member
Activity: 202
Merit: 27
Atom foundation
если вам грустно, не значит, что грустно всем.

О, детсадовское "самдурак", кто бы сомневалсо.

вы молодец, держитесь до последнего, так и продолжайте

если кто-то имеет более длинную цепочку и верные nonce, то принимаем его цепочку

Не, я всё равно не понимаю, как определить, с какого блока начинается альтернативная цепочка.

Рассмотрим ситуацию. Китайцы решили добывать кальмаров, путём подрыва глубоководных ядерных фугасов. Капитан рыболовецкого судна "Хуй На Буй" перепутал координаты сброса фугаса, в результате чего, взрывом был повреждён подводный кабель, соединяющий Азию с Северной и Южной Америками.

Связь Азии с Америками была прервана на 26 минут, столько времени понадобилось для создания альтернативного маршрута через Австралию. Кроме того, канал Европа - Азия оказался перегружен, из-за попыток перенаправить траффик из Азии в Америку через Европу. Связь между Европой Азией в это время была неустойчивой.

До момента разрыва связи нода колумбийского председателя колхоза, занимающегося выращиванием коки, Педро Хуэреса, и нода его японского контрагента Тамо Херовато содержат одинаковые цепочки с последним блоком №100.  

 Grin Grin Grin Grin Grin жжошь

если кто-то имеет более длинную цепочку и верные nonce, то принимаем его цепочку
Теперь получается, что и у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 и у Тамо Херовато есть цепочка 100 - 101 - 102 - 103, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.

Это какая-то лажа получается. Что делать? Связывать блоки друг с другом криптографически при помощи PoW.

А что изменится если ты криптографически их соединишь?

Вот у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом.
Тамо Херовато есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.
Что делать будешь?

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

ps: ладно, блокчейн наше все, я так ради интереса завел дискуссию. можно закрывать. В действительно много косяков будет вскрываться, если такая система будет работать в реале.
legendary
Activity: 2314
Merit: 2300
если кто-то имеет более длинную цепочку и верные nonce, то принимаем его цепочку

Не, я всё равно не понимаю, как определить, с какого блока начинается альтернативная цепочка.

Рассмотрим ситуацию. Китайцы решили добывать кальмаров, путём подрыва глубоководных ядерных фугасов. Капитан рыболовецкого судна "Хуй На Буй" перепутал координаты сброса фугаса, в результате чего, взрывом был повреждён подводный кабель, соединяющий Азию с Северной и Южной Америками.

Связь Азии с Америками была прервана на 26 минут, столько времени понадобилось для создания альтернативного маршрута через Австралию. Кроме того, канал Европа - Азия оказался перегружен, из-за попыток перенаправить траффик из Азии в Америку через Европу. Связь между Европой Азией в это время была неустойчивой.

До момента разрыва связи нода колумбийского председателя колхоза, занимающегося выращиванием коки, Педро Хуэреса, и нода его японского контрагента Тамо Херовато содержат одинаковые цепочки с последним блоком №100.  

За эти 26 минут китайский пул viabtc.com сгенерировал 2 блока - 101 и 102. В то же время, европейский пул slushpool.com, не получив блоки от viabtc.com из-за плохой связи, сгенерировал свои блоки 101 и 102. Блоки 101 и 102 от этих двух пулов разные, они содержат как общие транзакции, так и отличающиеся.

У Педро Хуэреса связь с Европой есть, он принял блоки 101 и 102 от slushpool.com. Тамо Херовато, наоборот, принял блоки 101 и 102 от viabtc.com. И тут связь Азия - Америка восстанавливается, а Европа - Азия нормализуется.

Педро Хуэрес получает блоки 101 и 102 от viabtc.com, но отбрасывает их, ведь блоки с этими номерами у него уже есть. Тамо Херовато делает то же самое с блоками от slushpool.com. Тем временем, пул viabtc.com создаёт блок 103 и все его принимают.

Теперь получается, что и у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 и у Тамо Херовато есть цепочка 100 - 101 - 102 - 103, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.

Это какая-то лажа получается. Что делать? Связывать блоки друг с другом криптографически при помощи PoW.
member
Activity: 280
Merit: 26
А вы смешной
Ну я натурально рад, что поделал вам смешно - а то, вы как-то грустно выглядите.
member
Activity: 202
Merit: 27
Atom foundation
А вы смешной
Ну я натурально рад, что поделал вам смешно - а то, вы какой-то грустный.

Не хочу говорить, что вы странный и если вам грустно, не значит, что грустно всем.

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

И тут я понимаю, что мы ходим по кругу. В случае возникновения двух альтернативных цепочек, непонятно, как определить какой блок из какой цепочки. Если нода получит два блока с номером 101 и два блока с номером 102, как понять, какой блок с каким связан?


в данном случае, мы получаем блок с pow (который содержит nonce в этом блоке, который допустим создает хеш с 5 нулями). все. если кто-то выкачивает хоть сто блоков 101, то проверив nonce и если хеш с 5 нулями, добавляем его к себе под номером 101. если кто-то имеет более длинную цепочку и верные nonce, то принимаем его цепочку
legendary
Activity: 2314
Merit: 2300
например тем же POW. пакуем транзакции в блок. майнер проделывает работу с nonce и предлагает системе решение. все. блок все выкачивают, дают ему следующий номер.

И тут я понимаю, что мы ходим по кругу. В случае возникновения двух альтернативных цепочек, непонятно, как определить какой блок из какой цепочки. Если нода получит два блока с номером 101 и два блока с номером 102, как понять, какой блок с каким связан?
member
Activity: 202
Merit: 27
Atom foundation
Я вам про другое говорю - есть транзакция, она одна, в ней подпись. ее выкачивает вся сеть. что отбрасывать? проверили подпись, значит она валидная. rollback не нужен.

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

например тем же POW. пакуем транзакции в блок. майнер проделывает работу с nonce и предлагает системе решение. все. блок все выкачивают, дают ему следующий номер.
member
Activity: 202
Merit: 27
Atom foundation
Ну, если верить поциенту.
поциенты в больницы, а у нас тут дискуссия и как мне кажется довольно интересная

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

А вы смешной
Pages:
Jump to: