Я хочу понять что реально происходит в момент совершения транзакции. Т.е. мне надо связаться с любым из майнеров и передать информацию о транзакции и от него она уже разойдется по другим майнерам или что подразумевается под “В момент отправки биткойнов платёжные транзакции попадают в сеть, где их увидят все майнеры”?
В двух словах так:
Модуль “кошелек” (wallet.cpp) фомирует транзакцию, подписывает ее необходимыми ключами (соответсвующими использованным входам) и отправляет ее в мемпул.
Мемпул вне зависимости от способа получения транзакции валидирует ее (для предотващения спама невалидными транзакциями) и, в случае успеха валидации, запоминает ее, а так же сообщает всем пирам по p2p протоколу, к которым узел подключен и которые могут еще не знать об этой транзкции, о том, что у него имеется новая инвентарная единица типа “транзакция” с хешем таким-то.
Любой узел получив от пира сообщение об инвентарной единице, будь то транзакция или блок, проверяет, знает ли он уже о таковой(ом) и, если необходимо, запрашивает ее от источника сообщения. Получив саму транзакцию узел пытается поместить ее в собственный мемпул (см. предыдущий абзац).
Процесс “повторяется” по сети до тех пор пока вся сеть не узнает о транзакции.
Для предотвращения лавины сообщений, каждый узел для каждого соединения ведет список известных на другом конце соединения инвентарных единиц.
Published at Fri, 14 Apr 2017 18:06:42 +0000
[wpr5_ebay kw=”bitcoin” num=”1″ ebcat=”” cid=”5338043562″ lang=”en-US” country=”0″ sort=”bestmatch”]
See the full set here on G+
If you enjoy my photos, you are welcome to #donate #bitcoin to me at: 1Q2LV3bsxZjRBQoRXAXikpUGPCrNeGSUWc
By antwerpenR on 2013-11-08 19:09:10