Pages:
Author

Topic: Multibit и механика кошельков. Вопросы-ответы (Read 7626 times)

hero member
Activity: 994
Merit: 502
Черт, закончились умные подсказчики...
hero member
Activity: 994
Merit: 502
у вас есть ТХ_ИД от  Transaction Malleability ?

как это уже сделлали в Новакоине - там есть metatxid - одинаковый для всех вариаций данной транзакции

ваш кошель PPC поддерживает?
есть у вас listunspent ?
Пока идем от простого к сложному. Сейчас самое простое - кошелек биткоин, coinbase-транзакция с наградой майнеру.
Позже и до наворотов дойдем. Так где я ошибся в описании выше?
legendary
Activity: 1554
Merit: 1008
у вас есть ТХ_ИД от  Transaction Malleability ?

как это уже сделлали в Новакоине - там есть metatxid - одинаковый для всех вариаций данной транзакции

ваш кошель PPC поддерживает?
есть у вас listunspent ?
hero member
Activity: 994
Merit: 502
Короче, все равно путаница полная... теперь я запутался, что подразумевается под "входом", а что под "выходом". Итак, "вход" конкретной транзакции совпадает с "выходом" предыдущей... но... на представленном рисунке показано сразу несколько входов (насколько я понимаю, 3) и 2 выхода (по 8 сатоши в каждом).... Во входах никакой информации про номинал не пишется - они приводятся просто как источники этих самых 16 сатоши... поправляйте меня, если я ошибаюсь...
Теперь рассмотрим самый простой из возможных вариантов "пересылки" денег: coinbase-транзакцию, в результате которой майнеру капнула денежка в награду за найденный блок.
Капнула она из ниоткуда. Входов у этой транзакции нет вообще. Есть только выход, который выглядит почти как тот самый coinbase/generation вход на картинке... за исключением того, что в этом простейшем выходе прописывается информация о его номинале (во входе ее нету). Также в ней прописываются эти самые Arbitrari data... в поле, которое в выходах на картинке обозначено, как PkScript... также в поле VI в этот выход прописывается длина этой самой строки Arbitrari data.
Итого 3 компонента: номинал+длина Arbitrari data+сама Arbitrari data
Я все правильно понял насчет денег, рожденных в coinbase-транзакции?
full member
Activity: 216
Merit: 100
38. ecdsa-подпись не подписывает реальное содержимое поля SigScript (просто потому, что она там находится — подпись не может подписать сама себя, не изменившись при этом). А вот хэш транзакции учитывает это поле. Соответственно, можно изменить/дополнить SigScript так, чтобы подписи остались корректны, хэш при этом изменится. При модификации получается другая транзакция, являющаяся конкурентом первой. Только одна из них будет включена в блок (какой первой повезёт). Если повезёт модифицированной, и при этом отправитель следит за транзакцией по txid, а не по неизменяющимся полям, то отправителя можно ввести в заблуждение, сказав, что перевода не было, и потребовав повторный. В самом же кошельке (bitcoin-qt) модифицированная транзакция просто перекроет начальную — у меня так было один раз при отправке.

39.
33.Не до конца при этом понятно, где хранится информация о номинале текущего входа. Она прямо в этой самой строке и зашифрована?
В выходе, на который ссылается данный вход. Как в моём примере:
Tx12: (Tx02/1:1BTC)+(Tx11/0:1.5BTC)+(Tx01/1:0.19BTC)→(A8:2.68BTC)
последний вход транзакции Tx12 ссылается на выход номер 0 транзакции Tx11 (т.е. именно этот выход он и тратит, целиком). Соответственно, номинал данного входа закодирован в выходе 0 транзакции Tx11 (эти номиналы не могут отличаться, именно это и означает фраза «вход в точности соответствует выходу»).
Заметьте: входы транзакций Tx11 и Tx12 ссылаются на выходы предыдущих транзакций, и суммы во входах в точности соответствуют суммам в выходах. Собственно, в реальной транзакции суммы во входах не записываются, в данном примере я это сделал лишь для удобства восприятия.
Если вы имеете в виду, где номинал хранится в выходе — 8-байтное поле Value (целочисленное, в сатоши (сатошах Smiley )).
hero member
Activity: 994
Merit: 502
Но в дальнейшем с этим планируют бороться, ибо такая фича приводит к Transaction Malleability — проблеме, из-за которой MtGox совсем недавно вывод битков приостановил.
38. Вот, кстати, тоже интересна суть данной атаки. Англицкая вики довольно трудно воспринимается среднестатистическим русским человеком. Каким образом эта атака производится? Кидают одни и те же монеты несколько раз, но с разными комментами?
39. В каком из полей указывается номинал конкретного входа? Он из десятиричного преобразуется в шестнадцатиричный или остается в сыром виде?
full member
Activity: 216
Merit: 100
34. TxOutHash/TxOutIndex — ссылка на предыдущую транзакцию, ScriptLen — длина следующего поля (SCRIPT), SCRIPT (он же SigScript из верхнего ряда) — тот самый scriptSig из моего описания, Sequence — sequence_no. Второй ряд — это просто раскрытие первого (если приглядеться, можно заметить, что они тонкими линиями соединены). Далее, здесь указаны три входа разных типов. В реальности подавляющее большинство входов первого типа (Standard TxIn, как у TxIn 0), в этом варианте в поле SigScript указываются ecdsa-подпись и публичный ключ, соответствующий адресу, с которого происходит трата (сам адрес указывается в поле PkScript (scriptPubKey) предыдущей транзакции). В случае "Spend Coinbase TxOut" в SigScript указывается только ecdsa-подпись, соответствующая публичному ключу (этот ключ хранится в PkScript предыдущей транзакции — вместо адреса, как в предыдущем случае). "Coinbase/Generation" — это вариант для coinbase-транзакции (первой транзакции в блоке, которая переводит награду с комиссиями майнеру). В этом случае содержимое SigScript игнорируется (именно это означает "Arbitrary Data"). Обычно в таких транзакциях только один вход.
35. См. предыдущий вопрос.
36. Это длины соответствующих полей в байтах. VI — это не "6", а сокращение от "VarInt", например, поле ScriptLen, хранящее длину поля SigScript, само по себе имеет переменную длину.
37. Можно. Но в дальнейшем с этим планируют бороться, ибо такая фича приводит к Transaction Malleability — проблеме, из-за которой MtGox совсем недавно вывод битков приостановил.
hero member
Activity: 994
Merit: 502


