Author

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

jr. member
Activity: 98
Merit: 1
как бы там ни было, ссылка на предыдущий блок или сам заголовок блока это самая мала часть блокчейна, основная нагрузка это входы выходы транзакций и подписи к ним, экономически смысла делать безблоковую цепь нету, не много удастся сэкономить а ущерб будет огромный....
member
Activity: 280
Merit: 26
Я извиняюсь, все собираюсь оформить в виде единого систематизированного документа. Просто подумал вначале потренироваться на кошках, выкладывая наработки кусочками, но как я понял (в т.ч. по соседней ветке) их по отдельности не понять. Еще раз прошу прощения...

Да не нужно извиняться, но по кускам и несистематизировано - понимать действительно трудно.
full member
Activity: 411
Merit: 139
У меня была такая мысль, что все что сложнее 2+2 лучше не обсуждать.

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

А когда сразу начинаются какие-то не особо существенные детали, да ещё и не особо систематизированные - создаётся впечатление, что автор сам не вполне понимает, что же он пытается донести до публики.

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


member
Activity: 280
Merit: 26
У меня была такая мысль, что все что сложнее 2+2 лучше не обсуждать.

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

А когда сразу начинаются какие-то не особо существенные детали, да ещё и не особо систематизированные - создаётся впечатление, что автор сам не вполне понимает, что же он пытается донести до публики.
full member
Activity: 411
Merit: 139
Я вот хотел сперва начать комментировать по пунктам, но на самом деле, проще сказать, что опутывание (относительно простого) алгоритма разными запутанными правилами добавляет только путаницы, но не безопасности.

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


Quote
Ещё лучше: нода, которая отправила заведомо неправильную транзакцию (дабл спендинг, например) - банится.
Правда, это никак не решает проблему гарантированной селекции правильных транзакций (блоков) от заведомо неправильных
Ага, это есть в биткоине, но это никак не помогает увеличить скорость транзакций - например за счет уменьшения количества проверок транзакций. Т.к. ну и что что ноду можно забанить, если транзакция неверна, а ты поверил, то и тебя забанят. Вобщем бан это инструмент только для защиты от ДДос атак.

member
Activity: 280
Merit: 26
...много...

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

Quote
Нода, которая отправила заведомо неправильную цепочку - банится.

Ещё лучше: нода, которая отправила заведомо неправильную транзакцию (дабл спендинг, например) - банится.

Правда, это никак не решает проблему гарантированной селекции правильных транзакций (блоков) от заведомо неправильных.
full member
Activity: 411
Merit: 139
Интересно, можно ли придумать более устойчивый алгоритм, не требующий чекпоинтов.
Например будет ли устойчив алгоритм, основанный на принципах:
1. При выборе текущей ветки блоков - выбирается цепочка с максимальной мощностью.
2. Сложность цепочки определяется как сумма мощностей всех ее блоков.
3. Под мощностью понимается логарифм проделанных вычислений, который аппроксимируется количеством нулей в "красивом" хеше.

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

С чекпойнтами же: как только у нас появляется чекпойнт - всё, весь предыдущий блохчейн не нужен(с).
В таком случае можно ставить чекпойнт после каждой транзакции.



Верно, при появлении новой цепочки пересчёт сложности происходит.
Но можно ввести такое правило:
1. Сначала передаётся цепочка заголовков блоков, каждая примерно 100 байт и не более чем из например 50 блоков
2. Цепочка принимается для пересчёта если её средняя сложность не меньше чем текущая сложность цепочки принятой нодой за главную (ну или хотя бы 90%)
3. Пока условие 2 соблюдается, делается запрос очередной партии из 50 блоков для поиска развилки
4. После того как найдена развилка - загружаются блоки

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

Таким образом для ДДос атаки нужно обладать 90% мощностью сети.
Нода тратит минимум вычислительных ресурсов - 50 хешей. К слову для того чтобы подсоединиться к текущей ноде другой ноде, нужно потребовать выполнения pow на десятки тысяч расчетов хешей. Нода, которая отправила заведомо неправильную цепочку - банится.






member
Activity: 280
Merit: 26
Интересно, можно ли придумать более устойчивый алгоритм, не требующий чекпоинтов.
Например будет ли устойчив алгоритм, основанный на принципах:
1. При выборе текущей ветки блоков - выбирается цепочка с максимальной мощностью.
2. Сложность цепочки определяется как сумма мощностей всех ее блоков.
3. Под мощностью понимается логарифм проделанных вычислений, который аппроксимируется количеством нулей в "красивом" хеше.

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

С чекпойнтами же: как только у нас появляется чекпойнт - всё, весь предыдущий блохчейн не нужен(с).
В таком случае можно ставить чекпойнт после каждой транзакции.
member
Activity: 202
Merit: 27
Atom foundation
а в биткойне как нода определяет, какая транзакция "правильная", а какая - нет, при получении одновременно двух разных
хеш (содержит хеш предыдущего и этого блока) + nonce дает нужное количество нулей в хеше

Вот если бы ВЫ были внимательны, а не занимались выяснением, кто какое впечатление производит или у кого какие пуканы - то заметили бы, что спрашивал я совсем не это, да и автор изначально утверждал одно, а потом ловко подменил своё утверждение совершенно другим.

Я считаю беседу с вами, унылой тратой времени, то есть бесполезной, ни к чему хорошему она не приведет, так что по сути сами разбирайтесь в себе и своих тараканах. Вы для меня скучный собеседник.
ps: тему завел ради интереса, чтобы размять мозги, а размял чей-то пукан  Grin

Ни одна из перечисленных операций не требует перебора nonce.  

я имел ввиду, nonce создает майнер, а нода определяет, что nonce верный.

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

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

Хеш блока - однозначно идентифицирует конкретный блок, в отличие от порядкового номера. Хеш - идентификатор, придающий блоку уникальность. Блоки 102 из разных цепочек - имеют разные хеши. А в заголовке блока 103 хранится уникальный хеш, который указывает на единственный блок из конкретной цепочки.
Да и так создается новая цепочка, потому что 103 блок цепляется только за верную цепочку, но побеждает самая длинная, и цеплялся он, не цеплялся, вся цепочка отваливается.

Нода Биткойн не верит никому и ничему, кроме PoW. Поэтому, ей приходится собирать блокчейн по блокам с самого genesis-блока из блоков швыряемых ей в произвольном (в общем случае) порядке другими нодами (необязательно честными). Поэтому, порядковые номера блоков нода проставляет для себя самостоятельно, руководствуясь ссылкой на предыдущий блок в виде его хеша.
Это верно и это один из правильных ответов: чтобы подделать блок в блокчейн, понадобится нереальное количество ресурсов.
full member
Activity: 411
Merit: 139
...
а вот костыли в виде чекпойнтов как раз наглядно показывают мифичность утверждений про некие волшебные алгоритмы иммутабельности блокчейна.

Интересно, можно ли придумать более устойчивый алгоритм, не требующий чекпоинтов.
Например будет ли устойчив алгоритм, основанный на принципах:
1. При выборе текущей ветки блоков - выбирается цепочка с максимальной мощностью.
2. Сложность цепочки определяется как сумма мощностей всех ее блоков.
3. Под мощностью понимается логарифм проделанных вычислений, который аппроксимируется количеством нулей в "красивом" хеше.
legendary
Activity: 2317
Merit: 2318
Чтобы проверить блок на валидность, не нужно перебирать noncе. - это да, а как другие участники сети проверят?

Любой участник при получении нового блока
1. Вычисляет хеш заголовка блока.
2. Проверяет хеш на соответствие алгоритму изменения сложности.
3. В заголовке проверяемого (и любого другого) блока хранится хеш предыдущего блока. Проверяется: соответствует ли этот хеш уже существующему блоку.

Ни одна из перечисленных операций не требует перебора nonce.  

Quote
вы же отправляете доказательство работы, а это и есть nonce.

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

Quote
можно просто создавать следующий блок n+1, проводить pow блока,  достигать консенсуса в сети.

а как это происходит в биткони? так же и тут.
Пример с битка:
Вот, поступил на ноду 2 блок 103 (nonce 44444 + хеш блока 102). Как этой ноде понять, что предыдущий блок для этого блока - это блок 102 (nonce 33333 + хеш блока 101), а не блок 102 (nonce 99999 + хеш блока 101)?  Wink

Хеш блока - однозначно идентифицирует конкретный блок, в отличие от порядкового номера. Хеш - идентификатор, придающий блоку уникальность. Блоки 102 из разных цепочек - имеют разные хеши. А в заголовке блока 103 хранится уникальный хеш, который указывает на единственный блок из конкретной цепочки.

Нода Биткойн не верит никому и ничему, кроме PoW. Поэтому, ей приходится собирать блокчейн по блокам с самого genesis-блока из блоков швыряемых ей в произвольном (в общем случае) порядке другими нодами (необязательно честными). Поэтому, порядковые номера блоков нода проставляет для себя самостоятельно, руководствуясь ссылкой на предыдущий блок в виде его хеша.
legendary
Activity: 3556
Merit: 1100
Не очень понял, что имеется в виду под "алгоритмом биткойна" - а вот костыли в виде чекпойнтов как раз наглядно показывают мифичность утверждений про некие волшебные алгоритмы иммутабельности блокчейна.
На счёт алгоритмов это к старушкам с клюкой. Эти алгоритмы почти 400 ярдов на сегодняшний день стоят - https://coinmarketcap.com/charts/
Как там в одной рекламе для сектантов: заплати налоги и спи спокойно
Так же и с чекпоинтами: поставил чекпоинт и хрен кто сворует или нагадит.
Защиты ценности много не бывает.
member
Activity: 280
Merit: 26
Как владелец ноды решит, так и будет.
Аптом и речь, при этом тот поциент, который неаффтор, утверждал, что существуют некие магические алгоритмы, которые в биткоэне этот момент решают однозначно, а вот в предложении автора - нифига.
Потому и слился ответить на вопрос, я полагаю.
(Я кстати в пользу бедных аффтора митинговал - но он больше озабочен пуканами, нежели сутью - посему чёта обиделся  Cheesy )
Quote
Если бы не чекпоинты, алгоритмы пересчета сложности каждого блока чувствовали бы себя не очень хорошо. Алгоритму биткоина это фиолетово в гораздо большей степени.
Не очень понял, что имеется в виду под "алгоритмом биткойна" - а вот костыли в виде чекпойнтов как раз наглядно показывают мифичность утверждений про некие волшебные алгоритмы иммутабельности блокчейна.
legendary
Activity: 3556
Merit: 1100

...А неправильными неудобные для них вопросы - они обычно да, только с точки зрения сектантов и бывают...
При такой шаблонной дифференциации очень легко самому стать сектантом. Лови мерит за то, что заставил "сектанта" подумать спустя минуту как я написал ответ на этот пост - https://bitcointalksearch.org/topic/m.37363114

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



а в биткойне как нода определяет, какая транзакция "правильная", а какая - нет, при получении одновременно двух разных транзакций с одного выхода, ещё не включенных в блок?
Как владелец ноды решит, так и будет. Выбора у него только 2:
- либо включает одну
- либо другую

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

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

В некоторых других темах - я давал ссылки на сторонние работы. Ну, и на педивикию, куда ж без неё.
legendary
Activity: 3556
Merit: 1100
Я то понимаю, что некоторые здесь продвинуты настолько, что одной лишь только мыслью меняют любые законы мироздания... Wink Grin
О, как.
Ну точно, как я и предполагал: святой блохчейн нам даден свыше, божественный и непогрешимый. (Или дадён, как правильно-то?)
Всё тобой написанное или сказанное в ту же секунду автоматически становится правильным.
По-моему мало уже у кого остались на счёт этого какие-либо сомнения. Grin
member
Activity: 202
Merit: 27
Atom foundation
Чтобы проверить блок на валидность, не нужно перебирать noncе. Нужно просто вычислить хеш блока и проверить его на соответствие алгоритму изменения сложности (на количество тех самых N нулевых бит).
Перебирать noncе нужно при создании нового блока. Создание блока и его валидация - это совершенно разные операции.  
Чтобы проверить блок на валидность, не нужно перебирать noncе. - это да, а как другие участники сети проверят? вы же отправляете доказательство работы, а это и есть nonce.

А nonce перебирать надо, чтобы выполнить определенную сложность работы, получить нужный хеш и отправить всем доказательство.

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

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


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

Чтобы отбросить альтернативную цепочку или принять её в качестве основной , нода должна её сначала составить из отдельно поступающих блоков.
Вот, поступил на ноду 2 блок 103 (nonce 44444). Как этой ноде понять, что предыдущий блок для этого блока - это блок 102 (nonce 33333), а не блок 102 (nonce 99999)?

а как это происходит в биткони? так же и тут.
Пример с битка:
Вот, поступил на ноду 2 блок 103 (nonce 44444 + хеш блока 102). Как этой ноде понять, что предыдущий блок для этого блока - это блок 102 (nonce 33333 + хеш блока 101), а не блок 102 (nonce 99999 + хеш блока 101)?  Wink


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

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

Я смотрю вы окулист, раз так много видите нюансов. Хорошо, что на форуме есть такие важные профессии.  
Хотите показаться умным? Пока производите впечатление зануды, ну давайте дальше, нам не жалко.

Так ведь, я одному из поциентов (да, тепрь их оба-два) задал вопрос

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

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

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

member
Activity: 280
Merit: 26
Я то понимаю, что некоторые здесь продвинуты настолько, что одной лишь только мыслью меняют любые законы мироздания... Wink Grin
О, как.
Ну точно, как я и предполагал: святой блохчейн нам даден свыше, божественный и непогрешимый. (Или дадён, как правильно-то?)
Quote
Алгоритм работы от этого нисколько не поменяется.
"Алгоритм работы" - это что, какая-то старуха с клюкой, как говаривал тов. Преображенский? Которая приходит, и гадит в сортирах "работает"...?
legendary
Activity: 3556
Merit: 1100
Ну вы ж понимаете (ну, я надеюсь), что таймстамп-то можно любой поставить.

Я то понимаю, что некоторые здесь продвинуты настолько, что одной лишь только мыслью меняют любые законы мироздания... Wink Grin
Но таймстамп здесь совсем не причём.

Время здесь какое угодно можно поставить - http://90.188.88.19:3001/api/getblock?hash=0000004c78b0c1e7ae15911172ae15c3dc1768c0ed9c44226733ab2ff35caafe
Алгоритм работы от этого нисколько не поменяется.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Да помилуйте, какое "держитесь" - тут чисто медицинское любопытство.
Вот вы, я вижу, словарик юного либерала детсадовских отвечалок плотно скурили. Просто любопытно, а своими словами умеете?
(Впрочем, не трудитесь - из дискуссии вижу, что нет.)
legendary
Activity: 2317
Merit: 2318
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: 2317
Merit: 2318
Вот у Педро Хуэреса есть цепочка 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: 2317
Merit: 2318
если кто-то имеет более длинную цепочку и верные 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: 2317
Merit: 2318
например тем же POW. пакуем транзакции в блок. майнер проделывает работу с nonce и предлагает системе решение. все. блок все выкачивают, дают ему следующий номер.

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

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

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

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

А вы смешной
member
Activity: 280
Merit: 26
Ну, если верить поциенту.
поциенты в больницы, а у нас тут дискуссия и как мне кажется довольно интересная

Когда поциент пейсатель слов руками задаёт вопросы, на которые сам же не в состоянии ответить - то уж не знаю, какой интерес в подобной дискуссии, кроме медицинского.
legendary
Activity: 2317
Merit: 2318
Я вам про другое говорю - есть транзакция, она одна, в ней подпись. ее выкачивает вся сеть. что отбрасывать? проверили подпись, значит она валидная. rollback не нужен.

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

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

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

Зачем нужен PoW без блокчейна? Вы произнесли слово консенсус, но не объяснили, как он у вас реализован, что же всё-таки делать ноде С в описанной выше ситуации, чтобы не допустить двойную трату.

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


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

Ага. Цепочку блоков вы уже придумали, правда, блоки у вас пока ещё не связаны друг с другом криптографически. В реальных криптовалютных сетях блоки распространяются не мгновенно. И может случиться так, что какое-то время в сети могут существовать две цепочки, одну из которых придётся впоследствии отбросить.

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

Нода C, принявшая блоки 101 и 102 из этих разных цепочек должна как-то понять, какие блоки к какой цепочке относятся, а номера-то у них одинаковые. Как же без криптографической связи блоков понять где какая цепочка?

Более подробно эта ситуация описана здесь в главе Форки блокчейна.

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

member
Activity: 280
Merit: 26
Очевидно, поциент сам не знает ответа на свой вопрос "ноде C нужно принять решение о том, какая из этих транзакций правильная. Спросить не у кого. 51% нод не в курсе по поводу этих транзакций." применительно к блохчейну, но продолжает упорно твердить: блохчейн, потому что блохчейн, блохченом, блохчейну!!11
Консенсус в криптовалютах - это набор правил, на соответствие которым каждая нода проверяет блоки и отдельные транзакции. PoW в криптовалютах нужен для создания защищённого от перезаписи блокчейна.
Зачем нужна ещё какая-то защита от перезаписи, если и без того каждая нода проверяет блоки и отдельные транзакции ... на соответствие правилам? Делаем правило "нельзя перезаписывать транзакции". Ну, если верить поциенту.
Quote
Защищённый от перезаписи блокчейн нужен для защиты от двойной траты.
И при этом - блоки постоянно перезаписываются (орфанятся), ага.
legendary
Activity: 2317
Merit: 2318
Ты описал проблему двойной траты. А причем тут блокчейн? Эту проблему решает консенсус, например POW, а не блокчейн.
После того, как Вася отправил Пете, Васина нода должна достингуть консенсуса с остальными нодами. И тогда вася обломается с double spending

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

Зачем нужен PoW без блокчейна? Вы произнесли слово консенсус, но не объяснили, как он у вас реализован, что же всё-таки делать ноде С в описанной выше ситуации, чтобы не допустить двойную трату.
 
хорошо, тогда просто будем каждый следующий блок транзакций называть i++, разница не поменялась и пока блокчейн не нужен.

Ага. Цепочку блоков вы уже придумали, правда, блоки у вас пока ещё не связаны друг с другом криптографически. В реальных криптовалютных сетях блоки распространяются не мгновенно. И может случиться так, что какое-то время в сети могут существовать две цепочки, одну из которых придётся впоследствии отбросить.

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

Нода C, принявшая блоки 101 и 102 из этих разных цепочек должна как-то понять, какие блоки к какой цепочке относятся, а номера-то у них одинаковые. Как же без криптографической связи блоков понять где какая цепочка?

Более подробно эта ситуация описана здесь в главе Форки блокчейна.
member
Activity: 202
Merit: 27
Atom foundation
пока 51% нод хранит правильные данные (проверенные), это не проблема.

Вася создал транзакцию 1, в которой 10 монет отправляются Пете, Васина нода отправила эту транзакцию на ноду A.
Вася создал транзакцию 2, в которой эти же 10 монет отправляются Толику, Васина  нода отправила эту транзакцию на ноду B.

Обе транзакции валидны, так как подписаны приватным ключом Васи, но тратят одни и те же 10 монет, что недопустимо.

Нода A пока ещё не знает о существовании транзакции на ноде B и наоборот. Остальные ноды пока вообще не знают о существовании этих двух транзакций.

Нода C получает обе этих транзакции: одну от ноды A, другую от ноды B. И теперь ноде C нужно принять решение о том, какая из этих транзакций правильная. Спросить не у кого. 51% нод не в курсе по поводу этих транзакций. Что делать ноде C?  
Ты описал проблему двойной траты. А причем тут блокчейн? Эту проблему решает консенсус, например POW, а не блокчейн.
После того, как Вася отправил Пете, Васина нода должна достингуть консенсуса с остальными нодами. И тогда вася обломается с double spending

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

Это было место с ошибкой в рассуждении. Сейчас ты правильно написал в чем именно была эта ошибка...

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

member
Activity: 280
Merit: 26
пока 51% нод хранит правильные данные (проверенные), это не проблема.

Вася создал транзакцию 1, в которой 10 монет отправляются Пете, Васина нода отправила эту транзакцию на ноду A.
Вася создал транзакцию 2, в которой эти же 10 монет отправляются Толику, Васина  нода отправила эту транзакцию на ноду B.

Обе транзакции валидны, так как подписаны приватным ключом Васи, но тратят одни и те же 10 монет, что недопустимо.

Нода A пока ещё не знает о существовании транзакции на ноде B и наоборот. Остальные ноды пока вообще не знают о существовании этих двух транзакций.

Нода C получает обе этих транзакции: одну от ноды A, другую от ноды B. И теперь ноде C нужно принять решение о том, какая из этих транзакций правильная. Спросить не у кого. 51% нод не в курсе по поводу этих транзакций. Что делать ноде C?  

И что же делает биткойновая нода в подобном случае?
legendary
Activity: 2317
Merit: 2318
пока 51% нод хранит правильные данные (проверенные), это не проблема.

Вася создал транзакцию 1, в которой 10 монет отправляются Пете, Васина нода отправила эту транзакцию на ноду A.
Вася создал транзакцию 2, в которой эти же 10 монет отправляются Толику, Васина  нода отправила эту транзакцию на ноду B.

Обе транзакции валидны, так как подписаны приватным ключом Васи, но тратят одни и те же 10 монет, что недопустимо.

Нода A пока ещё не знает о существовании транзакции на ноде B и наоборот. Остальные ноды пока вообще не знают о существовании этих двух транзакций.

Нода C получает обе этих транзакции: одну от ноды A, другую от ноды B. И теперь ноде C нужно принять решение о том, какая из этих транзакций правильная. Спросить не у кого. 51% нод не в курсе по поводу этих транзакций. Что делать ноде C?  
full member
Activity: 411
Merit: 139
Всем привет!
Какой смысл соединять блоки предыдущим хешом, когда у нас в каждой траназкции есть подпись подтверждающая эту транзакцию?
Можно же отдельно записывать транзакции с timestamp и потом проверять все транзакции на валидность просто проверкой подписи каждого сообщения. Где здесь я ошибаюсь?

timestamp

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


Это было место с ошибкой в рассуждении. Сейчас ты правильно написал в чем именно была эта ошибка...
member
Activity: 202
Merit: 27
Atom foundation
Всем привет!
Какой смысл соединять блоки предыдущим хешом, когда у нас в каждой траназкции есть подпись подтверждающая эту транзакцию?
Можно же отдельно записывать транзакции с timestamp и потом проверять все транзакции на валидность просто проверкой подписи каждого сообщения. Где здесь я ошибаюсь?

timestamp

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

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

пока 51% нод хранит правильные данные (проверенные), это не проблема.

Сколькими ключами можно пользоваться?

в каком смысле? Huh
newbie
Activity: 42
Merit: 0
Подпись транзакции удостоверяет право владельца приватного ключа на трату средств в рамках этой транзакции.
Криптографическая связь блоков обеспечивает целостность базы данных транзакций, защиту от удаления/добавления транзакций задним числом.

Сколькими ключами можно пользоваться?
newbie
Activity: 42
Merit: 0
Всем привет!
Какой смысл соединять блоки предыдущим хешом, когда у нас в каждой траназкции есть подпись подтверждающая эту транзакцию?
Можно же отдельно записывать транзакции с timestamp и потом проверять все транзакции на валидность просто проверкой подписи каждого сообщения. Где здесь я ошибаюсь?

timestamp

Таймспемп не всегда идёт
legendary
Activity: 2317
Merit: 2318
Подпись транзакции удостоверяет право владельца приватного ключа на трату средств в рамках этой транзакции.
Криптографическая связь блоков обеспечивает целостность базы данных транзакций, защиту от удаления/добавления транзакций задним числом.
full member
Activity: 411
Merit: 139
Всем привет!
Какой смысл соединять блоки предыдущим хешом, когда у нас в каждой траназкции есть подпись подтверждающая эту транзакцию?
Можно же отдельно записывать транзакции с timestamp и потом проверять все транзакции на валидность просто проверкой подписи каждого сообщения. Где здесь я ошибаюсь?

timestamp
member
Activity: 202
Merit: 27
Atom foundation
Всем привет!
Какой смысл соединять блоки предыдущим хешом, когда у нас в каждой траназкции есть подпись подтверждающая эту транзакцию?
Можно же отдельно записывать транзакции с timestamp и потом проверять все транзакции на валидность просто проверкой подписи каждого сообщения. Где здесь я ошибаюсь?
Jump to: