Bitcoin Forum
November 13, 2019, 05:18:07 AM *
News: 10th anniversary art contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Синхронизация цепочки транзакций  (Read 109 times)
igor72
Hero Member
*****
Offline Offline

Activity: 574
Merit: 683

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 28, 2019, 10:21:54 AM
 #1

Теоретический вопросик.

Допустим, нужно передать битки с адреса А на адрес С через адрес В, то есть A -> B -> C, но приватник адреса В известен не только мне, но и всему миру.

Если я на локальной ноде отключусь от сети, выполню эти две транзакции (A-B и B-C без RBF) и подключусь снова, будет ли теоретическая возможность у кого-то перехватить монеты на адресе В? Просто я не понимаю, как будет происходить синхронизация этих транзакций, по отдельности или цепочки в целом?

И по RBF, я правильно понимаю, что без этого флага двойная трата сейчас практически невозможна?

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
The Bitcoin Forum is turning 10 years old! Join the community in sharing and exploring the notable posts made over the years.
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
1573622287
Hero Member
*
Offline Offline

Posts: 1573622287

View Profile Personal Message (Offline)

Ignore
1573622287
Reply with quote  #2

1573622287
Report to moderator
kzv
Legendary
*
Offline Offline

Activity: 1414
Merit: 1030


View Profile WWW
September 28, 2019, 07:20:43 PM
Merited by xenon131 (1)
 #2

Если в мемпул попадет транзакция для которой известен приватник, то с вероятностью около 100% с эти монеты перехватят. Получится цепочка A -> B -> amaclin ))

Все просто на самом деле если усвоить, что любая транзакция это контракт.
Контракт A -> B в переводе на человеческий звучит так: "я знаю приватник А, битки из А разрешается потратить любому, кто знает приватник В"
Контракт B -> C в переводе на человеческий звучит так: "я знаю приватник В, битки из В разрешается потратить любому, кто знает приватник С"



Coin-1
Hero Member
*****
Offline Offline

Activity: 812
Merit: 735



View Profile
September 28, 2019, 07:32:35 PM
Merited by igor72 (1)
 #3

Если я на локальной ноде отключусь от сети, выполню эти две транзакции (A-B и B-C без RBF) и подключусь снова, будет ли теоретическая возможность у кого-то перехватить монеты на адресе В? Просто я не понимаю, как будет происходить синхронизация этих транзакций, по отдельности или цепочки в целом?

Я так понимаю, Вы имеете в виду, что в оффлайне сначала создадите и подпишете Bitcoin-транзакцию A-B, которая будет тратить выход с адреса A, а затем создадите и подпишете транзакцию B-C, которая будет тратить выход с адреса B. Хотя транзакции B-C пока нет в блокчейне, её можно создать заранее, так как известен SHA256-хеш транзакции A-B и порядковый номер выхода. После этого Вы одновременно броадкастингом распространите обе эти транзакции в сети.

В этом случае да, возможность перехватить монеты будет абсолютно реальная. Дело в том, что транзакция B-C, попав в пул, изначально будет считаться невалидной, так как ссылается на пока ещё не записанный в блокчейн SHA256-хеш транзакции. Но, когда майнер включит транзакцию A-B в Bitcoin-блок, транзакция B-C станет действительной.

Атакующий, зная приватный ключ к адресу B, может оперативно создать и подписать транзакцию B-C по переводу монет на его собственный адрес, задав больший размер комиссии, и в итоге Ваша транзакция B-C, скорее всего, не попадёт в блокчейн.

             ▄▄██
         ▄▄██▀▀     ▄▄█
▄       █▀▀     ▄▄██▀▀
███▄▄         ██▀▀       ▄▄██
███████▄▄            ▄▄█████▀
███ ▀▀█████▄▄    ▄▄█████▀▀
███▄▄   ▀▀██████████▀▀   ▄▄██
███████▄▄   ▀▀██▀▀   ▄▄█████▀
███ ▀▀█████▄▄    ▄▄█████▀▀
███▄▄   ▀▀██████████▀▀   ▄▄██
▀▀█████▄▄   ▀▀██▀▀   ▄▄█████▀
    ▀▀█████▄▄    ▄▄█████▀▀
        ▀▀██████████▀▀
            ▀▀██▀▀
.E 3 T.
█████  ███████████████████████████████████████████████████████████████████████████████

.Connecting Global Entrepreneurs.

