Telegram Group & Telegram Channel
​​
Новый класс меток Noinput

В продолжение поста
про OP_CHECKTEMPLATEVERIFY (OP_CTV)
⬇️⬇️⬇️
С Signature Hash Types
разобрались

Транзакция состоит из:

Input (Вход) - это ссылка на выход другой транзакции. У транзакции их может быть несколько. Ссылки суммируются и сумма BTC используется в выходе этой транзакции.

Output (Выход) - содержит информацию об отправке BTC. Их может быть несколько, тогда они делят сумму пришедшую со входа между собой.Каждый выход используется для входа следующей транзакции, только один раз. Сумма всех входов для транзакции используется на её выходах.

Разработчик Blockstream и Xapo Кристиан Декер и Таунс разработали новый вид "меток SIGHASH": SIGHASH NOINPUT, SIGHASH ANYPREVOUT,
SIGHASH ANYPREVOUTANYSCRIPT

Как я уже писал, транзакция состоит из нескольких частей информации. Входные данные разблокируют монеты, выходные данные запирают монеты с указанием будущей траты и т.д.

Добавляется подпись соответствующая PublicKey, которая доказывает, что их владелец хочет произвести трату.

Подписывать каждую часть транзакции необязательно. Можно указать какую часть транзакции подписывать при помощи SIGHASH.

Новый класс Noinput (Noinput, Anyprevout и Anyprevoutanyscript) указывает, что выходные данные будут подписаны, а входные нет. Это значит, что не подписывая входные данные, можно осуществить транзакцию, поменяв местами совместимые входы, не генерируя новую подпись.

Таких совместимых входов, чаще всего не существует. Подпись соответствует PublicKey, а следовательно определенным монетам. Замена входа на другой приведет к тому, что транзакция станет недействительной.

Но не все так противоречиво :)

Разбирая стек биткоина я писал о решении для упрощенного способа осуществления "off-chain" (внесетевых) транзакций - Eltoo.

Чтобы Bitcoin мог поддерживать Eltoo, алгоритм подписей sighash noinput должен быть внедрен в код Bitcoin.

Имея возможность менять данные на входе, в промежутке между инициацией транзакции и записи ее в блокчейн, все записи об операциях, совершенные с момента открытия платежного канала до момента его закрытия, будут удалены. Первоначальные и конечные входные данные будут отличаться.

Такое решение необходимо, так как eltoo добавляет процедуру, которая делает каждое обновленное состояние платежного канала заданным. Любое обновление канала, например, когда А совершает транзакцию Б, состоит из двух транзакций, каждая из которых хранит, и впоследствии полностью заменяет, предыдущую транзакцию.

При помощи Eltoo оба пользователя канала сохраняют копию одной и той же необработанной транзакции - "update transaction", которая представляет их средства в канале. Эту транзакцию подписывают оба пользователя и каждый из них может транслировать ее в блокчейн.

Один из пользователей решает транслировать транзакцию в сеть. Средства могут быть потрачены двумя способами:

1) Оба пользователя тратят свою долю средств до истечения временного интервала

2) Средства используются для траты на новую взаимоподписанную "update transaction".

В Eltoo операции update пронумерованы в хронологическом порядке. Update transaction 3 может тратить средства из 2, а update transaction 2 из 1, но не наоборот.

В сети Bitcoin уже возможно такое, но куда же без нюансов...Так как входные данные должны быть подписаны, update transaction должны ссылаться только на выходные данные транзакции, которая была перед ней. Т.е. 3 тратит из 2, но не из 1.

Если таких транзакций 100, а первая транслируется в сеть, то реальный баланс канала можно восстановить только транслируя все последующие транзакции. Это очень большая нагрузка на сеть.

Чтобы update transaction мог тратить средства из 2 и из 1, необходимы метки Noinput. При замене входных данных последняя update transaction всегда может быть переписана для прямой ссылки на любую другую транзакцию.

Обмен входными данными возможен. Ведь независимо от того, какая предыдущая транзакция выбрана, в платежном канале требуемые подписи всегда исходят от одних и тех же двух пользователей с одинаковыми двумя public и private keys.



tg-me.com/CryptoBotan/978
Create:
Last Update:

​​
Новый класс меток Noinput