34. В этой картинке, честно говоря, более половины данных непонятны, все эти ScriptLen, Sequence, SigScript, Arbitrary Data. Что к чему относится?
35. В середину пихают некий раздел Coinbase/Generation. Под этим подразумевается материнская транзакция, в которой монета была рождена изначально?
36. Непонятны функции этих четверок, восьмерок и римских цифр...
37. Доп. информация в поле scriptSig, насколько я правильно понял, сильно ограничена, но я слышал, что в транзакцию аж целый комментарий запихнуть можно. Где правда?
full member
Activity: 216
Merit: 100
33.Не до конца при этом понятно, где хранится информация о номинале текущего входа. Она прямо в этой самой строке и зашифрована?
В выходе, на который ссылается данный вход. Как в моём примере:
Tx12: (Tx02/1:1BTC)+(Tx11/0:1.5BTC)+(Tx01/1:0.19BTC)→(A8:2.68BTC)
последний вход транзакции Tx12 ссылается на выход номер 0 транзакции Tx11 (т.е. именно этот выход он и тратит, целиком). Соответственно, номинал данного входа закодирован в выходе 0 транзакции Tx11 (эти номиналы не могут отличаться, именно это и означает фраза «вход в точности соответствует выходу»).

Вот в примере была приведена сырая строка. Если это конкатенация строк шестнадцатиричных чисел, то что из себя представляет одно конкретное число, попавшее в транзакцию? Каково его происхождение?
Часть, как я понимаю, должна быть инфой об отправителе, часть - номиналом... и из всего этого получается такое шестнадцатиричное безобразие.
Конкретный формат транзакции можно посмотреть здесь (входы, выходы). Это для BTC, но, думаю, NVC в этом ключе не отличается.
Вкратце: во входе, помимо ссылки на тратящийся выход (поля «Previous Transaction hash» (txid) и «Previous Txout-index» (vout)), присутствует подпись (scriptSig) и номер варианта (sequence_no, в прошлом собирались использовать, но сейчас (пока?) отказались).

Вообще встает вопрос о содержимом конкретного входа. Какая информация в него обычно запихивается, каким образом и есть ли возможность в конкретный вход запихать еще какие-либо параметры по желанию разработчика?
Смотря что иметь в виду под понятием «желание разработчика». Формат входов и выходов стандартизирован, свои поля туда не засунешь (не считая доп. информации в поле scriptSig, но не буду на нём подробно останавливаться). Если вдруг создадут серьёзное улучшение в системе, требующее смены формата, то транзакции новых версий его сменят, но если имеются в виду какие-нибудь поля для принудительной централизации или деанонимизации, то нет — это противоречит духу биткоина.
hero member
Activity: 994
Merit: 502
33.Не до конца при этом понятно, где хранится информация о номинале текущего входа. Она прямо в этой самой строке и зашифрована?
Вот в примере была приведена сырая строка. Если это конкатенация строк шестнадцатиричных чисел, то что из себя представляет одно конкретное число, попавшее в транзакцию? Каково его происхождение?
Часть, как я понимаю, должна быть инфой об отправителе, часть - номиналом... и из всего этого получается такое шестнадцатиричное безобразие.
Ясно мне одно - никаких хешей из исходных данных вычислять нельзя. Инфа должна быть в свободном и открытом виде...
Вообще встает вопрос о содержимом конкретного входа. Какая информация в него обычно запихивается, каким образом и есть ли возможность в конкретный вход запихать еще какие-либо параметры по желанию разработчика?
full member
Activity: 216
Merit: 100
А я имел в виду, есть ли более менее функциональные парсеры блокчейна, в которых будет, как минимум, просто отображаться транзакции и блоки (как в биткоинэксплорере), а лучше, чтоб можно было вообще видеть статистику - распределение монет по кошелькам, количество транзакций за разные периоды времени и т.п.
Не знаю, честно говоря Smiley В состав официальных клиентов такая функциональность обычно не входит.

Я имел в виду преемственность передаваемой информации о монетах. Насколько я правильно понимаю, она полностью отсутствует.

Единственное, что в новой строке говорит об истории этих 10 монет - информация о том, от кого они пришли.
Да, именно так. Конечно, в блокчейне эту информацию найти можно, но в самой транзакции она уже отсутствует.
hero member
Activity: 994
Merit: 502
33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете?
Стандартная команда консоли "decoderawtransaction". Не только у BTC, должна быть у всех форков.
Ну, это чтоб в кошельке как-то получить инфу по конкретной транзакции. А я имел в виду, есть ли более менее функциональные парсеры блокчейна, в которых будет, как минимум, просто отображаться транзакции и блоки (как в биткоинэксплорере), а лучше, чтоб можно было вообще видеть статистику - распределение монет по кошелькам, количество транзакций за разные периоды времени и т.п.

Ещё раз, на всякий случай: комиссия платится не за входы/выходы, а за суммарный размер транзакции в килобайтах.
Я имел в виду преемственность передаваемой информации о монетах. Насколько я правильно понимаю, она полностью отсутствует. У предыдущего владельца данные 10 монет представляли одну строку (конкатенацию входов и прочего добра). У нового владельца - это уже совершенно другая строка, в которой нет 90% информации из старой строки. Единственное, что в новой строке говорит об истории этих 10 монет - информация о том, от кого они пришли.
Я правильно понял?
full member
Activity: 216
Merit: 100
33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете?
Стандартная команда консоли "decoderawtransaction". Не только у BTC, должна быть у всех форков.

Ну, я немного запутался... Имелось в виду то, что на кошельке получателя будет информация только о его входах, а не о моих, за вес которых платить приходится...
Предыдущий пример внимательно разбирали? Обратите внимание на состояние между транзакциями Tx03 и Tx11:
На данный момент на адресе A1 3 непотраченных выхода с общим балансом 3BTC, на A2 — 2 с 1BTC.
Да, если мы переведём все битки только с адреса A1 (что транзакция Tx11 и делает), то в транзакции траты будет 3 входа, а если бы мы в данный момент решили вывести всё только с адреса A2 — в транзакции было бы 2 входа. При одинаковом количестве выходов в первом случае транзакция будет иметь больший размер.
Ещё раз, на всякий случай: комиссия платится не за входы/выходы, а за суммарный размер транзакции в килобайтах.

