Bitcoin Forum
May 25, 2024, 06:04:52 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Критичность храненея подписей в БЧ  (Read 163 times)
Maximion (OP)
Newbie
*
Offline Offline

Activity: 22
Merit: 2


View Profile
November 08, 2022, 11:25:59 AM
 #1

Является ли критичным обязательное хранение подписей в БЧ?
По идее если сеть так или иначе пришла к консенсусу по данным, то зачем хранить и хешировать подписи, если они не несут вроде никакой ценности уже?
~DefaultTrust
Copper Member
Sr. Member
****
Offline Offline

Activity: 1554
Merit: 489

Stop the war!


View Profile
November 08, 2022, 11:36:53 AM
Merited by xandry (4)
 #2

Является ли критичным обязательное хранение подписей в БЧ?
По идее если сеть так или иначе пришла к консенсусу по данным, то зачем хранить и хешировать подписи, если они не несут вроде никакой ценности уже?
Подписи хранить конечно не обязательно.
Просто без подписи битки считаются ничейными, а значит их может забрать любой. В реальности заберет тот, чья транзакция первой попадет в блок - это или майнер или тот, кто назначит самую большую комиссию.

Do not trust bitcointalk fascists: leonello; Snork1979; ivan1975
Maximion (OP)
Newbie
*
Offline Offline

Activity: 22
Merit: 2


View Profile
November 08, 2022, 02:08:21 PM
 #3

Является ли критичным обязательное хранение подписей в БЧ?
По идее если сеть так или иначе пришла к консенсусу по данным, то зачем хранить и хешировать подписи, если они не несут вроде никакой ценности уже?
Подписи хранить конечно не обязательно.
Просто без подписи битки считаются ничейными, а значит их может забрать любой. В реальности заберет тот, чья транзакция первой попадет в блок - это или майнер или тот, кто назначит самую большую комиссию.

почему ничейными? речь о том что транзакции остаются с подписью и блоки тоже, но когда блок А ссылается на блок Б то он может ссылаться(хешировать) только на фактические данные а не всё подряд. Остальные получая блок Б делают тоже самое, тем самым манейр блока А не может туда вписапь шопопало, иначе он просто выпадет из консенсуса
~DefaultTrust
Copper Member
Sr. Member
****
Offline Offline

Activity: 1554
Merit: 489

Stop the war!


View Profile
November 08, 2022, 03:31:24 PM
 #4

Является ли критичным обязательное хранение подписей в БЧ?
По идее если сеть так или иначе пришла к консенсусу по данным, то зачем хранить и хешировать подписи, если они не несут вроде никакой ценности уже?
Подписи хранить конечно не обязательно.
Просто без подписи битки считаются ничейными, а значит их может забрать любой. В реальности заберет тот, чья транзакция первой попадет в блок - это или майнер или тот, кто назначит самую большую комиссию.

почему ничейными? речь о том что транзакции остаются с подписью и блоки тоже, но когда блок А ссылается на блок Б то он может ссылаться(хешировать) только на фактические данные
Подпись включена в хэш транзакции. Не будет подписи - никак не проверить правильность хэша транзакции. Не проверите хэш транзакции - не сможете проверить хэш блока.
Клиентам, которые в сети, в принципе пофиг на эти проверки. Они получили свою копию БЧ и могут спать спокойно. А если клиент новый? Ему надо каждый блок качать друг за другом и проверять все хэши на валидность.
Если удастся подписи надежно хранить в другом месте, то в это другое место можно и все остальное запихнуть тогда.

Do not trust bitcointalk fascists: leonello; Snork1979; ivan1975
igor72
Legendary
*
Offline Offline

Activity: 1848
Merit: 2033


Crypto Swap Exchange


View Profile
November 11, 2022, 02:22:34 PM
 #5

Подпись включена в хэш транзакции. Не будет подписи - никак не проверить правильность хэша транзакции. Не проверите хэш транзакции - не сможете проверить хэш блока
В сегвит подпись не входит в хэш транзакции, а таких транзакций уже процентов 80, если не ошибаюсь.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
A-Bolt
Legendary
*
Offline Offline

Activity: 2317
Merit: 2318


View Profile
November 11, 2022, 03:24:43 PM
Merited by xandry (3), igor72 (3), klarki (2)
 #6

В сегвит подпись не входит в хэш транзакции
Смотря в какой хеш. У нас теперь для транзакций два ID: txid и wtxid. Для wtxid транзакция хешируется вместе с witness.

Сами по себе ID транзакций в блоке не хранятся, вместо этого хранится корень дерева Меркла, который вычисляется из ID всех транзакций. И теперь у нас два таких корня. Первый - hashMerkleRoot вычисляется из txid всех транзакций и хранится в заголовке блока. Второй - witness root hash вычисляется из wtxid всех транзакций и помещается в выход типа OP_RETURN транзакции coinbase. Получается, что txid транзакции coinbase зависит от witness root hash. hashMerkleRoot, в свою очередь, зависит от txid coinbase, а хеш блока, опять же, зависит от hashMerkleRoot.

Итого получаем: хеш блока зависит от witness каждой транзакции по следующей схеме:
witness -> wtxid -> witness root hash -> coinbase_txid -> hashMerkleRoot -> block_hash
igor72
Legendary
*
Offline Offline

Activity: 1848
Merit: 2033


Crypto Swap Exchange


View Profile
November 11, 2022, 03:47:47 PM
 #7

и помещается в выход типа OP_RETURN транзакции coinbase.
Спасибо, этого не знал. Видел эти op_return в первой транзакции, теперь понятно, что там. Хотя их там часто по три штуки вместо одного.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
amaclin1
Sr. Member
****
Offline Offline

Activity: 770
Merit: 305


View Profile
December 02, 2022, 09:36:30 AM
Merited by xandry (4), imhoneer (1), Polkeins (1)
 #8

Является ли критичным обязательное хранение подписей в БЧ?
По идее если сеть так или иначе пришла к консенсусу по данным, то зачем хранить и хешировать подписи, если они не несут вроде никакой ценности уже?
Ценность как раз есть.
Вот подключается к сети новый участник и скачивает блокчейн.
Ему для этого надо проверить, что он скачивает тот блокчейн, который у всех остальных добропорядочных узлов в мире, а не тот, который ему подсовывает сосед-злоумышленник. А для этого нужно проверить в том числе что все транзакции во всех блоках валидные. А без подписей это не доказать.

Сеть не может прийти к консенсусу данных (это просто бессмысленный набор слов) - потому что сеть это просто много отдельных узлов. Это не какой-то единый мозг, надо понимать, что это скорее стая птиц. Снаружи кажется что это нечто единое. А на самом деле обеспечивается действиями каждого участника самостоятельно. Не стая птиц летит на юг. Каждая из птиц летит сама на юг, глядя на соседей и повинуюсь правилам/инстинктам

Надо еще добавить, что
1) существуют способы ускорения начальной проверки подписей - контрольные точки. Но по сути дела - это некий лайфхак
2) вынесение подписей в сегвите - это не способ избавиться от подписей в блокчейне, а костыль, позволяющий без изменения консенсуса увеличить количество транзакций в блоке. То есть тоже никуда не деться от хранения
3) вы лично можете у себя на винчестере подписи не хранить - всем остальным в мире на это плевать с высокой колокольни

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!