Я понимаю, что SegWit уменьшает объем данных блока транзакций, не сохраняя подпись в блоке, что позволяет разместить больше транзакций в 1 МБ. Это связано с тем, что подпись больше не хранится в блокчейне. Подпись составляет почти 70% веса данных блока. Таким образом, в транзакции SegWit в блокчейне хранится на 70% меньше. Но где хранятся подписи, если не в блокчейне?
Это не точно. Свидетель хранится в блокчейне.
В формате segwit подпись является частью свидетеля, свидетель — частью транзакции, а транзакция записывается в блок полностью. Узлы, которые понимают SegWit, будут загружать и хранить полную транзакцию, включая подпись.
Тем не менее, segwit построен с учетом прямой совместимости. Это сделано для того, чтобы можно было создать «урезанную версию» транзакции SegWit, в которой отсутствует «свидетель». Эта урезанная версия является нестандартной действительной транзакцией в соответствии с правилами pre-segwit. Это означает, что узлы pre-segwit не будут распространять его, если он не подтвержден, но примут его, когда он будет включен в блок. Узлы с поддержкой Segwit будут считать урезанную версию неполной и, следовательно, будут зависеть от получения полной версии транзакции от другого узла с поддержкой SegWit.
Поскольку выходные данные транзакции являются частью разделенной транзакции (поскольку они не являются частью свидетеля), узлы pre-segwit придут к такому же выводу относительно владения средствами, следуя за удаленными блоками как узлы с поддержкой segwit, которые считывают полную информацию. блоки.
Частично критика segwit заключается в том, что узлы pre-segwit не будут проверять подпись транзакций segwit, поскольку они не получают свидетельство и не знают, что с ним делать. Это означает, что устаревший узел может принимать блок, недействительный для segwit, до тех пор, пока этот блок не перестанет быть частью вершины цепочки с наибольшей нагрузкой. Однако такой блок не будет хорошо распространяться по сети, поскольку около 89% узлов в сети поддерживают segwit . Если вы получаете значительную сумму средств от транзакции SegWit и используете узел, не поддерживающий SegWit, вы можете дождаться дополнительных подтверждений, прежде чем принимать их за чистую монету. Тем не менее, для значительных сумм это было бы отличной идеей в любом случае.
Он по-прежнему хранится в блокчейне. Он просто хранится таким образом, что клиенты, не использующие SegWit, никогда не увидят и не сохранят подпись.
Эрик Лаво
Марч
лайзес
Марч
влад
влад