███████████████████████████████████████████████████████████████████████████████  █████
▄▄████████▄▄
▄████████████████▄
▄████████████████████▄
███████████████▀▀  █████
████████████▀▀      ██████
▐████████▀▀   ▄▄     ██████▌
▐████▀▀    ▄█▀▀     ███████▌
▐████████ █▀        ███████▌
████████ █ ▄███▄   ███████
████████████████▄▄██████
▀████████████████████▀
▀████████████████▀
▀▀████████▀▀
igor72
Hero Member
*****
Offline Offline

Activity: 574
Merit: 683

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 28, 2019, 08:38:20 PM
Last edit: September 28, 2019, 09:31:21 PM by igor72
 #4

Если в мемпул попадет транзакция для которой известен приватник, то с вероятностью около 100% с эти монеты перехватят. Получится цепочка A -> B -> amaclin ))
Так уж и 100% )). Можем поэкспериментировать - я дам адрес с приватником и даже примерное время транзакции скажу - попробуйте перехватить.


Я так понимаю, Вы имеете в виду, что в оффлайне сначала создадите и подпишете Bitcoin-транзакцию A-B, которая будет тратить выход с адреса A, а затем создадите и подпишете транзакцию B-C, которая будет тратить выход с адреса B. Хотя транзакции B-C пока нет в блокчейне, её можно создать заранее, так как известен SHA256-хеш транзакции A-B и порядковый номер выхода. После этого Вы одновременно броадкастингом распространите обе эти транзакции в сети.
Ну как одновременно... Я сделаю первую транзакцию и вслед за ней вторую. Это все в офлайне. Можно, конечно, и заранее заготовить, не важно. То есть на моей ноде обе транзакции уже в мемпуле и ждут подтверждения. После этого врубаю интернет, моя нода синхронизируется с другими. Я хотел бы понять, как эта синхронизация проходит? Мне представляется два варианта:
1. По нодам распространяются обе транзакции вместе.
2. Они идут по отдельности, и поэтому возможен вариант, что на часть нод придет сначала первая, а только, скажем, через минуту вторая.

Quote
В этом случае да, возможность перехватить монеты будет абсолютно реальная. Дело в том, что транзакция B-C, попав в пул, изначально будет считаться невалидной, так как ссылается на пока ещё не записанный в блокчейн SHA256-хеш транзакции. Но, когда майнер включит транзакцию A-B в Bitcoin-блок, транзакция B-C станет действительной.

Атакующий, зная приватный ключ к адресу B, может оперативно создать и подписать транзакцию B-C по переводу монет на его собственный адрес, задав больший размер комиссии, и в итоге Ваша транзакция B-C, скорее всего, не попадёт в блокчейн.
Как я понимаю, для этого надо, чтобы моя вторая транзакция пришла на половину нод позже, чем транзакция атакующего, так? И это возможно (при том, что она начала распространяться одновременно с первой)?

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
A-Bolt
Legendary
*
Offline Offline

Activity: 1383
Merit: 1283

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 29, 2019, 08:54:39 AM
Merited by igor72 (1)
 #5

2. Они идут по отдельности, и поэтому возможен вариант, что на часть нод придет сначала первая, а только, скажем, через минуту вторая.

Это теоретически возможно, но маловероятно. Транзакции, отправленные одна за одной попадут в мемпулы практически одновременно.

Перехват транзакции B->C возможен, если замещающая транзакция содержит бОльшую комиссию (даже без флага RBF).
Возможен, но не гарантирован.

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
igor72
Hero Member
*****
Offline Offline

Activity: 574
Merit: 683

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 29, 2019, 09:56:59 AM
 #6

Перехват транзакции B->C возможен, если замещающая транзакция содержит бОльшую комиссию (даже без флага RBF).
Возможен, но не гарантирован.
Конечно, если транзакцию без RBF-флага можно легко перебить (не майнеру), то все теряет смысл. Просто у меня не получилось в мейннете даблспенднуть транзакции без RBF (с RBF легко), и я решил, что в наше время большинство нод (по умолчанию, по крайней мере) такие транзакции отвергают. Значит я ошибался, так?

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
fxpc
Sr. Member
****
Offline Offline

Activity: 910
Merit: 337


KTO EC/\U HUKTO?


View Profile
September 29, 2019, 10:44:34 AM
 #7

Разве транзакции попадая в мемпул сразу включаются в UTXO и можно отправлять транзакцию B-C не дожидаясь включения в блок транзакции A-B? Если так, то какой лимит на глубину очереди и есть ли он вообще? Если лимита нет, то мемпул можно положить.