В продолжение поста
про OP_CHECKTEMPLATEVERIFY (OP_CTV)
⬇️⬇️⬇️
С Signature Hash Types
разобрались

Транзакция состоит из:

Input (Вход) - это ссылка на выход другой транзакции. У транзакции их может быть несколько. Ссылки суммируются и сумма BTC используется в выходе этой транзакции.

Output (Выход) - содержит информацию об отправке BTC. Их может быть несколько, тогда они делят сумму пришедшую со входа между собой.Каждый выход используется для входа следующей транзакции, только один раз. Сумма всех входов для транзакции используется на её выходах.

Разработчик Blockstream и Xapo Кристиан Декер и Таунс разработали новый вид "меток SIGHASH": SIGHASH NOINPUT, SIGHASH ANYPREVOUT,
SIGHASH ANYPREVOUTANYSCRIPT

Как я уже писал, транзакция состоит из нескольких частей информации. Входные данные разблокируют монеты, выходные данные запирают монеты с указанием будущей траты и т.д.

Добавляется подпись соответствующая PublicKey, которая доказывает, что их владелец хочет произвести трату.

Подписывать каждую часть транзакции необязательно. Можно указать какую часть транзакции подписывать при помощи SIGHASH.

Новый класс Noinput (Noinput, Anyprevout и Anyprevoutanyscript) указывает, что выходные данные будут подписаны, а входные нет. Это значит, что не подписывая входные данные, можно осуществить транзакцию, поменяв местами совместимые входы, не генерируя новую подпись.

Таких совместимых входов, чаще всего не существует. Подпись соответствует PublicKey, а следовательно определенным монетам. Замена входа на другой приведет к тому, что транзакция станет недействительной.

Но не все так противоречиво :)

Разбирая стек биткоина я писал о решении для упрощенного способа осуществления "off-chain" (внесетевых) транзакций - Eltoo.

Чтобы Bitcoin мог поддерживать Eltoo, алгоритм подписей sighash noinput должен быть внедрен в код Bitcoin.

Имея возможность менять данные на входе, в промежутке между инициацией транзакции и записи ее в блокчейн, все записи об операциях, совершенные с момента открытия платежного канала до момента его закрытия, будут удалены. Первоначальные и конечные входные данные будут отличаться.

Такое решение необходимо, так как eltoo добавляет процедуру, которая делает каждое обновленное состояние платежного канала заданным. Любое обновление канала, например, когда А совершает транзакцию Б, состоит из двух транзакций, каждая из которых хранит, и впоследствии полностью заменяет, предыдущую транзакцию.

При помощи Eltoo оба пользователя канала сохраняют копию одной и той же необработанной транзакции - "update transaction", которая представляет их средства в канале. Эту транзакцию подписывают оба пользователя и каждый из них может транслировать ее в блокчейн.

Один из пользователей решает транслировать транзакцию в сеть. Средства могут быть потрачены двумя способами:

1) Оба пользователя тратят свою долю средств до истечения временного интервала

2) Средства используются для траты на новую взаимоподписанную "update transaction".

В Eltoo операции update пронумерованы в хронологическом порядке. Update transaction 3 может тратить средства из 2, а update transaction 2 из 1, но не наоборот.

В сети Bitcoin уже возможно такое, но куда же без нюансов...Так как входные данные должны быть подписаны, update transaction должны ссылаться только на выходные данные транзакции, которая была перед ней. Т.е. 3 тратит из 2, но не из 1.

Если таких транзакций 100, а первая транслируется в сеть, то реальный баланс канала можно восстановить только транслируя все последующие транзакции. Это очень большая нагрузка на сеть.

Чтобы update transaction мог тратить средства из 2 и из 1, необходимы метки Noinput. При замене входных данных последняя update transaction всегда может быть переписана для прямой ссылки на любую другую транзакцию.

Обмен входными данными возможен. Ведь независимо от того, какая предыдущая транзакция выбрана, в платежном канале требуемые подписи всегда исходят от одних и тех же двух пользователей с одинаковыми двумя public и private keys.

BY CryptoBotan




Share with your friend now:
tg-me.com/CryptoBotan/978

View MORE
Open in Telegram


CryptoBotan Telegram | DID YOU KNOW?

Date: |

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

Export WhatsApp stickers to Telegram on iPhone

You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.

CryptoBotan from tr


Telegram CryptoBotan
FROM USA