amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 08:55:42 AM |
|
Если я правильно понимаю, то дерево сегвит хешей никто удалять не будет. И так как каждый блок должен содержать верный хеш цепи,
Что значит "верный"? В блоке N будет записанный хэш 123123123 Как вы определите - верный он или нет, если самого дерева сегвит-данных у вас нет? Дерево в сегвит-данных, то есть отдельно от блока. А блок вы получили от ноды с версией 0.12.0 - эта нода ни про какие "побочные" данные не знает. Ей передали - она и ретранслирует дальше. а мы знаем что он будет строится из хеша сегвит в том числе, то блок N не может просто так вклиниться в цепь. Все увидят это несоответствие. Несоответствие можно увидеть, если есть что проверять. Где вы возьмете сегвит-данные, если все ноды условно говоря на ваш запрос ответят "извини, старье потерли"
|
|
|
|
|
|
Eqvant
|
 |
April 12, 2016, 09:02:07 AM |
|
А ноды проверяли все транзакции в блоке. Теперь, что, будут верить майнерам на слово. Странно. Так и раньше можно было бы верить на слово.  Никто майнерам на слово не верит. У них есть сильный аргумент - доказательство работы (PoW). Я думаю, что фулл-ноды по прежнему будут проверять, значит будут передавать друг другу сегвит-блок. И скорее всего, большинство будут хранить их. Место на диске на данный момент вовсе даже не критично.
Все верно. Но, так как это софт-форк, то реализация такова, что нодам не обязательно понимать подпись. Старые ноды, те, что не обновятся на сегвит, не будут ее понимать 100%. Для них подпись сегвит будет выглядеть как "Потратить может каждый", и плюс некоторые не читаемые данные, которые впрочем не помеха, мало ли, что отправитель транзакции захотел туда вписать. Главное, что данные определяющие дальнейшую проходимость по сети верные. И так как старая нода видит подпись как "Потратить может каждый", а это с ее точки зрения валидная подпись, то нода транзакцию толкает дальше.
|
Не пропусти смену тренда, будь всегда в курсе цены bitcoin. Попробуй мой telegram бот CryprusPrice.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:04:33 AM |
|
Я думаю, что фулл-ноды по прежнему будут проверять, значит будут передавать друг другу сегвит-блок. И скорее всего, большинство будут хранить их. Место на диске на данный момент вовсе даже не критично. Ага. То-то народ так обрадовался когда -prune режим ввели. Место не очень критично. Но если вопрос стоит "хранить лишние 50 гигабайт" или "не хранить лишние 50 гигабайт потому что не нужно это" - то народ не станет хранить. Большинство из держателей нод не особо разбираются в этом. Они просто верят. Им сказали - держи ноду и будешь поддерживать сеть. Они и держат сборку с дефалтовыми параметрами. Им сказали - ходи в церковь по воскресеньям - они и ходят. Секта, блин, святого туземуна  Один я - антихрист. 
|
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:08:23 AM |
|
Все верно. Но, так как это софт-форк, то реализация такова, что нодам не обязательно понимать подпись. Старые ноды, те, что не обновятся на сегвит, не будут ее понимать 100%. Для них подпись сегвит будет выглядеть как "Потратить может каждый", и плюс некоторые не читаемые данные, которые впрочем не помеха, мало ли, что отправитель транзакции захотел туда вписать. Главное, что данные определяющие дальнейшую проходимость по сети верные. И так как старая нода видит подпись как "Потратить может каждый", а это с ее точки зрения валидная подпись, то нода транзакцию толкает дальше. Там (в новом формате блока ) вообще нет подписей! В смысле криптографических подписей. Там (если я правильно понял) просто посылка на адрес. (чуть-чуть другой формат адреса, но это не суть важно) А вот доказательство того, что ты являешься владельцем этого адреса - то есть публичный ключ и ecdsa-подпись уезжают в сегвит-данные и передаются в сеть отдельно от блока.
|
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
 |