32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
В смысле, если майнер умудрится найти блок и что-то неправильное в него прописать?
Легко. Хотя бы одна некорректная транзакция — и весь блок отправляется под нож, и неважно, насколько трудно было его найти.
Я же изначально имел в виду следующее: я говорил, что отдельного выхода для комиссии нет; вы спрашивали, а как же форки, в которых комиссия уходит майнеру. Наверное, вы подумали, что в этот гипотетический выход майнер прописывает свой адрес, получая таким образом комиссию. Так вот, происходит это не так. Майнер формирует свой блок-кандидат из ещё не подтверждённых транзакций, гуляющих по сети. Для всех включённых транзакций подсчитывается сумма комиссий (разность между количеством коинов во входах и выходах; см. пример в предыдущем посте). Затем майнер дописывает в начало блока-кандидата транзакцию, переводящую награду+сумму комиссий на его личный адрес. Если блок-кандидат «выстрелит», то награду с комиссиями получит майнер. Т.е., «выходы» комиссий виртуальны.
hero member
Activity: 994
Merit: 502
А, так это NVC? Я-то пытался её как биткоин-транзакцию распарсить Smiley
33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете?
30. У выхода нет txid, txid — это идентификатор (хэш) всей транзакции целиком.
Ну, я немного запутался... Имелось в виду то, что на кошельке получателя будет информация только о его входах, а не о моих, за вес которых платить приходится...
32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
В смысле, если майнер умудрится найти блок и что-то неправильное в него прописать?
full member
Activity: 216
Merit: 100
В данном случае цифр 17430, размер — 8715 байт.
За эти 8 килобайт в нове с меня содрали комиссию аж 0,09 nvc, что на тот момент соответствовало 45 рублям )))
А, так это NVC? Я-то пытался её как биткоин-транзакцию распарсить Smiley
29. 8 кб — это довольно много. Они ведь не только у вас храниться будут, но и у всех полновесных клиентов. Причём вечно. В BTC такая транзакция стоила бы 0.0008BTC — примерно 18р. сейчас.
Вот эти все иносказательные "вход в точности соответствует выходу" не совсем понятны.
Это лучше рисовать. Мне, честно говоря, здесь это делать лень, а вы попробуйте (на бумаге). Например:
Tx01: (…:1BTC)→(A1:0.8BTC)+(A2:0.19BTC)
транзакция Tx01 переводит откуда-то 1BTC адресам A1 и A2, 0.01BTC — комиссия;
Tx02: (…:4BTC)→(A1:2BTC)+(A3:1BTC)+(A4:0.99BTC)
Tx03: (…:3BTC)→(A2:0.81BTC)+(A1:0.2BTC)+(A5:1.99BTC) — без комиссии.
На данный момент на адресе A1 3 непотраченных выхода с общим балансом 3BTC, на A2 — 2 с 1BTC.
Tx11: (Tx01/0:0.8BTC)+(Tx02/0:2BTC)+(Tx03/1:0.2BTC)→(A3:1.5BTC)+(A7:1.5BTC) — без комиссии
у Tx11 3 входа и два выхода; она переводит весь текущий баланс с адреса A1 на адреса A3 и A7
Tx12: (Tx02/1:1BTC)+(Tx11/0:1.5BTC)+(Tx01/1:0.19BTC)→(A8:2.68BTC)
Tx12 переводит весь баланс с адреса A3 (1-й и 2-й вход) и только часть с адреса A2 (3-й вход) на адрес A8.
Заметьте: входы транзакций Tx11 и Tx12 ссылаются на выходы предыдущих транзакций, и суммы во входах в точности соответствуют суммам в выходах. Собственно, в реальной транзакции суммы во входах не записываются, в данном примере я это сделал лишь для удобства восприятия.