You're not your job. You're not how much money you have in the bank. You're not the car you drive. You're not the contents of your wallet. You're not your fucking khakis. You're the all-singing, all-dancing crap of the world.




 

                                                             -: * :
                                                           *- *██ -:-..
                                                        .█ .████: ..██.*
              .*█:.    .*                             *. *█████. -████..
          .*  :██████    .*█-                     .*. :█████-  *█████.*
        .* █████████████████* :-              .█: .*█████.  *████████ :
      .* .█████████████████████ --       :    :██████.   *██████████.*
     * *██████████████████████-  -.     *.:████*.    *█████████████*-.
   █. *██████████████████████████: *. .* *█    -*██████████████████ :
.* *███████████████████████████████: █ :. .█████████████████████:  *
...█████████████████████████████████:  .*██████████████████-      *
 -..*███████████████████████████████████████████████████████████.*
    * -  █████████████████████████████████████████████████████:.:
    -* *██████████████████████████████████████████████*.      *.
    .*.████..██████████████████████████████████████████████..:
      *.   .███████████████████████████████████████:████* .*
        .: ██████████████████████████████████████████*  :██.-
         - ███████████████████████-█████████████.*:    *████ *
         .-:████████████████████████* .:██████:   *-*███████.*
          *. .███████████████████████████*-. .-*████████████.:.   .████.
          .** ███████████████████████████████████████████████ *     * ██. .*
            :    -██████████████████████████.  :- *███████████ *.    :.*███.*
            : ███*  .████*-██████████████- .█████..████████████. *.   -.*███.*
            * ██████:  ███ .█████████*  ...███████ :██████████████. *.  -*-███*
           .-.███████.: .█ .:███████.--  .:.███████-  *█████████████  -:  :.*██.
           * ███████:-. * .*.███████ *     * :█████████:   -*████████ ████████ .
          ..-██████--.   ..*.██████:.:       *..███████.-.  :- ██████ ███████
     .*::█*.██████.*   *-   .██████ *   .*-:█* *██████-:.  *:.. █████.*:
   .*.████*█████*.*  --.██████████.-.  :.:███████████ *  .: *███*████ *
   *.██████████.:.  .:.██████████-.:   :.██████████.--   : █████████* *
  ............-:    .-............*   --...........*    :............:.
Fairplay   #1 BLOCKCHAIN CASINO YOU CAN TRUST  [ Play now ]
igor72
Hero Member
*****
Offline Offline

Activity: 574
Merit: 683

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 29, 2019, 11:00:10 AM
 #8

Разве транзакции попадая в мемпул сразу включаются в UTXO и можно отправлять транзакцию B-C не дожидаясь включения в блок транзакции A-B?
Я делал эти две транзакции в Электруме в тестнете (у меня Электрум подключен к своей ноде через EPS) в офлайне, баланс адекватно менялся и в электруме, и на морде bitcoin-qt. Куда там они включались, я не знаю, честно говоря.

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
kzv
Legendary
*
Offline Offline

Activity: 1414
Merit: 1030


View Profile WWW
September 29, 2019, 11:11:20 AM
Merited by A-Bolt (1), xenon131 (1), igor72 (1)
 #9

Сеть постоянно мониторят боты любителей халявы. Даже этот форум мониторят: парсят все сообщения на предмет наличия приватных ключей в них...
То есть транзакция B -> C и транзакция B -> amaclin попадут в сеть практически одновреенно, ну может вторая с задержкой в пару секунд. При том, что B -> amaclin полетит одновременно почти ко всем известным онлайн нодам, а ваша B -> C скорее всего полетит лишь к 10 или 20 нодам с которыми ваш клиент держит связь по умолчанию.

igor72
Hero Member
*****
Offline Offline

Activity: 574
Merit: 683

CryptoTalk.Org - Get Paid for every Post!


View Profile
September 30, 2019, 09:00:14 AM
 #10

Всем спасибо за ответы!

 
                                . ██████████.
                              .████████████████.
                           .██████████████████████.
                        -█████████████████████████████
                     .██████████████████████████████████.
                  -█████████████████████████████████████████
               -███████████████████████████████████████████████
           .-█████████████████████████████████████████████████████.
        .████████████████████████████████████████████████████████████
       .██████████████████████████████████████████████████████████████.
       .██████████████████████████████████████████████████████████████.
       ..████████████████████████████████████████████████████████████..
       .   .██████████████████████████████████████████████████████.
       .      .████████████████████████████████████████████████.

       .       .██████████████████████████████████████████████
       .    ██████████████████████████████████████████████████████
       .█████████████████████████████████████████████████████████████.
        .███████████████████████████████████████████████████████████
           .█████████████████████████████████████████████████████
              .████████████████████████████████████████████████
                   ████████████████████████████████████████
                      ██████████████████████████████████
                          ██████████████████████████
                             ████████████████████
                               ████████████████
                                   █████████
.CryptoTalk.org.|.MAKE POSTS AND EARN BTC!.🏆
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!