April 12, 2016, 09:13:10 AM |
|
А ноды проверяли все транзакции в блоке. Теперь, что, будут верить майнерам на слово. Странно. Так и раньше можно было бы верить на слово.  Никто майнерам на слово не верит. У них есть сильный аргумент - доказательство работы (PoW). Смешно. Что, если выполнил работу, могут записать в блок всё что угодно.  Я думаю, что фулл-ноды по прежнему будут проверять, значит будут передавать друг другу сегвит-блок. И скорее всего, большинство будут хранить их. Место на диске на данный момент вовсе даже не критично.
Все верно. Но, так как это софт-форк, то реализация такова, что нодам не обязательно понимать подпись. Старые ноды, те, что не обновятся на сегвит, не будут ее понимать 100%. Для них подпись сегвит будет выглядеть как "Потратить может каждый", и плюс некоторые не читаемые данные, которые впрочем не помеха, мало ли, что отправитель транзакции захотел туда вписать. Главное, что данные определяющие дальнейшую проходимость по сети верные. И так как старая нода видит подпись как "Потратить может каждый", а это с ее точки зрения валидная подпись, то нода транзакцию толкает дальше. Речь не идет про устаревшие ноды.Ведь предполагается, что все ноды должны будут обновиться.
|
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:15:45 AM |
|
Речь не идет про устаревшие ноды.Ведь предполагается, что все ноды должны будут обновиться.
Нет, это же софт-форк. Обновиться должны только майнеры. Все остальные юзеры сети могут продолжать работать не обновляясь и не замечая изменений.
|
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
 |
April 12, 2016, 09:18:31 AM |
|
Я думаю, что фулл-ноды по прежнему будут проверять, значит будут передавать друг другу сегвит-блок. И скорее всего, большинство будут хранить их. Место на диске на данный момент вовсе даже не критично. Ага. То-то народ так обрадовался когда -prune режим ввели. Место не очень критично. Но если вопрос стоит "хранить лишние 50 гигабайт" или "не хранить лишние 50 гигабайт потому что не нужно это" - то народ не станет хранить. Большинство из держателей нод не особо разбираются в этом. Они просто верят. Им сказали - держи ноду и будешь поддерживать сеть. Они и держат сборку с дефалтовыми параметрами. Им сказали - ходи в церковь по воскресеньям - они и ходят. Секта, блин, святого туземуна  Один я - антихрист.  Ну, обычных пользователей, которые держат ноды,чтобы сделать свои 5 транзакций, я вообще не рассматриваю. Они, как временный этап, со временем исчезнут. 
|
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
 |
April 12, 2016, 09:21:12 AM |
|
Речь не идет про устаревшие ноды.Ведь предполагается, что все ноды должны будут обновиться.
Нет, это же софт-форк. Обновиться должны только майнеры. Все остальные юзеры сети могут продолжать работать не обновляясь и не замечая изменений. "все ноды должны будут обновиться." Добавлю "со временем" А кто будет делать сегвит-транзакции? Если обновятся только майнеры.
|
|
|
|
|
Yaremi
Legendary
Offline
Activity: 2100
Merit: 1160
Community Ambassador of Qzino
|
 |
April 12, 2016, 09:29:05 AM |
|
А если большинство майнеров не обновиться? 
|
Community Ambassador of Qzino Next-generation crypto iGaming platform. Provably fair. With AI inside. Daily profit sharing. https://qzino.com/
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:30:22 AM |
|
"все ноды должны будут обновиться." Добавлю "со временем" А кто будет делать сегвит-транзакции? Если обновятся только майнеры. Давайте понимать разницу между терминами "должны" и "могут" Юзеры (и ноды) могут обновиться, а могут и не обновляться. Хоть год, хоть два... Хоть десять. (там могут накопиться какие-то другие изменения в протоколе или все-таки возобладает хард-форк) Но старые форматы транзакций никто не запрещает, а преимущество нового сегвит-формата не очевидно. А майнеры обязаны будут это сделать по сути.
|
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:31:20 AM |
|
А если большинство майнеров не обновиться?  Тогда сегвит не будет рожден. Или как говорится "умрет в зародыше". Такое тоже возможно. -ться, -тся! учите русский, блиать!
|
|
|
|
|
|
Eqvant
|
 |
April 12, 2016, 09:33:35 AM |
|
"все ноды должны будут обновиться." Добавлю "со временем"
А кто будет делать сегвит-транзакции? Если обновятся только майнеры.
Транзакции может делать любой желающий, если будет соответствующий клиент дающий такую возможность. Ноды передающие эти транзакции по сети не обязательно должны быть обновлены, хоть старая, хоть новая нода сегвит транзакцию передадут. Обновление нод в данном случае не важный фактор.
|
Не пропусти смену тренда, будь всегда в курсе цены bitcoin. Попробуй мой telegram бот CryprusPrice.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:44:31 AM |
|
Транзакции может делать любой желающий, если будет соответствующий клиент дающий такую возможность. Ноды передающие эти транзакции по сети не обязательно должны быть обновлены, хоть старая, хоть новая нода сегвит транзакцию передадут. Обновление нод в данном случае не важный фактор.
Увы, фактор все-таки важный. Существующие ноды проверяют формат выходов в транзакциях и передают только транзакции со стандартными выходами. По-моему (хотя стоит проверить) сегвит-выход нынешние ноды будут считать нестандартным и релеить такие транзакции не станут. Это правило насчет стандартности выходов, как вы знаете, не применяется для транзакций в блоках. То есть для внедрения сегвита надо во-первых обновление майнеров. А во вторых обновление какого-то значительного числа нод для придания сети связности. Мы чота опять в технические дебри залезли. Давайте звать паника, пусть он нам а графиках поколдует
|
|
|
|
|
|
Eqvant
|
 |
April 12, 2016, 09:48:18 AM |
|
Если я правильно понимаю, то дерево сегвит хешей никто удалять не будет. И так как каждый блок должен содержать верный хеш цепи,
Что значит "верный"? В блоке N будет записанный хэш 123123123 Как вы определите - верный он или нет, если самого дерева сегвит-данных у вас нет? Дерево в сегвит-данных, то есть отдельно от блока. А блок вы получили от ноды с версией 0.12.0 - эта нода ни про какие "побочные" данные не знает. Ей передали - она и ретранслирует дальше. а мы знаем что он будет строится из хеша сегвит в том числе, то блок N не может просто так вклиниться в цепь. Все увидят это несоответствие. Несоответствие можно увидеть, если есть что проверять. Где вы возьмете сегвит-данные, если все ноды условно говоря на ваш запрос ответят "извини, старье потерли" Вот тут то мне уже надо на пальцах раскладывать. И так, некий майнер вырывается вперед планеты всей. Все переходят на его цепочку. При этом майнер начудил в N блоке. Ну и чем это отличается от настоящей реальности? Сейчас ведь, если майнер провернет такой финт, будет тоже самое.
|
Не пропусти смену тренда, будь всегда в курсе цены bitcoin. Попробуй мой telegram бот CryprusPrice.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 09:56:10 AM |
|
Вот тут то мне уже надо на пальцах раскладывать. И так, некий майнер вырывается вперед планеты всей. Все переходят на его цепочку. При этом майнер начудил в N блоке. Ну и чем это отличается от настоящей реальности? Сейчас ведь, если майнер провернет такой финт, будет тоже самое. Нет. Сейчас блок, который не проходит валидацию сигнатур не считается валидным. А он виден в блокчейне. И остальные его не примут. В сегвите же любой по сути блок будет формально валидным. Для других майнеров не будет оснований его не одобрить. Он не полный. Но неполный - не означает неверный. То есть перед майнером две альтернативы - либо ждать и искать сегвит-данные от этого блока и не считать его валидным, пока данные не проверены. Либо считать валидным, даже не имея сегвит-данных. Победит та стратегия, которая наберет 51% мощности. Что если победит вторая стратегия?
|
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
 |
April 12, 2016, 10:02:08 AM |
|
"все ноды должны будут обновиться." Добавлю "со временем"
А кто будет делать сегвит-транзакции? Если обновятся только майнеры.
Транзакции может делать любой желающий, если будет соответствующий клиент дающий такую возможность. Ноды передающие эти транзакции по сети не обязательно должны быть обновлены, хоть старая, хоть новая нода сегвит транзакцию передадут. Обновление нод в данном случае не важный фактор. Подозреваю, что старая нода сегвит-транзакцию не передаст.Вернее передаст только часть без подписей, которая попадает в основной блок. Но этого недостаточно. Если до майнера дойдет без подписей, майнер не включит эту транзакцию в блок.
|
|
|
|
|
|
Eqvant
|
 |
April 12, 2016, 10:08:16 AM |
|
По-моему (хотя стоит проверить) сегвит-выход нынешние ноды будут считать нестандартным и релеить такие транзакции не станут. Это правило насчет стандартности выходов, как вы знаете, не применяется для транзакций в блоках.
Почему они будут считать нестандартным? Разве scriptPubKey не будет содержать, по мнению старых нод, право тратить кому угодно?
|
Не пропусти смену тренда, будь всегда в курсе цены bitcoin. Попробуй мой telegram бот CryprusPrice.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 10:15:20 AM |
|
Почему они будут считать нестандартным? Разве scriptPubKey не будет содержать, по мнению старых нод, право тратить кому угодно?
scriptPubKey имеет несколько стандартных форм. стандартных форм если не вру всего 5 1) pay-to-public-key 2) pay-to-public-key-hash 3) bare multisig 4) pay-to-script-hash 5) null-data (op_return) если вы сегодня сформируете и попытаетесь послать транзакцию в выходе которой будет что-то по формату отличающееся от этих пяти форм - то ноды такую транзакцию сочтут нестандартной и не пропустят дальше.Есть, конечно, ноды, которые плюют на эту проверку, но их буквально несколько штук на всю сеть. я точно не знаю какую форму имеет сегвит-выход (их может быть несколько). но по идее такой выход должен иметь отдельный формат, чтобы сегвит-майнер смог бы эту транзакцию правильно обработать, распотрошить её на две части и распихать в блок и дерево.
|
|
|
|
|
|
Eqvant
|
 |
April 12, 2016, 10:18:45 AM |
|
То есть перед майнером две альтернативы - либо ждать и искать сегвит-данные от этого блока и не считать его валидным, пока данные не проверены. Либо считать валидным, даже не имея сегвит-данных. Победит та стратегия, которая наберет 51% мощности. Что если победит вторая стратегия?
Вроде понятно. Очень глупо если майнеры решат принимать блоки с непроверенными сегвит данными. И почему то мне кажется, что такую стратегию они не примут.
|
Не пропусти смену тренда, будь всегда в курсе цены bitcoin. Попробуй мой telegram бот CryprusPrice.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
 |
April 12, 2016, 10:33:21 AM |
|
Вроде понятно. Очень глупо если майнеры решат принимать блоки с непроверенными сегвит данными. И почему то мне кажется, что такую стратегию они не примут. Еще раз обращаю ваше внимание - сейчас майнеры именно так и поступают. Они не дожидаются, пока к ним приедет блок по сети. Потому что это задержка на несколько секунд. Потом надо будет блок распарсить, проверить, выкинуть из своего мемпула уже подтвержденные транзакции, пересчитать меркль-хэш... Майнеры давно перешли на более выгодный способ майнинга. SPV-майнинг. Как только один пул видит, что другой пул начинает своим асик-холдерам давать новое задание по стратуму, он тут же сам начинает давать своим майнерам новое задание - майнить от нового блока! Про новый блок ничего не известно кроме его хэша. Пул не знает какие в том блоке транзакции, потому что сеть еще не принесла ему этот блок. Поэтому и своим майнерам он дает блок-пустышку, без транзакций. Это гарантирует что не будет конфликтов. Обращали внимание, сколько блоков только с coinbase-транзакцией? Это последствия SPV-майнинга - упрощенной проверки. По сути - отсутствия проверки вообще.
|
|
|
|
|
|