Теперь здесь, где я запутаться.
мы можем использовать реальный пример. давайте эту сделку, что я получил от blockchain.info
010000000118d68350c1dcda804cc1cf5d9137fea5ea90a2ec3ffee63c47881b42043197d301000 0006b483045022100b4004f6cc5fe81527b62b090a9c5cf0343e8d7e0092b749f797a0363cd1f8b9d022 03440e3f4dc6dc29f095b0a93eccf66b3fd9ac88713695bd71dc8ee61cc89776a012103424bf6a8 1b8b327631f044e11f18eb8fc665288739c5e72377614d3e7580721bffffffff0240933402000000001976a9140177884fc893f5264be7e424781f7574c7b3a6b788ac4 d3ed118000000001976a9141595049c14d3b94e24069e33480f9d182c518fea88ac00000000
я сделал scriptsig в полужирный. я предполагаю, что это то, что вы называете "свидетель" верный?
Нет. Scriptsig и свидетель две разные вещи. Данные, поступающие в свидетельстве данные, которые будут идти в scriptsig, если выход свидетеля был нормальным p2pkh или p2sh выхода. В этом примере транзакции, если выход он тратит от была оплата за свидетеля-Публичных-хэш (p2wpkh), то данные, которые в scriptsig будет найдено в свидетельстве. Однако, так как выход p2pkh, данные в настоящее время в scriptsig будет оставаться там, где это даже после того, как segwit активируется.
мое смятение это о том, где это "поле" на самом деле находится. это все еще внутри сделки?
Да. Он все еще является частью сделки. Формат сделки был продлен segwit.
если да, то как это будет выглядеть и как она отличается?
Предположим, что пример транзакции вы вывесили тратили от выхода p2wpkh вместо выхода p2pkh. Сделка будет выглядеть следующим образом:
0100000000010118d68350c1dcda804cc1cf5d9137fea5ea90a2ec3ffee63c47881b42043197d3010000006b00ffffffff0240933402000000001976a9140177884fc893f5264be7e424781f7574c7b3a6b788ac4 d3ed118000000001976a9141595049c14d3b94e24069e33480f9d182c518fea88ac02483045022100b4004f6cc5fe81527b62b090a9c5cf0343e8d7e0092b749f797a0363cd1f8b9d0 2203440e3f4dc6dc29f095b0a93eccf66b3fd9ac88713695bd71dc8ee61cc89776a012103424bf6 a81b8b327631f044e11f18eb8fc665288739c5e72377614d3e7580721b00000000
Я жирный шрифт тех частей, которые были изменены. Scriptsig теперь пусты, и что было в scriptsig теперь находятся после выходов. Это поле после выходов свидетель. Существует также 0x0001 после номера версии, которая позволяет нам знать, что есть поле свидетеля после выхода.
а также "не учитывается" Вы имеете в виду, что не входит в 1 МБ блока, если да, то как вы можете проверить сделку позже?
Данные свидетеля не учитывается как часть 1 МБ блока. Сделка по-прежнему проверяется, как это обычно было бы, так как любой узел, который может понять segwit будет требовать, чтобы сделки, которые он получает в формате segwit сериализации. Это означает, что он должен получить свидетель или сделка будет считаться недействительной. То же самое происходит с блоками; все операции в блоке, которые имеют свидетелей должны быть в формате segwit сериализации в противном случае блок будет считаться недействительным.
так как будут новые блоки выглядеть?
Они будут выглядеть как они делают это сейчас, но операции, которые имеют свидетелей будут в формате segwit сериализации.
они будут принимать большее пространство на всей blockchain
Да. После того, как segwit активирует, объем пространства, что блок может занять до 4 МБ.
извините, если вопросы слишком newbish. я недавно начал получать более техническое понимание Bitcoin и чтение Bitcoin вики, ... я могу легко понять вещи, но когда дело доходит до segwit, все усложняется, вероятно, потому, что я не нашел ничего, как хорошо написано в вики, а также там нет примеров помогает мне "визуализировать"
БИП содержит все эту информацию с некоторыми примерами тоже. Segwit определяется БИП
141,
143, а также
144