Вот стенограмма презентации. Жесткая вилка, возможно, даже не требуется.
Объяснение Гэвина:
котировка
Pieter Wuille дал фантастическое представление на «сегрегированных Свидетель» в Гонконге. Это отличная идея, и должно быть развернуто в Bitcoin, как только безопасно возможно. Это своего рода фундаментальной идеи, которая будет иметь огромные выгоды в будущем. Кроме того, необходимо лучшее название ( «сегрегация» имеет все виды негативных коннотаций ...).
Вы должны смотреть презентации Питера, но я дам другую закрутку объяснить, что это такое (я знаю, что часто нужно что-то объяснил мне несколько различных способов, прежде чем я действительно понимаю).
Так ... отправка Bitcoin в свидетельской автоподстройке выход в Segregate будет выглядеть странный маленький Beastie в современном blockchain explorers- это будет выглядеть как «любой человек может провести» сделку, с scriptPubKey из:
PUSHDATA [version_byte + validation_script]
Проводит сегрегированные свидетель автоподстройки выходов будут иметь тривиальные один байты, scriptSig из OP_NULL (или, может быть OP_NOP - Там буду Bikeshedding над деталями).
Причина, по которой не безумен, потому что РЕАЛЬНЫЙ scriptSig для сделки будет помещен в отдельную, новую структуру данных, а также бумажники и шахтеры, которые делают проверку будут использовать эту новую структуру данных, чтобы убедиться, что подписи для сделки являются действительными, и т.п.
Эта структура данных будет Merkle дерева, которое отражает Merkle дерева транзакций, который введен в блоке заголовок каждого блока. Каждая сделка с обособленным входом свидетелей будет иметь запись в этом втором Merkle дерева с данными подписи в нем (плюс 10 или около того дополнительных байт на вход, чтобы позволить мошенничество доказательства).
Лучший дизайн объединить транзакционные и сегрегация свидетелем Merkle деревьев в одно дерево, с левой стороны от корня дерева, данные сделки и с правой стороны сегрегированные данных свидетелей. Корень Merkle в заголовке блока будет просто, что комбинированное дерево. Это может (и должен, на мой взгляд) сделать как жесткий вилкой; Питер предлагает делать это в мягкой вилке, на начинку сегрегированного корень свидетель Merkle в первую (coinbase) транзакцию в каждом блоке, который является более сложным и менее элегантно, но означает, что она может быть развернута в виде мягкой вилки.
Независимо от того, как он раскатывается, это будет плавный переход к кошелькам и большинство конечных users-, если вы не хотите использовать новомодные сегрегированных сделки свидетелей, вы не должны. Отдавая кому-то, кто использует новомодные операции выглядит так же, как платить кому-то, используя новомодную multisig бумажник (а «3something» BIP13 Bitcoin адрес).
Там нет требования, что бумажники обновить, но никто генерируя много сделок будет иметь сильный стимул для создания обособленного свидетеля transactions- Pieter предлагает дать сегрегированным Операции со Witness скидкой на операционных издержках, пути не полностью подсчета данных обособленных свидетелей, когда выяснить, плата за килобайт транзакции заряда. Итак ... как же все это с помощью одного мегабайта предельного размера блока?
Ну, как только все детали отработаны, и мягкий или жесткий вилок мимо, и значительная часть сделок расходует отделенны свидетель автоподстройки выходов ... больше сделок будут вписываться в жесткий лимит 1 мегабайта. Например, простейший один-вход, один выход-отделены сделка свидетель будет около 90 байт данных транзакции плюс 80 или около того байта signature- только те 90 байт нужно сжать в блок один мегабайт, вместо 170 байт. Более сложные операции мульти-подпись сэкономить еще больше. Поэтому, как только все переместились своими монеты к изолированным свидетелям автоподстройки выходов и все операции с использованием обособленную свидетеля, два или три раза больше сделок будут втиснуться в один мегабайте предел блока.
Раздельные операции свидетелей не помогут с текущим масштабированием узкого места, которое, как долго он принимает сообщение на один-мегабайтный «блока» распространяться поперек сотовой сети они будут брать столько же пропускную способность, как и раньше. Есть несколько проектов, в ходе, чтобы попытаться решить эту проблему (IBLTs, слабые блоки, тонкие блоки, «blocktorrent» протокол), и тот, который уже развернут и делает распространение один мегабайт блок намного быстрее, чем это было бы в противном случае быть (Мф Corallo, пост реле сети).
Я думаю, что это разумно рассчитывать на успех. Раздельное свидетель это круто, но это не краткосрочное решение проблем, мы уже видим, как мы бежим в один мегабайт предельный размер блока.
Вы должны смотреть презентации Питера, но я дам другую закрутку объяснить, что это такое (я знаю, что часто нужно что-то объяснил мне несколько различных способов, прежде чем я действительно понимаю).
Так ... отправка Bitcoin в свидетельской автоподстройке выход в Segregate будет выглядеть странный маленький Beastie в современном blockchain explorers- это будет выглядеть как «любой человек может провести» сделку, с scriptPubKey из:
PUSHDATA [version_byte + validation_script]
Проводит сегрегированные свидетель автоподстройки выходов будут иметь тривиальные один байты, scriptSig из OP_NULL (или, может быть OP_NOP - Там буду Bikeshedding над деталями).
Причина, по которой не безумен, потому что РЕАЛЬНЫЙ scriptSig для сделки будет помещен в отдельную, новую структуру данных, а также бумажники и шахтеры, которые делают проверку будут использовать эту новую структуру данных, чтобы убедиться, что подписи для сделки являются действительными, и т.п.
Эта структура данных будет Merkle дерева, которое отражает Merkle дерева транзакций, который введен в блоке заголовок каждого блока. Каждая сделка с обособленным входом свидетелей будет иметь запись в этом втором Merkle дерева с данными подписи в нем (плюс 10 или около того дополнительных байт на вход, чтобы позволить мошенничество доказательства).
Лучший дизайн объединить транзакционные и сегрегация свидетелем Merkle деревьев в одно дерево, с левой стороны от корня дерева, данные сделки и с правой стороны сегрегированные данных свидетелей. Корень Merkle в заголовке блока будет просто, что комбинированное дерево. Это может (и должен, на мой взгляд) сделать как жесткий вилкой; Питер предлагает делать это в мягкой вилке, на начинку сегрегированного корень свидетель Merkle в первую (coinbase) транзакцию в каждом блоке, который является более сложным и менее элегантно, но означает, что она может быть развернута в виде мягкой вилки.
Независимо от того, как он раскатывается, это будет плавный переход к кошелькам и большинство конечных users-, если вы не хотите использовать новомодные сегрегированных сделки свидетелей, вы не должны. Отдавая кому-то, кто использует новомодные операции выглядит так же, как платить кому-то, используя новомодную multisig бумажник (а «3something» BIP13 Bitcoin адрес).
Там нет требования, что бумажники обновить, но никто генерируя много сделок будет иметь сильный стимул для создания обособленного свидетеля transactions- Pieter предлагает дать сегрегированным Операции со Witness скидкой на операционных издержках, пути не полностью подсчета данных обособленных свидетелей, когда выяснить, плата за килобайт транзакции заряда. Итак ... как же все это с помощью одного мегабайта предельного размера блока?
Ну, как только все детали отработаны, и мягкий или жесткий вилок мимо, и значительная часть сделок расходует отделенны свидетель автоподстройки выходов ... больше сделок будут вписываться в жесткий лимит 1 мегабайта. Например, простейший один-вход, один выход-отделены сделка свидетель будет около 90 байт данных транзакции плюс 80 или около того байта signature- только те 90 байт нужно сжать в блок один мегабайт, вместо 170 байт. Более сложные операции мульти-подпись сэкономить еще больше. Поэтому, как только все переместились своими монеты к изолированным свидетелям автоподстройки выходов и все операции с использованием обособленную свидетеля, два или три раза больше сделок будут втиснуться в один мегабайте предел блока.
Раздельные операции свидетелей не помогут с текущим масштабированием узкого места, которое, как долго он принимает сообщение на один-мегабайтный «блока» распространяться поперек сотовой сети они будут брать столько же пропускную способность, как и раньше. Есть несколько проектов, в ходе, чтобы попытаться решить эту проблему (IBLTs, слабые блоки, тонкие блоки, «blocktorrent» протокол), и тот, который уже развернут и делает распространение один мегабайт блок намного быстрее, чем это было бы в противном случае быть (Мф Corallo, пост реле сети).
Я думаю, что это разумно рассчитывать на успех. Раздельное свидетель это круто, но это не краткосрочное решение проблем, мы уже видим, как мы бежим в один мегабайт предельный размер блока.