30. У выхода нет txid, txid — это идентификатор (хэш) всей транзакции целиком.
31. Ну, можно и так сказать. В BTC регулярно используется такая техника, когда мелкие (в коинах) выходы объединяются в более крупные для уменьшения комиссий при дальнейших оплатах.
32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
hero member
Activity: 994
Merit: 502
В данном случае цифр 17430, размер — 8715 байт.
За эти 8 килобайт в нове с меня содрали комиссию аж 0,09 nvc, что на тот момент соответствовало 45 рублям )))
29. Отсюда вопрос - неужели эти килобайты настолько дороги для сети, что приходится отваливать большой процент? Или это блажь разработчиков?
В нове то комиссия уничтожается, насколько я помню...
Можно сказать, что каждый выход генерирует «монету» требуемого номинала из «монет» входов. А вот вход транзакции, тратящей «монету», в точности соответствует выходу транзакции, сгенерировавшей эту «монету». И вот во входе тратящей транзакции указывается txid сгенерировавшей транзакции + номер выхода, соответствующего данной «монете».
Вот эти все иносказательные "вход в точности соответствует выходу" не совсем понятны.
30. Имеется в виду, что когда плательщик создает транзакцию, то txid получившегося выхода соответствует содержимому входящей транзакции у получателя?
31. В приведенном примере (см. ссылку ниже) вся куча входов составляет большую часть веса транзакции. Теперь у получателя уже нет информации о входах отправителя? И эти денежки резко "полегчали" в килобайтах?
28. Произвольное количество. Как правило 2, но можно отправить коины сразу нескольким адресатам в одной транзакции. Комиссия отдельным выходом не является — это просто разница между суммарным номиналом «монет», соответствующих входам, и «монет», соответствующих выходам.
P.S. Кстати, ваша транзакция не декодируется (а декодировать её вручную ради поиска ошибки как-то неохота Smiley ).
Ее не приняла сеть из-за того, что комиссию изначально недоплатил. Вот ее дубль с уже оплаченной комиссией
http://explorer.novaco.in/tx/96507edc72b5ac3ada0a2559858ddfc9080b6f3021b8bb1120bbec5d353aad7e
И в нем, кстати, всего-лишь один выход. В нове то комса уничтожается, поэтому можно понять, почему нет допвыхода.
32. Но как же форки, в которых комса передается майнеру, нашедшему блок?
full member
Activity: 216
Merit: 100
24. Её размер (я бы посоветовал применять термин «размер», «вес» — это немного про другое) — просто количество байт. Вышеприведённая транзакция записана в 16-ричном виде, чтобы получить её размер, нужно поделить количество цифр на 2 (один байт представляется двумя 16-ричными цифрами). В данном случае цифр 17430, размер — 8715 байт. Архивации нет.
25. Нет, входы и выходы транзакций — отдельные сущности. В одной транзакции как правило несколько входов и 2 выхода. Обычно все входы соответствуют адресам из кошелька одного отправителя (опять же — необязательно, отправителей может быть несколько), один выход отправляет коины на адрес получателя, а второй — сдачу на адрес отправителя. Можно сказать, что каждый выход генерирует «монету» требуемого номинала из «монет» входов. А вот вход транзакции, тратящей «монету», в точности соответствует выходу транзакции, сгенерировавшей эту «монету». И вот во входе тратящей транзакции указывается txid сгенерировавшей транзакции + номер выхода, соответствующего данной «монете».
26. Конкатенация не транзакций, а входов и выходов + ещё немного доп. информации, не зависящей от количества входов и выходов.
27. Да.
28. Произвольное количество. Как правило 2, но можно отправить коины сразу нескольким адресатам в одной транзакции. Комиссия отдельным выходом не является — это просто разница между суммарным номиналом «монет», соответствующих входам, и «монет», соответствующих выходам.
P.S. Кстати, ваша транзакция не декодируется (а декодировать её вручную ради поиска ошибки как-то неохота Smiley ).
hero member
Activity: 994
Merit: 502
К примеру, вот конкретная raw (сырая) транзакция:
Code:
01000000db44ed524c1c76d414f75fd5d6a663b3fc4d5a3ef0d742485a8fccd2a4cf80e0ad1fb7844f050000004948304502203103deef63763a8dca1981596ee6e811297e3ea1aaec59e956a6dedc9638470e022100f8025aed848ad0295efcf74f9fc7a97a84d3a6f2ea78f04f8f04e393dbe5cba801ffffffff0af2ce3b5c15b322ba7afc65ef57bf582bfb1b595a95ee0bbbfb4d932c5f38e6050000004a493046022100c0f0be3b2bc0393ee29401a72c8c175ca9d25518b1f0513130416e8e45863d85022100f1319086fab8fa8ed3889e34ab0c88458324d432aa55589b3652e8845004836001ffffffff0df00163392dbd9a8939e6520a66f9afedb1098c99299d74f0064165b3eb83b30600000048473044022043e231bcc98b25e6a3d413702ecee300c0896961d05445d55bc202abd1c689440220160454a8e638a38b95bc8798e4826bda7d2361b39fddd09237730d6aa33daa1501ffffffff068f3f8008fd8b09afcc1ade8167ba8f165799691b24a866cdb41005599631910300000049483045022100cec50b479f42ea260dee8256232735e69f5f1cc6c7aefe3f726bfe0e5ee7867e0220233e6496d6d379a652c1a099b9747df6964e636e3467c6d01d944b2637df6a7401ffffffff42cf08c6c63b6a5669a6e4a1a53d43200d8902294422f4724dc5e79321dfaadd07000000494830450221009f533d56f5cf0b6b3b6fa7adc0a3e58307d2519447b74d4f5c14c93574c530ef022004ece0f034353f62099a1ee2cfa11aaac6403f64366da37a5ba416e001ef068501ffffffff439d3e8507ef5acfab04b10b721f9c22f5315603d85970b044c8c3f69797b283070000004948304502201b6a84b197b2393192e8d872cb968d83f7c60f4efc2b1a628c7102f112178b49022100cfe2f0035d5307856670cb5c83e1109d75f1258ceda0640a90dabb99a637e3d701ffffffff47b16a184f697254059b5edcfd7acb3a05eb22e1bd136d74582c8c55b912f41f07000000494830450220423b433409fdb07e9e7289fa1a5c48982fe50eb54e93b4f49c6eb58528a10509022100abde561be7d6033402eefed260fe189a01a3b0a66392af6807a914b17156bc9601ffffffff4a148c6f4119c87fcd1ab55e27b29e085dea7e74aeb033dc6cc37f36e5fb1f83080000004a493046022100b32fb756c2684df6932a72d1391a685ca7827306e89094c6028a8f9104f44579022100a24a726df408e76039c6526c40fffe42c8c3182ec8967ce8717282a34abb0edf01ffffffff4b0b67604f1af80fc7176a3f7ae28e05da80b93348466937b69b17e61b2e8353070000004a4930460221009cfd430d22388f6a045d8bc000c801f049497d5a81c7f60c0f1e6efc62a0594202210097c0f002403fdda991e65fa421ef9568d3cd20d72b7af59a9e01b8d38485aa4101ffffffff4f424fcb66355c430ea6fbe8f59aa290c2b08e08f90739c40e10a6b3e434e42c070000004a493046022100ecfbbe8e7811e040d7a58a469a7b1bde949c97a197a7e22828aa2e69374a44e002210080c3fa5090f99192499186cbf047bbec8533360f2289e4535f37bd19a18b8c0201ffffffff516fad7451801afad1e3bd4bd3737f8352b2324b063c9315489af08c6c1eb9a90700000049483045022100cf92119c090a4f243fdcbb0724f74a1a4a558931f1473a6f8c568c1a126370ca022026148d7c16fe67b44c44ee30bde91fbd25b596455f8ae0c9e2f568c935d7433501ffffffff517aa3869bf69c6adcc6abd16fb2f2aef1984d303bcfc129eb59b7ad0f83d53f0300000048473044022007f3c96b4d5e89fdbf3eecd8fe5a82499a3bea3388004ee581de76bfd6f3e07002200105c57c96baea9681ce306378850c415a2cb160fcfb836ed509c355cee8bcd201ffffffff53fa0adb4f38e0b7c454f12cb8e0cf982ed3f682fb4fb22b28219c0d684d9a35030000004a493046022100b55da93360ca5f872e2d2a53234a042295696797599c5d54c488429ef3e918a0022100ce4f9650aa2102290fcb82d951b9dd94a2eff973cb8bae4f20691d57336977ea01ffffffff5832cca6e7b3a0826b014bbeba37f4c74aee801b0c7be7aaf6eed26f33592b4203000000494830450220350f0dfa09f4f794f69150fb54ba8ad1b8f7dfffc40aa9843488ce1a1ea1600d022100d3ee16f5c1230ee07c18a366ad47bbf0164ce1f9897636b3860801f25f61064801ffffffff5faf00c1f1994f00f7bfe5df59e5feebcea0da57c0a0eef38e6633e6c6002990020000004a49304602210085be43e504b2451546e7acfae2da7b9d51536666375d83916d529080a2ca42ac022100a32ca247552374a9417ad8d561e4a41fb77b229dc55a9868e7ebcfdc9f54db4f01ffffffff5fe75fa34c639a373dd8a4b0f356c2bc580dd09f23fbcafec3a61c51cc26b51e050000004a493046022100948235b035d2262af95dab3d4c1b25a2598a84f3d38213ba349f55bddc93269d0221008e5c648b588a0353c01ba7ef745f2b88e802320182af6973eca693c8c8f8dc2301ffffffff628adcecdba44a82d413e01a574f98ab001fd19ec8d6da40ff9e04f756006666080000004948304502207030762519cbfd9937082a080a75658e0050e7252cf7f10e4aff3171be3f6933022100ee0918f58bcdaed3f167bcbaa11539a4cacec2445cd7a18b1ef25b8ce957bced01ffffffff65f26dce8a5747174dad18ba495bd37b47f58f9ccef7cf52fbb0db39e94eecb50700000049483045022100bb14d509a3e58f38e9c3d0341cc15ac119399ef2e1fb877271b5f753356cf1b502205a751825060602aec607daac0497febd3c0f05c31a0b8b2516a2fc87528fe10f01ffffffff711ce378b1fd1a9f429392e339c45f7dba060bb47a252d632dd15e4875fc13b9050000004a493046022100ad061e9be03052825ecdedd4e55029b090cd6ca861d7e11e39201cadefe944be02210091ee24cf32aca22e37a6f905acc1b99600ce7de16ef2ba2b03b15d61d5705f6401ffffffff767194d0d8ee381287108a29a9b288de2d99f147a82616be2b8e628a94d51adc070000004a493046022100a02f1bfcb40217b3c4626daa4bd3ae0f21fae53f9851018773bc3373d07563ea0221008c13d10c81d8b5959cf907b1d988136f2c4ee682d2212b44618bd9d9c704fb9e01ffffffff7726ae36adda81bf7f4bdeebe8be4f0bbff38fc30e471a3ce93b9fb307962a00020000004a493046022100aba1f5f731a1d7eb3b12a11ea6b52db2179159d5e699e19df951db597d92fc4d022100a1b60c7c73da546657809d7994c197444fed16b93960cc84f397dda57291267f01ffffffff78b9d62ea9d710433a9754ef658ec58ff0b8fc24674bc757b005188e6877f08a0400000049483045022061c5c1364666d73f95cc995fd5ace8b467c051c74af357f7c7b482fa9787890a022100a88f6c301b0b76506e70dedeed316d22ff4f6bbd6fc5867f9428f70304318f1201ffffffff7c772fd668731826f7f3b5ec5b263265192ab3f7da45481e102e39cd727f81ec050000004847304402200b33089103a29b2b81aa6a5b646eea59f53e1766f895c2f0a85e35ce41ee17a2022015bbb596f4f1442e62294b0214f07184e2055ddc6c2cab348bd6f1e4abd882f401ffffffff31dae3f93022b3f1b211841add6116de3bdba929ccdeef92d5866dcfa36a4ed00600000049483045022100eaa6e53d4666fc3fd2e5838f03540dc43acf9c5e0f364ebc32c491bb51cc3c4a02203bd3237117f65b716da4f3134735cbbf6d7c193a6b3463cddd7c775fae67f97b01ffffffff2c887014e5e41eba5390e9bd7a4582cccef7f1889590412fc9117d0a179cf7c00200000048473044022061b8e6c0e39754d945ce3803306d603aa72539b518e57b7b2eda3471822e4bbd0220023d2c92944d260cd61d8f903a5dd7a33a7396811dbeaaed4e0a34f37a529b7b01ffffffff2dcfc5aca3baf6e817941db7da3f27eb48bc64680a9eecf97341e58e0aa1b2110300000049483045022100b8866d7adc7ef1341c584e5588cb2728457afc04d7b8631941a961825096f7670220069dd6c7a4330eb35c9568031bda3e33bd5b39fdf5df416fbffe45528813b5c101ffffffff3de71eaad7497a05ca7c6c8fd09a5c885097f4c50fa7bf23a7df0c3ddfed8232050000004a493046022100cbfb19efc6c2fec2f4c20e228dacc64c65956af55aef5c6c67e981515194d6ff02210093aed381dcf7ef01997207020254a66890cb61be45cfde65f50510fc4970d29801ffffffff2ba52cb5b86f9e130359b32cb96e2dd1b4d4a8bc6328343e974f29990510662e030000004948304502201c10954dd32995f3ef49c72cec73f7f44f445c263f8f45961410332c68cd8fd20221009d2ae845fe78dd6d046a7a7ba79fb1b20176094a0d74f40d77d7b41018ec629401ffffffff2b723b859e7bdf09efa3fda51798667e5c50df220985793305f26d38226d1553080000004a4930460221008fb97c20caea182e48fea1e8e07121390b2555995c5d35bc6f842a6bac14d3580221009224833087085520e6fa4ad0378bea92463bb2ae771b4b67dc64d1dcb849ac1f01ffffffff1cc0472cd6206761832da18404657da0c8f4af1f004fe15951c9cf53e4552ace00000000484730440220649282e587564c0a02377bf6839eef8ce418a96b8fe9a0e056953e6c0d9ff0560220552497a5e54473fc77292aa3ab604519a8c44d4b293cafb25a49cb98579e5f4501ffffffff8105f4dbb1e49efb7cb231a9483054d6d8cc85d2c5af3d0e4a7540b051dafa3e000000004948304502204f9f0885f10a2af0bf3c7213f1f6170a85bcf4812c81b0fda01deb7a1aff899c022100ba87d28da7bc10fbd4c12ddb0b0a2a4fd647751bd9064ff5a3c5c664bbc7787d01ffffffff819ea36dcc9e942635db38b767c7c94a4f62a6bb179f287be0006bc3d9c22d0c0800000049483045022100f30909bc3d56923dd6c571258964b693cf5cb5b0510fb794a18e8b9017ebe768022039cab6db581095ffdd17a252c79d50e1d3c154de5a4285f944d9643a4cbc8d5a01ffffffff8393fcd16148a7a8c86644bf3f6d9c2e63ff0f26b9b34b17ff3fc974306e845400000000484730440220391b3298d288aeadb3df542400fc1a1434e86291fc0ad68950203efd4ce82bfc02203f12cbb565088580e9c4038e39caed4d015020ca45abdf49f5701c9b49568f5201ffffffff852774590dd183de1e778b2ee211f82e5520dad4534fde35dfe6f1fcff5ba5630100000049483045022100c21b5be711a3ee37a94436bddb21461eff95b7378b2f55511b4621f16891a3aa0220097209ee98ad7164c3f2abf44e7663ddcf1bddd2bbcc4658fa6122149f9fe9e001ffffffff867963f5d2d7365b390f45b2fb39b63e9dd058ef838066a372727c80333b956f0a000000494830450220705f1e55589b7f2aae6ed88e79f76c0970b4fb234690e89bbe095e32efa6fe0f022100ae5f679dd669ccb75562024e57d0156ed59cecadcae2991a670d18bed76f789001ffffffff8b3e12fd16b887b3cef6412a956085614794f51a3c2d038ad702bf9fc493452a07000000484730440220441065d24d089edabcd281a5c98c1b4cde4f966adae582951db436c7f726980d02205f590ec75561b5821d26680aff21bd9a83c5ba87fef52d0f9b2c0d0d061ff27b01ffffffff9341a66dd8c962ea8d925afb71014a6864508329af4b64e3548ed91bfb4e82f8080000004a49304602210086898f75985c771ddefa66f45351e5c6db28ad76875fcecb956f862edc4ed4d0022100acd345b64dee55c75c24c50a9587da390bf12042e5fe006f9b504b0810100d0801ffffffff93a1819f93d8891a4ffdb0e91cfead4fc3b6c1dbc96f847c234f24c63b491a4f040000004a493046022100a3b4279f91d27730ab521e6c9157430f1dbc1ddccc28f05075743f19a85eb493022100a4c8f8f09e3dd405b737490405e421eb4cdb56f41755310e84fcec54a938e70a01ffffffff945f5ab31d67446c4c3f4120c6168038e6115ae6b3d1723207a3149f8d75790d010000004a493046022100af6423f6af7f69380c2215a42c6b82d15671b6a8fb36133ab85d092c22e2986e022100e245cd94a5b65ecdd74cb0de650b60b3eb913a77b8ef2ee79ab587000d08c09b01ffffffff94a788d3230033611fc77d481f9506967ed58e3421299156b98783059cca813606000000484730440220522c433da165df06c658302ff1d7c1cfac9bd57a36cae64a5f9cc4e793ebf34f02205fb23b7ac3e104cb7ceed08b7ad4c5ee648a6349be8b12a328a99170312a124101ffffffff94f9635d7d996c87ce9a0a094328d7bb00e4ebd2622c272c2943f81160e06051050000004a493046022100c0ea0a3c2ee418521a31acf92ddd284153f11e91017d5e62c7860a7f6fd2ce33022100bc045cc27968ce11e596e9c26548c0abb75d5c9f53459f8d95075d045add148001ffffffff99d19027fe36cfb02da0718634ef7b37a4090b1fd3f88fae92907e762f39f4aa040000004948304502204c74bd933ef27ccc7e36d9a4764d0432a389ffe4701ca9fa670605eb9dfc59a00221008a7aef026651a87bb2e230f008ed0fad8a0338d7177509defd83bb2dd27feaae01ffffffff9da07fdc85f0f22ac2fef52f22f678be4aee5d93d95aebb4aded7c79795a8de9050000004948304502206fb93e29e32ab3c202c35eba0d85b5a94a112407ac3b138d8f963f03d95ae803022100bd7e23174fa54cd509dc3396017abe393ca5e7b6004125e4f1bb93788a37aee301ffffffff9f269a33f10ad8e518107f10eff8bbeefd141a11bc0aa6e270c1baf77faa1fc50100000047463043022009a46f2921f6ebde0bed256589cd340dd7715b724bec46fd34f568f526c76946021f37caaebcf2bed29c381ebbf6dccdcbe56101a21302e70f3a4d3badc8a931f801ffffffffa12011e87078683dfe10b4515f7368e436104e745bc1101d97582e6f67ee39d305000000494830450221009295bed2877100a215e57707fe056d26d96a9ec395057db086ccf1bafd037de102207487fb104f73956dfcb830f102f76d52c3eacd698e815f8017ae1ec38e78202901ffffffffa1f46f2712712239cb2951859f6e1455a881a622c9f833439b38f3e6590eb4b4040000004948304502202a1de25c70995638748d62f9ea4bfb8ad1366a1deb54d5466fd5039217e556600221009c30d4a82d52dc7d16699a4ec40e50aef41da28f4e8b873841c622f807e2e8f001ffffffffa3d6e38734778a45d40353b7b2f94936bd3065da06de2d2216e6fae9a0d4c223030000004847304402203273d0bae01526a5db5e90605fce3a9cdc0c45fc64170a059bbcc9950297d2c40220557e023cc74ed800652ced8612338dde7ca73408a5127719a4c392bfd52b06bd01ffffffffa7456e6996c9e937032bfbbb753aadd369f81a4298e5506e8569e2661ca24dbe0700000049483045022100c03d9d5a67cb599b5ba5fe4e4abfe0c6be00195f6f9593c3b9040a930ecc94da02205412b740060059dd9fcdb683ee94469e5fa46dcc204c21280e006dbfc1ef953101ffffffffa89e47fdb092e1c44ea7a79e9d32a9227c017c3ddbb6a28f057482f7a2bc0394020000004a493046022100aab89c1235bc4dda115cae82a6d19baafcd301910b104a72199d88a3a3b5b750022100e4d949c6f36fe31a87de592d65fda62a2ba8e7278d99ff407a7a875dd31fab7e01ffffffffad8eef45335e60068ad96c4be45d546388ba3af846e8477881758a8eeb7b80de020000004948304502201bcd2d28cc5de95d2adf9720fc896c27eab87c3321c1233c5935f1397e575a26022100909e500a359479a890abb7e2a4873f620c4666a2213ca3580e55b4ff4c05d90201ffffffff25523511b436a71d5f91c95e969ed5d83e79eef24be8f7701e903a3d9c17bc290500000048473044022078fdf2e3f44b8e416d3cdb7ffbf756af4b841b69bed86766d105314b092f412602207505948928009c5c8d08a2aa4392e9d75104001b94a4b64b914e0d5f061e20f801ffffffff264fb72fe3328cba36925d17d27c356d4d4991e65fdd802dc0c5f34bef36e8be0500000049483045022013d5c7cb65e1ed3fa977f33424f9c226df9dd8c83ad2e4d50cee8e86b0562d1c022100c5ba38a073f7d63737da2eb661571e138a079b005d4a7141f12fda063e56d2d201ffffffff34f8dda5446a124357b7b38d23a6f864383eaa44f95d9fcfb86ad91515fe2e44030000004a493046022100d95e325a9fe75820bc36cca0b96ae44944234ea82d7a76a900d6f5c1b2c95df9022100d3515173bb3e8947003e1986b7e6d5dd4aca24d1b7dac6fb17e4605333cf71dd01ffffffff3d542ed13c018d4a8b60d0d35c954f8410fc9f29c3a682bd5e4937d6b7379d5a0300000048473044022018a5939324d30173a4587fcf1d476ed14db5f01681401bc70567af37ab2cde1202201bfa066b921055813cb793522df4e8710b20d950f5d8e1a5cfd112c04e9d15f201ffffffffb2acb59f93c25657ffe0ef962639f00e15d2411392b662dc7996fe8e0b04ea7e0700000049483045022100887270c6579bc8b7845191305eeb638177c084b8d12d428a3ff71d50a5965a6c02201e615170012e77bc80304a8bc888b07072dbc2f986e50b99a0ff2bb10c30adef01ffffffffb5bc99999e9f29490d3309c45df205bb358cd3bd481d1d21cb009da2328ac2c7030000004a493046022100d639856f4df3ba6d06ee8a87886154f2aff085da530cf4c4bf7e8a362a8be19a022100c26eb3eacd124696b6dfdf2db7ef789edefba2638e8b4e48cb2fca61c29c3cf601ffffffffbb37b07318fc3b1761d9292c7bf576e0cd4d2bf7ca131217d6d9085ad4bfe165070000004847304402202c57c02048f54081855e7e9eb94a78ccfc671d93506557bd8fe14085879256dc0220415183d3ef64b1d0ec61a541f45bdb482d6ad1a2d93b9a787b916f2b2a4d091301ffffffffbd0614efcc446d11482931b200c652a161957f6d93b7049d02af525d5276728a050000004847304402206d618c4fd0fbe0cf3783edccde3dace70aa2a9a1259f220b1e681f97ac796876022009b5790687cfc9d890b096bae82312a68d729c0b510b1f9efb8051cf2018513b01ffffffffbf3d0b48e1d2ec8a933473c2364b8a58486e93c95e8730a0424dfad313eb4c12060000004948304502200cd356c149b3edd8f02fc4bd2ff25bb9052585ea2468ab1527403941d1ddfcf9022100da06cbc6433e2ed2304b5f45eed4edcb872c729d7f3fe2a234a4832ceb502e4501ffffffffc2d88f79b8a01746c6c208e28c85e29eae043b27d96dc9d88e484ae0953bcc7006000000494830450220088b65c4a5da576aafc06142a01b39d2f275fda35ba6ddb0d234562e04a5d2bc022100da9bf4c1835ad5dba937bdfa87aa6e1b590d50cb243c02046f11cdef7e20b82801ffffffffc86796a30dc645f26b760d7868e07f86a681a588818f9a23b86d96ec5926de2a050000004948304502207c36c01379b59e5d5c87be2af31dc1c5fb80d843be6049bdf48f6a6b575326f7022100c6864242d93b5efa35e219d2fabf0cd42f6e668a75e72913cc4d7db2179e1dd701ffffffffca288aa8364a703d692550e50be40bbcbe11db565141865f0cae9eb170b14f980600000049483045022033d837b3c17339cefdcba4be4aebd8c895739a8175455fcf0eae3158460f1b4f022100a88394b281e76583f1629c8a24fa0d795b6006860f204bccb60dafa44225d9ce01ffffffffd1e193b704e0997634d18e0bee01710e7fe1b60c6ae742ce9689a8de05c379790600000048473044022014864d03af7f7b0cb07f3a00d99e080661cd5d3e45eea2e0782d0fceb539e40a0220091149643b1a8f28cc283ca68d20730830ad1ef93a97a7e6876caa3e3046766d01ffffffffd5918c60e8d26d00ad10fde9b06ca9c6e1fa82315d6c78293faed80316069d160500000049483045022100e670451db273824cbc12313a6d469643aced59b936d2706e21d04ae25357477502204d3c3cf5fbded641d110c1c110cc110e92b72e645076c2f59b445bbb1d499c3001ffffffffd8debc130903785fdf6a2f63cef8f63d06c09a1fe967291fc0f51caabb31adb30200000049483045022100dbc3ccba2272a5805081268582a0cdd1b65b8ca5e6974a2f2eeb8054c46777fe022032166cf07537f0d22000912b307834e98a6c4f081b745f762ffcbc852e07dcbe01ffffffffda41a10945dc7a56a989ca198662976c97837ca74046f11b001ff9d8683d79f90a00000049483045022054515be93a4a77b6b607a460a51db95580ae531d6309be723002f8bd781cb9c3022100e911d40f565c2bacbbb1cfb86868314b9e1a8b0adcca8a7a17794736f915742e01ffffffffdbd6fd0a4a4593276c52e89ac2b4720b1ee67f365c18084657ccc76b01f7b6de0400000048473044022017857db9f6aeecf979d0e63ae04ff9f88951349db3ef1d3271cc426fbca584b1022038c6702094d1eddb03a98bf0f9f6a2e0442b886ab52b1fd1bb6d28a57f44fbe701ffffffffe0eed6d60007a2e5fc8afb120d95f4fe0735bff78cb2d5d02f9052a693f76a020900000049483045022100d174522d28f8565f00e38fbada0f041b9dac062b78f8d5b20b8fee78a531f37402207f6558a510b378db2245dd5ca8cb09ceec72f312baff8bb782e2b6c2fa91ffd701ffffffffe1f209a7409314172a058d2d4c229bffa0a33c0b4b17d0f79e5963cb316182c4040000004a493046022100d0b1b95c50bf2d7a402d9ac4d8d3eaa474f3f5e3981c65d20e95f86229f23835022100eaa218f4cb052b70fbcab317f18b4f7f2ef77aaeff46a8bd3113535f4c0b4a4201ffffffffe4843acbe6f2f3a1f02e2c82801f942a40057c89bcc882628e1002f9542506ab0300000049483045022100fa8608150a07f70d397bdb7e96de80e382fbe9beb475fb1871bec9428ced434102200a3f68dd80794a97c0796da4c7850b2ae65e7fd51fb0c5d52046b77b5574a78b01ffffffffec8ca371c1e38493151477bcfe0d5a1b204a0e0405c38b63865037ba6529e6660800000049483045022043ce4aaa7e9bb6beed60a94d04763c41d25e8c534df94f162ebf36e8ccfdac84022100ac613c3421142942847c6408c1c91968452d417d514cf5cabcef9d4e09950be701fffffffff3442bdca656c1dad7bbf8e74e4fe46b61a7f023c2fcb17c7cbf849c18db385306000000494830450220394745080cafd69da74748f47f7b7f53d09206e092b47b9b0c78fcb9eaf03de0022100a29d9ca04079c4195f0e9d7a691078371b1714cef84b08c165ab0f20c18a2c5401fffffffff4f30586f870da361c83aa56703b4ed1ff04ea84b04f0e33a72f00e7dac3e9990200000049483045022100aefdfb41ca249da0b10e476df309be56da410271129eff9dfa1d87e2eccea7f8022012c6911cedac4d3cb96a98118aee60491f2460bf4afca28fc0515a612cf435c301fffffffff87359d08edde86f2c9e2fe1b13263d1bf4f939ae6ded4651b93301003af0f47050000004a493046022100a2b3a63a2e0fb61f30e7aaf0043ae64beedeed9134d816609dc9cfab71a273290221008e5af1f2194f39473bad8b04faab6c2e8071729f1e2a17d284aa34101043819d01fffffffffb10c3de31d23d474ea69c74f98328e39ce5bd0049171d93e62871efb0e330f7080000004847304402207160b49ce6375414c71a66b7b2e15c5c36a96b0258dccce2e429f9aae12e6ab50220150f4dde89642d2a0d34776ce54502901231489a1156081d7cc8ed0b43a897c401fffffffffe86699adfdb9d6dd39d22ee0cd47ff7acb2c9c8cf21db4a26063caf245983900300000049483045022100bf25be1b9e45b13d52304365b76a671efd5925167c351b6c09bf56269afc43120220156bf761ff54f7cc6f169193e0dbd2c7fbfc348d803bd7647bb7242b5371452101ffffffff019a2b3000000000001976a91472f7b857ca18f9743928489b4dc009b7982d7f7e88ac00000000
24. Насколько я правильно понимаю, ее вес будет приблизительно равен весу текстового файла, в который ее забросят и сохранят в файловой системе. Или имеется некая архивация для уменьшения ее веса?
25. Для того, кто ее отправил, она является выходом, а для получателя - входом. Или я что-то упустил?
26. Эта строка является результатом конкатенации всех транзакций, в результате которых получена отправленная сумма? Или сложение входов происходит по другому?
27. Если учесть ответ на (23), то в ней же прописаны и выходы?
28. Насколько я знаю, выходов у транзы обычно один, два или три.
Один - у coinbase-транзакции и у простой в идеальном случае, когда все деньги перетекают с одного адреса на другой. При этом все происходит без комиссии (если форк позволяет)
Два - это те же выходы, что и в прошлом примере, но уже с комиссией. А также, в форках без комиссии для простой транзы - это оплаченная сумма и сдача. Для coinstake - результат дробления при майнинге (есть ли там комиссия?).
Три - то же, что и в предыдущем примере, но уже с комиссией.
Я все правильно понял?
full member
Activity: 216
Merit: 100
20. Других нет. Кроме того, в bitcoin coinstake-транзакции отсутствуют.
21. В обычной транзакции есть один или несколько входов (один вход на каждую монету); в каждом входе указан идентификатор транзакции, сгенерировавшей монету, и номер выхода в ней, соответствующий этой монете. Обозначаются обычно txid/vout.
22. Нет.
23. От количества входов и выходов, иногда от типа входов (при переводе с мультисигнатурных адресов размер входа больше, чем с обычных). В bitcoin минимальный размер транзакции для обычных адресов — один вход и один выход — немного меньше 200 байт, максимальный не ограничен (в разумных пределах, разумеется; транзакция не может быть больше блока, а текущий предел размера блока — 1 Mb).
hero member
Activity: 994
Merit: 502
Раз уж тут такое обсуждение, позадаю и я тут вопросы на тему.
20. Насколько мне известно, монеты могут быть рождены:
- coinbase-транзакцией (намайнены с помощью PoW)
- coinstake-транзакцией (намайнены с помощью PoS)
- просто транзакцией (убиваются старые монеты на входе транзакции и рождаются новые на ее выходе)
Есть еще какие-то виды транзакций рождающие или трансформирующие монеты?

21. Как выглядит (в виде кода) транзакция (читай монета)?
22. Есть ли принципиальная разница между монетами, рожденными разными видами транзакций?
23. Много раз в обсуждениях видел такое понятие, как "вес транзакции" в килобайтах, за который в некоторых форках дерут дополнительную комиссию. От чего зависит этот самый вес и каков возможный разброс (минимальный и максимальный вес)?
Pages:
Jump to: