Отделённое свидетельство (SegWit)

Дата обновления 24 сент. 2026 г.

Одним предложением

Segregated Witness — обновление протокола Bitcoin, отделяющее данные свидетельства от данных для расчёта традиционного идентификатора транзакции.

Segregated Witness (SegWit) меняет способ размещения доказательств расходования, например подписей, в транзакциях Bitcoin. Для входов SegWit эта информация находится в структуре witness, исключённой из традиционного идентификатора txid. Проверяющие узлы по-прежнему передают и проверяют данные: они не удалены из процесса верификации Bitcoin.

Устойчивые идентификаторы и обязательства блока

Отделение witness устраняет важные формы пластичности транзакций, когда изменение данных подписи могло менять идентификатор без изменения предполагаемого платежа. Защита зависит от входов и условий подписания; её нельзя описывать как устранение всех возможных изменений транзакции.

Отдельный идентификатор witness-транзакции, wtxid, включает данные witness. Блоки криптографически фиксируют их через witness commitment, связанный с coinbase-транзакцией. SegWit был внедрён как софтфорк.

Вес и практический эффект

SegWit ввёл вес блока: данные вне witness учитываются с большим весом, чем witness. Это может уменьшать виртуальный размер подходящих транзакций и эффективнее использовать место в блоках. Фактические комиссии по-прежнему зависят от структуры транзакции и текущей ставки комиссии.

Более устойчивые идентификаторы поддерживают протоколы, строящие транзакции на других неподтверждённых транзакциях, включая платёжные каналы Lightning. SegWit не делает транзакции Bitcoin приватными, бесплатными или автоматически подтверждёнными.