Author

Topic: Теханализ и не только - page 374. (Read 3494244 times)

legendary
Activity: 1650
Merit: 1033
Обязан. Ну включу я хэш 748237584957475689437689789
Вы не сможете понять - есть ли у меня сегвит-кусок соответствующий этому хэшу или я его от балды придумал.

А разве эти данные не должен проверять сетевой консенсус?
Вы издеваетесь надо мной?
Я уже три раза попытался объяснить, что имея только хеш 748237584957475689437689789 вы ничего сказать не можете!
Какой консенсус, блин?
А нельзя просто спросить у разрабов как поведет себя сеть в вашем примере? Может они и результаты тестов могут показать. Или они настолько закрыты от сообщества?
legendary
Activity: 1260
Merit: 1019
Обязан. Ну включу я хэш 748237584957475689437689789
Вы не сможете понять - есть ли у меня сегвит-кусок соответствующий этому хэшу или я его от балды придумал.

А разве эти данные не должен проверять сетевой консенсус?
Вы издеваетесь надо мной?
Я уже три раза попытался объяснить, что имея только хеш 748237584957475689437689789 вы ничего сказать не можете!
Какой консенсус, блин?
full member
Activity: 244
Merit: 178
Обязан. Ну включу я хэш 748237584957475689437689789
Вы не сможете понять - есть ли у меня сегвит-кусок соответствующий этому хэшу или я его от балды придумал.

А разве эти данные не должен проверять сетевой консенсус?
legendary
Activity: 1260
Merit: 1019
Ok. Это понятно. Тогда разве майнер не обязан строго включать в блок хеш сегвит-данных?
Обязан. Ну включу я хэш 748237584957475689437689789
Вы не сможете понять - есть ли у меня сегвит-кусок соответствующий этому хэшу или я его от балды придумал.
full member
Activity: 244
Merit: 178
Нет.
Сегвит-данные - это вытащенные из транзакций ecdsa-подписи (ну и публичные ключи заодно)
В блоке остаются только по сути дела "адреса" для переводов.
И транзакции оформленные "по старому" ну то есть по сегодняшнему стилю. Такие транзакции не меняются.

Ok. Это понятно. Тогда разве майнер не обязан строго включать в блок хеш сегвит-данных? Т.е если мы даже не берем сегвит транзакции, и как следствие не имеем нового сегвит хеша, то все равно должны включить в блок то, что есть на данный момент. В общем оторваться от сегвит в новой редакции, которую должны будут принять большинство майнеров чтоб оно заработало, не получится.
legendary
Activity: 1260
Merit: 1019
Блок без сегвит-данных будет означать то, что мы не включили в наш блок никакие транзакции, верно? Хотя там должна быть как минимум одна, наша транзакция. И тогда у блока все равно будет сегвит-данные.
Нет.
Сегвит-данные - это вытащенные из транзакций ecdsa-подписи (ну и публичные ключи заодно)
В блоке остаются только по сути дела "адреса" для переводов.
И транзакции оформленные "по старому" ну то есть по сегодняшнему стилю. Такие транзакции не меняются.
full member
Activity: 244
Merit: 178

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

---------------
Спасибо за труд, подробное изложение всего выше описанного.
---------------

Блок без сегвит-данных будет означать то, что мы не включили в наш блок никакие транзакции, верно? Хотя там должна быть как минимум одна, наша транзакция. И тогда у блока все равно будет сегвит-данные.
legendary
Activity: 1260
Merit: 1019
Правильно ли я понял, что "правильный" с точки зрения сегвита блок, с оставленными сегвит-данными, это блок без сегвит-данных? Или это то же блок, просто с левыми сегвит-данными?
Смотрите.
Есть блок. Блок - это просто последовательность данных (транзакций), удовлетворяющая нескольким условиям.
Сейчас все транзакции подписаны. А у блока есть "доказательство выполненной работы", тот самый PoW
То есть хэш блока начинается с определенного количества нулей.

В чем принцип сегвит?
Часть данных из транзакций (а именно публичные ключи и подписи) помещаем в отдельную последовательность байтиков. Не знаю как это называть правильно - Назовём это "сегвит-данные"
В coinbase-транзакцию помещаем хэш этих данных
А потом майним блок, перебирая nonce пока хэш первых 80 байтов в блоке не будет начинаться с нужного числа ноликов.

Таким образом решаем задачу:
1) количество транзакций в блоке стало больше, так как сами транзакции сжалсь в размере
2) исключена "ковкость" (malleability) транзакций
3) никакой байтик ни в блоке, ни в сегвит-данных нельзя изменить просто так - потому что при изменении сегвит-данных изменится coinbase-транзакция. При изменении данных в блоке - поменяется его хэш.
4) При наличии того и другого можно восстановить исходный вид транзакций и проверить правильность подписей

Все мои размышления сводятся к тому - а что будет если в сеть кинуть только блок.
А сегвит-данные не публиковать. Оставить их себе, публиковать позднее или вообще никогда (по причине их отсутствия)
full member
Activity: 244
Merit: 178

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


Правильно ли я понял, что "правильный" с точки зрения сегвита блок, с оставленными сегвит-данными, это блок без сегвит-данных? Или это то же блок, просто с левыми сегвит-данными?
legendary
Activity: 1260
Merit: 1019
При этом переход на проверенную ветку возможен, но в "ручном режиме".
Хорошо.
Тогда я сыграю с вами "в собачки".
Сперва я делаю "правильный" с точки зрения сегвита блок и оставляю сегвит-данные у себя.
Вам не сообщаю.
Все майнеры начинют майнить эту "корявую" цепочку блоков со слабым звеном.
Потом спохватываются, ой! Что-то мы не то майним! Надо в ручном режиме откатиться.
Я в этот момент публикую тот блок с его верными сегвит-данными.
И опять таким образом на*бываю остальных. Потому что пока они майнили и откатывались - я майнил верную цепочку.
full member
Activity: 244
Merit: 178
Нет. При отсутствии данных вы не можете доказать верные эти данные или нет.

Так они будут. Только не в виде наличия данных подписей. А в виде цепочки которая имеет доказательство, что каждое предыдущее звено проверенно на консенсус всей сетью.
legendary
Activity: 1260
Merit: 1019
Мы же вроде обсудили, что "доказательство мошенничества" будет помогать в определении левых блоков.
Нет. При отсутствии данных вы не можете доказать верные эти данные или нет.
full member
Activity: 244
Merit: 178
Например, админ пула не проверяет чужой блок, а как только он его видит - сразу раздает задание асик-холдерам майнить пустой блок поверх этого. От этого в блокчейне достаточно часто встречаются пустые блоки - неужели вы не видели?

Я все понимаю. Живой пример привел. Результат таких шалостей форк. Левая ветка, где админы страдают фигней, отсекается. Проблема может быть лишь, если большинство майнеров будут читерить, и как следствие вообще не проверят куда они подцепляются. Но при этом, где-то же будет правильная ветка, с проверенными данными. Да, она останется за бортом, т.к "лапухи" большей мощностью потянули одеяло в сторону неправильной ветки. Что предпринимать в таком случае..., это уже вопрос другой. Возможно потребуется оперативное вмешательство. При этом переход на проверенную ветку возможен, но в "ручном режиме".
full member
Activity: 244
Merit: 178
Но пока в нынешних реалиях это читерство не приводит к фатальным результатам.
А в сегвите - может.

В чем фатальность в сегвите? В том, что нельзя откатиться назад из-за отсутствующих данных?

Так никто и не будет откатываться. Все читеры остаются со своей орфан-веткой. Все остальные, кто проверял валидность, продолжают работать. Или вы хотите сказать, что все майнеры сядут на ветку с "левым" блоком? Точнее это будет даже не ветка, а просто никто этого не заметит. Мы же вроде обсудили, что "доказательство мошенничества" будет помогать в определении левых блоков.
legendary
Activity: 1260
Merit: 1019
Но весь как раз вопрос в том - что вы скажете имея только половину? только блок в нынешнем биткойн-формате?

Мы же о майнерах говорим? А они вроде бы должны все обновиться, чтоб понимать не половину, а все данные в блоке. Или что я не так понял?
Это в теории.
Сегодня теоретически майнеры тоже должны получить блок, проверить его, потом собрать нужные транзакции из своего пула и начать майнить новый блок поверх полученного.
Но есть проблема.
Люди жадные.
Они ищут способы исхитриться и получить больше бабла.
Например, админ пула не проверяет чужой блок, а как только он его видит - сразу раздает задание асик-холдерам майнить пустой блок поверх этого. От этого в блокчейне достаточно часто встречаются пустые блоки - неужели вы не видели?
Хэш блока он может вообще у другого пула напрямую получить по стратум-протокулу, прикинувшись майнером.
То есть он не дожидается, пока блок по сети узлов к нему своим ходом доедет, а ищет способ как можно раньше узнать его хэш.
Это и есть SPV-майнинг. Он в текущих реалиях на пару процентов выгоднее выходит, чем "классический".
Каждый немного читерит. Но пока в нынешних реалиях это читерство не приводит к фатальным результатам.
А в сегвите - может.
full member
Activity: 244
Merit: 178
Но весь как раз вопрос в том - что вы скажете имея только половину? только блок в нынешнем биткойн-формате?

Мы же о майнерах говорим? А они вроде бы должны все обновиться, чтоб понимать не половину, а все данные в блоке. Или что я не так понял?
legendary
Activity: 1260
Merit: 1019
Если майнер лихой парень, использует SPV-майнинг, то это лично его риски. Намедни, а именно 4 июля 2015 был форк. Самое любопытное, что самый крутой пул Antpool был в числе "изменников". В общем прокатили ребят. Потери ~ 50к $. Короче история известная, взята как пример. Вывод такой, если ты балуешься SPV-майнингом, и попадаешь на блок от amaclin, то пусть amaclin тебе и платит ))).
Да, было такое в форке 4 июля. Виноватым был f2pool - он же DiscusFish
Там был переход на версию блока 3 и DiscusFish коряво свои сорцы переделал
Кто там пострадал больше всех - может AntPool, может кто-то еще - я уже не помню.

Обратите внимание - раньше майнеры максимум что могли потерять - это coinbase-награду то есть 25 битков с копейками комиссии.
Теперь ставки будут выше.  Grin
Еще раз рассказываю пример (для удобства - от первого лица)
Я беру 3000 самых жирных segwit-выходов. Допустим, на них 50к битков в сумме получится.
И формирую транзакцию, которая переводит по 1000 битков каждому пул-админу и остальное мне.
Таким образом, приняв мой блок - админ получает на халяву 1000 битков. А не приняв - не получает.

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

Quote
Вообще, насколько я понимаю из зимней презентации Pieterа Wuille по вопросу масштабирования, у разрабов есть планы вообще избавиться от подписей, то ли от их хранения хоть сколько нибудь времени. Но это будет не сейчас, сейчас это невозможно.
Вы забыли слова из whitepaper биткойна - что только подписи защищают пользователей.
Без подписей которые могут быть проверены любым участником сети биткойн превращается в унылое банковское говнище, когда никто не может проверить корректность и вынужден доверять "третьей стороне", некоторому подобию ФРС.

full member
Activity: 244
Merit: 178
Да, но я вам сейчас не об этом говорю.
То что Вася Пупкин может сегодня "перехватить" и отправить себе биткойны из сегвит-транзакции - это мы все прекрасно знаем.
Я вам говорю, что Майнер Вася Пупкин, имеющий хеш-мощность достаточную для майнинга одного блока может это сделать после вступления в силу сегвит-правил, если все остальные майнеры будут использовать SPV-майнинг.


Если майнер лихой парень, использует SPV-майнинг, то это лично его риски. Намедни, а именно 4 июля 2015 был форк. Самое любопытное, что самый крутой пул Antpool был в числе "изменников". В общем прокатили ребят. Потери ~ 50к $. Короче история известная, взята как пример. Вывод такой, если ты балуешься SPV-майнингом, и попадаешь на блок от amaclin, то пусть amaclin тебе и платит ))).

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


Вообще, насколько я понимаю из зимней презентации Pieterа Wuille по вопросу масштабирования, у разрабов есть планы вообще избавиться от подписей, то ли от их хранения хоть сколько нибудь времени. Но это будет не сейчас, сейчас это невозможно. Да и вообще, у них там такие дичайшие функции в разработке. Например новые opcodes, которые могут использоваться для лотерей, вероятностных платежей (фиг знаю что это такое), усиление защиты от даблспенда, возможность создания 1 -of- N (N может быть тысячи) мультиподписей на основе бинарного дерева (как я понимаю сейчас такую мультиподпись не создать). А еще там невероятные замуты с сайдчейнами, такие, что мое воображение просто кипит, конечно я могу перебарщивать. Все можно посмотреть здесь.
legendary
Activity: 1200
Merit: 1021

Вторая транзакция - это перевод с 1000 самых жирных сегвит-выходов на биржевой адрес Васи Пупкина.
Сегвит-выход с точки зрения сегодняшних клиентов является ANYONE-CAN-SPEND - то есть такой блок будет с точки зрения протокола валидным.
Не "левым", а "правым".
Но неполным. Проверить его правильность можно только имея сегвит-данные.
Разумеется, этих данных ни у кого нет и никогда не будет. Но остальные майнеры в этом случае находятся в логическом тупике.
Они будут либо ждать сегвит-данные, колотя асиками вхолостую, либо "заиграют" этот блок.

А если кто-то из них находит правильный хэш для блока до того, как пулом был получен и проверен сегвит-кусок?
Теперь бросать этот блок в dev/nul и лишаться награды за майнинг?

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

Скорее всего, блок и segwit-данные должны будут передаваться одновременно. Если блок придёт без segwit-данных, он сразу, без какого-либо ожидания, будет отброшен, и майнеры начнут снова его майнить.
Всё остальное - проблемы SPV-майнеров, которые никого не волнуют.
legendary
Activity: 2156
Merit: 1132
Интересно,  по каким критериям транзакции относятся к "шлаку"?
раздачи кранов - это шлак.
выплаты от облачных майнингов хайпингов лохам за несуществующие гигахеши - это шлак
ставки в казино и бинарных опционах - это шлак.
миксер-транзакции, различные технические транзакции когда биржи собирают с депозитных адресов на хот- и колд- - это шлак
различные сервисы, которые позволяют записать какое-нибудь "я сдесь был" типа www.cryptowill.com или www.cryptograffiti.info - это шлак
спамеры, которые разбрасывали мелочевку и до сих пор собирают обратно - это шлак.

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


Опять троллинг.

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

Порядочек:

- Охота
- Земледелие
- Развитие разделения труда >
- Развитие индустриального производства
- Автоматизация сельского хозяйства
- Развитие сферы услуг и финансового сектора
- Миграция сферы услуг (игры и прочие развлечения) и финансового сектора в информационные системы
Jump to: