LowKick (OP)
Newbie
Offline
Activity: 3
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 02, 2014, 09:15:27 PM |
|
Всем привет!
Ряд вопросов по кошельку Multibit и в целом по механике кошельков: 1. Правильно ли я понимаю, что кошелек Мультибит, равно как и любые другие биткойн-кошельки - это просто хранилище биткойн-адресов, а точнее пар публичных-приватных ключей?
2. Если я изначально завел с помощью Мультибит 5 адресов, то в будущем удаление, скажем, двух адресов логикой работы с биткойн не предусмотрено?
3. Если у меня имеется 5 адресов, десятки транзакций и общая сумма на кошельке, скажем, 10 монет. Могу ли я понять, на каких именно адресах "лежат" эти деньги и в каких количествах? Или это не имеет смысла? Мне нужно просто понимать, что в кошельке лежит 10 монет и не важно на каких именно адресах?
4. Если я отправляю кому-то монеты, то с какого адреса они уходят? Или об этом не имеет смысла думать? Нужно просто понимать, что монеты уходят из кошелька и не важно каков исходящий адрес?
5. Если я делаю экспорт приватных ключей, то в одном файле оказываются ключи от всех моих 5 адресов? Нельзя сделать экспорт приватного ключа от конкретного адреса?
6. Можно ли имея только файл приватных ключей Мультибита восстановить его, скажем, в кошельке Electrum? И что будет если работать с этими двумя программами одновременно? Транзакции, проведенные в Electrum будут отображаться в Мультибите?
7. Если я не ставлю пароль на файл своего кошелька, то тот, кто его украдет, просто откроет кошелек Мультибитом и сможет делать транзакции с моих адресов? А если я поставлю пароль, то при краже можно будет открыть кошелек, видеть все транзакции, но ничего нового сделать будет невозможно?
8. Если файл экспорта моих приватных ключей, защищенных хорошим паролем, как-то попадают в паблик, то это достаточно безопасно? То есть не подобрав пароль ничего вредоносного с этим файлом не сделать?
9. Имея только приватный ключ, типа Kxh9rzxkeaRmHEPMeR1nLov2GDTF13xcFr6JyDZErLwFwPmdKR7y можно ли из него восстановить публичный ключ и биткойн-адрес? (То есть я попробовал это сделать средствами Мультибита и у меня, вроде как, получилось открыть в Кошельке2 адрес существующий в Кошельке1. Получается, что с одним адресом можно работать из разных кошельков в одной программе Мультибит и это не создаст проблемных конфликтов? Хотя если будет перевод на этот адрес, то он увеличит баланс двух кошельков?)
10. "Биткойн-деньги" - это информация, которая хранится в распределенном виде по всей биткойн-сети, а владение ключами от определенных биткойн-адресов дает право распоряжаться имеющимися на этих адресах средствами. То есть "деньги" можно потерять, лишь потеряв ключи? Всё верно?
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 02, 2014, 10:04:47 PM Last edit: January 03, 2014, 09:38:34 AM by rPman |
|
1. да, но не как любые, electrum например 'не хранилище пар', а точнее не просто хранилище. 2. логика bitcoin никак не мешает удалить адрес из кошелька, это же просто хранилище, но вот функционал в multibit такой отсутствует (но можно - экспорт ключей, удалить из экспорта ненужные адреса, пересоздать кошелек, импорт) 3. с помощью multibit нет, а вот electrum показывает на каком адресе какая сумма монет, так же это можно посмотреть в любом blockexplore-ре ( http://blockchain.info http://blockexplorer.com ...) 4. с какого адреса уходят монеты решает кошелек (например там есть условие - чем старее монета тем больше шансов быть потраченной), но это не принципиально, есть способы контролировать не только с какого адреса делать перевод, но даже какие именно монеты (выходы входящих транзакций, так как в идеологии bitcoin на адресе лежит не сумма а список пополнений этого адреса, т.е. входящих транзакций), в любом случае в интерфейсе multibit это не предусмотрено, а к примеру electrum позволяет 'заблокировать' адреса для снятия с них монет (соотв. трата будет с не заблокированных) 5. можно, правая кнопка на адресе кажется (не помню точно, интерфейс multibit немного нелогичный) 6. да, можно, а так же в любом другом кошельке (bitcoin-qt/armory/electrum/libbitcoin sx/...), в electrum будут отображаться как обычные транзакции (а адреса будут размещены в отдельном аккаунте 'imported'), будьте внимательны, при восстановлении кошелька electrum из seed, импортированные адреса естесвенно не восстановятся, они хранятся только в кошельке. 7. да, да 8. да, но зачем вам хранить список приватных ключей из multibit? ведь этого не достаточно для полноценного резервного копирования кошелька, из которого к примеру делают исходящие транзакции. Дело в том что при каждой исходящей транзакции почти всегда есть сдача (монету можно потратить только полностью) и она пересылается на НОВЫЙ сгенерированный адрес (кстати в electrum это можно отключить, и возвращать сдачу обратно на один из адресов.. это не так безопасно с точки зрения анонимности но удобно) 9. да, можно работать одновременно в нескольких кошельках, но до первой транзакции, которая часть или все оставшиеся монеты на адресе в виде сдачи перенесут на новый, которого нет в этом кошельке Баланс кошельков это только информация... примите как данность, кошелек не хранит деньги, он хранит КЛЮЧИ для траты денег, а деньги хранятся в публичном blockchain который видят все. Сделайте вы хоть 100 копий ключей от квартиры где деньги лежат (импортировали ключи в кошельки), их у вас от этого не прибавится. 10. да
|
|
|
|
LowKick (OP)
Newbie
Offline
Activity: 3
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 03, 2014, 05:15:01 AM |
|
rPman, спасибо!
Еще уточнения.
11. В Мультибите, всё таки, не обнаруживается функция экспорта приватного ключа от одного конкретного адреса. Но, как я понимаю, функция экспорта может понадобиться только в случае, если нужно экспортировать все свои адреса в какой-нибудь новый кошелек. Но и это не особо нужная операция. Проще переслать все средства на новый адрес, сгенерированный в новом кошельке. Так?
12. В общем биткойн-адреса - это не то же самое, что номер банковского счета, или номер кошелька в WebMoney? В случае активной деятельности можно и нужно в разных случаях указывать разные биткойн-адреса для получения средств. Адресов со временем может накопиться много и тут уже бэкапы ключей не имеют смысла. Главное - бережно хранить и бэкапить файл кошелька. Так?
13. Что такое "монету можно потратить только полностью"? Монета - это имеется ввиду один биткойн? То есть если я перевожу кому-то 1,1 биткойна, из моих двух, то 0,9 биткойна Мультибит "перенесет", по запросу сети, на новый адрес, специально сгенерировав его в кошельке? А Electrum в ответ на запрос "куда сдачу?" может указать один из существующих адресов, или специальный адрес для сдач? Удобство в том, что не плодятся адреса?
14. Какой смысл в seed для Electrum, если при долгосрочной работе в кошельке образуются другие адреса, которые seed уже не восстановит? При этом если когда-то в будущем seed попадет в чужие руки, то кто-то сможет получить контроль над рядом адресов.
15. Какие автоматизированные способы бэкапа кошелька Мультибит используются народом? Умные идеи с использованием, например, Дропбокс, или еще каких-то сервисов? Или это всё пока "в процессе становления"?
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 03, 2014, 09:16:32 AM |
|
11. да, экспорт обычно используется только для смены программы-кошелька, и да, мне тоже кажется проще перевести все монеты на один адрес в новом. 12. о да, не то же самое, и даже понятие 'счет' или 'кошелек' были заведены уже поверх идеологии адресов и монет (транзакций). Да, изначально рекомендуется использовать для приема монет каждый раз новый адрес и да, это порождает огромное количество адресов (особенно это неудобно для автоматизированных сервисов приема, таких как на биржах к примеру, и им приходится отходить от этого правила и делать один адрес = один клиент), да, постоянный бакап кошелька, каждый раз когда вы генерируете новый адрес (а это происходит в т.ч. при отправке монет), на практике адреса генерируются блоками и кешируются незаметно от пользователя, но отследить этот момент не всегда возможно. 13. в идеологии bitcoin нету счетов, есть только транзакции! каждую входящую транзакцию - называют монетой (будь это 1234 bitcoin или 9876 сатошиков). Нельзя потратить только часть монеты, оставив остаток на старом адресе (потому как нет такого понятия), поэтому транзакция представляет из себя 'список входов' и 'список выходов', входы - это список транзакций, которыми вы пополняли свой кошелек с указанием какой из их выходов использовался, а выходы - это список адресов, на которые необходимо перевести монеты... разница между суммой входов и выходов уходит на комиссию (сумма у выходов не может быть больше чем у входов). Пример, вы сделали 4 перевода на свои адреса, по 3,10,2 и 8 монет, теперь хотите потратить 7 монет, у вас удет создана транзакция 3+10 -> 7+6 (вернется на новый адрес) и итого у вас в кошельке будет уже 2,8 и 6 монеты. У electrum можно указать, создавать ли новый адрес или переводить остаток (сдачу) на один из исходящих адресов... выбрать единый адрес для сдач не предоставлен (смысла не вижу). Сделано это наверное для того, чтобы пользователям можно было пользоваться адресами bitcoin как независимыми аккаунтами, так как в интерфейсе видно сколько монет лежит на каждом адресе, очень удобно было именно сдачу возвращать обратно... Например один адрес для приема средств по своему проекту на форуме, другой для переводов в 'кубышку' на будущее, третий - прием средств с бирж, четвертый - майнинг... заблокировав все адреса можно периодически перед тратой разблокировать нужны кошелек (кстати в новой версии добавили пункт меню - send from, позволяющий выбрать несколько исходящих адресов без заморозки остальных) 14. seed в electrum какраз и позволяет сгенерировать любое количество будущих адресов таким образом, чтобы их можно было повторно сгенерировать при восстановлении >> если при долгосрочной работе в кошельке образуются другие адреса, которые seed уже не восстановит - доктор когда я делаю вот так, у меня вот тут болит, - а вы так не делайте!Просто не импортируйте в кошелек electrum адреса из других кошельков, если хотите полной детерменированности адресов в нем. 15. х.з. Именно по этой причине, что адреса в bitcoin-qt и multibit каждый раз генерируются и нет возможности точно предугадать, когда нужно делать бакап, я ими не пользуюсь (на самом деле пользуюсь, но в полностью автоматизированных сервисах, где иные способы резервного копирования, через как раз экспорт приватных ключей)
|
|
|
|
LowKick (OP)
Newbie
Offline
Activity: 3
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 04, 2014, 05:21:34 PM |
|
rPman, еще вопросы ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) 16. Поставил Electrum в дополнение к Мультибиту и тестовому кошельку Blockchain. Импортировал один из адресов во все кошельки. Погонял между ними монеты. Запутался окончательно ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Довольно сложно понять, что происходит. Даже созданные для адресов ярлыки не проясняют картину. Пока транзакции длятся картина вроде понятна, спустя какое-то время транзакции прошли и всё поменялось. Какие-то адреса исчезли, какие-то появились. Балансы как-то сложно поменялись (с восприятием дробных чисел дополнительная сложность). Так сколько Electrum изначально создает адресов? Те несколько, которые сразу отображаются, или еще есть много скрытых, которые потом можно будет с помощью seed восстановить? 17. Если Electrum создает новые адреса в процессе транзакций, то тут тем более должен остро стоять вопрос автоматического постоянного бэкапа кошелька. Предположим мы делаем транзакцию с крупной суммой, создается новый адрес и в этот момент жесткий диск компа накрывается от сбоя электричества. Всё? Ключи от нового адреса похоронены с хардом и seed не поможет? 18. Зачем и Мультибит, и Электрум пишут логи транзакций в отдельные не зашифрованные файлы? Их можно просто открыть и увидеть всю историю переводов, суммы, комментарии типа "To Ahmed for drugs". Это же очевидно не безопасно? 19. Если в Electrum на трех адресах у меня лежат какие-то суммы, а я делаю транзакцию с четвертого нового пустого адреса, то по какому принципу какие монеты будут взяты с этих трех адресов?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 05, 2014, 10:27:30 AM |
|
Позволю себе ответить за rPman'а ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) 16. Не просто много, а бесконечное количество. seed - это начальное состояние генератора псевдослучайных чисел, с помощью которого и выводятся приватные биткоин-ключи (а из них уже получаются публичные ключи и адреса). Просто в интерфейсе сразу после установки отображается лишь ограниченное число адресов, но они там есть и дальше. 17. См. предыдущий вопрос. Сдача в Electrum'е переводится на адрес, выведенный из seed'а, так что пусть его отсутствие в интерфейсе не смущает, проверяться последующие адреса тоже будут. 18. В официальном клиенте шифруются только закрытые ключи, даже адреса/публичные ключи там остаются в открытом виде. Думаю, Мультибит и Электрум просто переняли этот дизайн. Если нужно шифровать всё - засовывайте весь каталог в криптоконтейнер и запускайте кошелёк как минимум из-под отдельного пользователя, а то и в отдельной виртуалке. 19. Невозможно сделать транзакцию с адреса, на котором нет средств. Если вы сделаете транзакцию с кошелька без указания конкретных адресов, то, разумеется, средства спишутся с тех трёх адресов, на которых битки есть (конкретный алгоритм не специфицирован и может отличаться в разных клиентах и даже версиях).
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2014, 05:00:47 PM |
|
Раз уж тут такое обсуждение, позадаю и я тут вопросы на тему. 20. Насколько мне известно, монеты могут быть рождены: - coinbase-транзакцией (намайнены с помощью PoW) - coinstake-транзакцией (намайнены с помощью PoS) - просто транзакцией (убиваются старые монеты на входе транзакции и рождаются новые на ее выходе) Есть еще какие-то виды транзакций рождающие или трансформирующие монеты?
21. Как выглядит (в виде кода) транзакция (читай монета)? 22. Есть ли принципиальная разница между монетами, рожденными разными видами транзакций? 23. Много раз в обсуждениях видел такое понятие, как "вес транзакции" в килобайтах, за который в некоторых форках дерут дополнительную комиссию. От чего зависит этот самый вес и каков возможный разброс (минимальный и максимальный вес)?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2014, 05:42:25 PM |
|
20. Других нет. Кроме того, в bitcoin coinstake-транзакции отсутствуют. 21. В обычной транзакции есть один или несколько входов (один вход на каждую монету); в каждом входе указан идентификатор транзакции, сгенерировавшей монету, и номер выхода в ней, соответствующий этой монете. Обозначаются обычно txid/vout. 22. Нет. 23. От количества входов и выходов, иногда от типа входов (при переводе с мультисигнатурных адресов размер входа больше, чем с обычных). В bitcoin минимальный размер транзакции для обычных адресов — один вход и один выход — немного меньше 200 байт, максимальный не ограничен (в разумных пределах, разумеется; транзакция не может быть больше блока, а текущий предел размера блока — 1 Mb).
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2014, 06:24:17 PM |
|
К примеру, вот конкретная raw (сырая) транзакция: 01000000db44ed524c1c76d414f75fd5d6a663b3fc4d5a3ef0d742485a8fccd2a4cf80e0ad1fb7844f050000004948304502203103deef63763a8dca1981596ee6e811297e3ea1aaec59e956a6dedc9638470e022100f8025aed848ad0295efcf74f9fc7a97a84d3a6f2ea78f04f8f04e393dbe5cba801ffffffff0af2ce3b5c15b322ba7afc65ef57bf582bfb1b595a95ee0bbbfb4d932c5f38e6050000004a493046022100c0f0be3b2bc0393ee29401a72c8c175ca9d25518b1f0513130416e8e45863d85022100f1319086fab8fa8ed3889e34ab0c88458324d432aa55589b3652e8845004836001ffffffff0df00163392dbd9a8939e6520a66f9afedb1098c99299d74f0064165b3eb83b30600000048473044022043e231bcc98b25e6a3d413702ecee300c0896961d05445d55bc202abd1c689440220160454a8e638a38b95bc8798e4826bda7d2361b39fddd09237730d6aa33daa1501ffffffff068f3f8008fd8b09afcc1ade8167ba8f165799691b24a866cdb41005599631910300000049483045022100cec50b479f42ea260dee8256232735e69f5f1cc6c7aefe3f726bfe0e5ee7867e0220233e6496d6d379a652c1a099b9747df6964e636e3467c6d01d944b2637df6a7401ffffffff42cf08c6c63b6a5669a6e4a1a53d43200d8902294422f4724dc5e79321dfaadd07000000494830450221009f533d56f5cf0b6b3b6fa7adc0a3e58307d2519447b74d4f5c14c93574c530ef022004ece0f034353f62099a1ee2cfa11aaac6403f64366da37a5ba416e001ef068501ffffffff439d3e8507ef5acfab04b10b721f9c22f5315603d85970b044c8c3f69797b283070000004948304502201b6a84b197b2393192e8d872cb968d83f7c60f4efc2b1a628c7102f112178b49022100cfe2f0035d5307856670cb5c83e1109d75f1258ceda0640a90dabb99a637e3d701ffffffff47b16a184f697254059b5edcfd7acb3a05eb22e1bd136d74582c8c55b912f41f07000000494830450220423b433409fdb07e9e7289fa1a5c48982fe50eb54e93b4f49c6eb58528a10509022100abde561be7d6033402eefed260fe189a01a3b0a66392af6807a914b17156bc9601ffffffff4a148c6f4119c87fcd1ab55e27b29e085dea7e74aeb033dc6cc37f36e5fb1f83080000004a493046022100b32fb756c2684df6932a72d1391a685ca7827306e89094c6028a8f9104f44579022100a24a726df408e76039c6526c40fffe42c8c3182ec8967ce8717282a34abb0edf01ffffffff4b0b67604f1af80fc7176a3f7ae28e05da80b93348466937b69b17e61b2e8353070000004a4930460221009cfd430d22388f6a045d8bc000c801f049497d5a81c7f60c0f1e6efc62a0594202210097c0f002403fdda991e65fa421ef9568d3cd20d72b7af59a9e01b8d38485aa4101ffffffff4f424fcb66355c430ea6fbe8f59aa290c2b08e08f90739c40e10a6b3e434e42c070000004a493046022100ecfbbe8e7811e040d7a58a469a7b1bde949c97a197a7e22828aa2e69374a44e002210080c3fa5090f99192499186cbf047bbec8533360f2289e4535f37bd19a18b8c0201ffffffff516fad7451801afad1e3bd4bd3737f8352b2324b063c9315489af08c6c1eb9a90700000049483045022100cf92119c090a4f243fdcbb0724f74a1a4a558931f1473a6f8c568c1a126370ca022026148d7c16fe67b44c44ee30bde91fbd25b596455f8ae0c9e2f568c935d7433501ffffffff517aa3869bf69c6adcc6abd16fb2f2aef1984d303bcfc129eb59b7ad0f83d53f0300000048473044022007f3c96b4d5e89fdbf3eecd8fe5a82499a3bea3388004ee581de76bfd6f3e07002200105c57c96baea9681ce306378850c415a2cb160fcfb836ed509c355cee8bcd201ffffffff53fa0adb4f38e0b7c454f12cb8e0cf982ed3f682fb4fb22b28219c0d684d9a35030000004a493046022100b55da93360ca5f872e2d2a53234a042295696797599c5d54c488429ef3e918a0022100ce4f9650aa2102290fcb82d951b9dd94a2eff973cb8bae4f20691d57336977ea01ffffffff5832cca6e7b3a0826b014bbeba37f4c74aee801b0c7be7aaf6eed26f33592b4203000000494830450220350f0dfa09f4f794f69150fb54ba8ad1b8f7dfffc40aa9843488ce1a1ea1600d022100d3ee16f5c1230ee07c18a366ad47bbf0164ce1f9897636b3860801f25f61064801ffffffff5faf00c1f1994f00f7bfe5df59e5feebcea0da57c0a0eef38e6633e6c6002990020000004a49304602210085be43e504b2451546e7acfae2da7b9d51536666375d83916d529080a2ca42ac022100a32ca247552374a9417ad8d561e4a41fb77b229dc55a9868e7ebcfdc9f54db4f01ffffffff5fe75fa34c639a373dd8a4b0f356c2bc580dd09f23fbcafec3a61c51cc26b51e050000004a493046022100948235b035d2262af95dab3d4c1b25a2598a84f3d38213ba349f55bddc93269d0221008e5c648b588a0353c01ba7ef745f2b88e802320182af6973eca693c8c8f8dc2301ffffffff628adcecdba44a82d413e01a574f98ab001fd19ec8d6da40ff9e04f756006666080000004948304502207030762519cbfd9937082a080a75658e0050e7252cf7f10e4aff3171be3f6933022100ee0918f58bcdaed3f167bcbaa11539a4cacec2445cd7a18b1ef25b8ce957bced01ffffffff65f26dce8a5747174dad18ba495bd37b47f58f9ccef7cf52fbb0db39e94eecb50700000049483045022100bb14d509a3e58f38e9c3d0341cc15ac119399ef2e1fb877271b5f753356cf1b502205a751825060602aec607daac0497febd3c0f05c31a0b8b2516a2fc87528fe10f01ffffffff711ce378b1fd1a9f429392e339c45f7dba060bb47a252d632dd15e4875fc13b9050000004a493046022100ad061e9be03052825ecdedd4e55029b090cd6ca861d7e11e39201cadefe944be02210091ee24cf32aca22e37a6f905acc1b99600ce7de16ef2ba2b03b15d61d5705f6401ffffffff767194d0d8ee381287108a29a9b288de2d99f147a82616be2b8e628a94d51adc070000004a493046022100a02f1bfcb40217b3c4626daa4bd3ae0f21fae53f9851018773bc3373d07563ea0221008c13d10c81d8b5959cf907b1d988136f2c4ee682d2212b44618bd9d9c704fb9e01ffffffff7726ae36adda81bf7f4bdeebe8be4f0bbff38fc30e471a3ce93b9fb307962a00020000004a493046022100aba1f5f731a1d7eb3b12a11ea6b52db2179159d5e699e19df951db597d92fc4d022100a1b60c7c73da546657809d7994c197444fed16b93960cc84f397dda57291267f01ffffffff78b9d62ea9d710433a9754ef658ec58ff0b8fc24674bc757b005188e6877f08a0400000049483045022061c5c1364666d73f95cc995fd5ace8b467c051c74af357f7c7b482fa9787890a022100a88f6c301b0b76506e70dedeed316d22ff4f6bbd6fc5867f9428f70304318f1201ffffffff7c772fd668731826f7f3b5ec5b263265192ab3f7da45481e102e39cd727f81ec050000004847304402200b33089103a29b2b81aa6a5b646eea59f53e1766f895c2f0a85e35ce41ee17a2022015bbb596f4f1442e62294b0214f07184e2055ddc6c2cab348bd6f1e4abd882f401ffffffff31dae3f93022b3f1b211841add6116de3bdba929ccdeef92d5866dcfa36a4ed00600000049483045022100eaa6e53d4666fc3fd2e5838f03540dc43acf9c5e0f364ebc32c491bb51cc3c4a02203bd3237117f65b716da4f3134735cbbf6d7c193a6b3463cddd7c775fae67f97b01ffffffff2c887014e5e41eba5390e9bd7a4582cccef7f1889590412fc9117d0a179cf7c00200000048473044022061b8e6c0e39754d945ce3803306d603aa72539b518e57b7b2eda3471822e4bbd0220023d2c92944d260cd61d8f903a5dd7a33a7396811dbeaaed4e0a34f37a529b7b01ffffffff2dcfc5aca3baf6e817941db7da3f27eb48bc64680a9eecf97341e58e0aa1b2110300000049483045022100b8866d7adc7ef1341c584e5588cb2728457afc04d7b8631941a961825096f7670220069dd6c7a4330eb35c9568031bda3e33bd5b39fdf5df416fbffe45528813b5c101ffffffff3de71eaad7497a05ca7c6c8fd09a5c885097f4c50fa7bf23a7df0c3ddfed8232050000004a493046022100cbfb19efc6c2fec2f4c20e228dacc64c65956af55aef5c6c67e981515194d6ff02210093aed381dcf7ef01997207020254a66890cb61be45cfde65f50510fc4970d29801ffffffff2ba52cb5b86f9e130359b32cb96e2dd1b4d4a8bc6328343e974f29990510662e030000004948304502201c10954dd32995f3ef49c72cec73f7f44f445c263f8f45961410332c68cd8fd20221009d2ae845fe78dd6d046a7a7ba79fb1b20176094a0d74f40d77d7b41018ec629401ffffffff2b723b859e7bdf09efa3fda51798667e5c50df220985793305f26d38226d1553080000004a4930460221008fb97c20caea182e48fea1e8e07121390b2555995c5d35bc6f842a6bac14d3580221009224833087085520e6fa4ad0378bea92463bb2ae771b4b67dc64d1dcb849ac1f01ffffffff1cc0472cd6206761832da18404657da0c8f4af1f004fe15951c9cf53e4552ace00000000484730440220649282e587564c0a02377bf6839eef8ce418a96b8fe9a0e056953e6c0d9ff0560220552497a5e54473fc77292aa3ab604519a8c44d4b293cafb25a49cb98579e5f4501ffffffff8105f4dbb1e49efb7cb231a9483054d6d8cc85d2c5af3d0e4a7540b051dafa3e000000004948304502204f9f0885f10a2af0bf3c7213f1f6170a85bcf4812c81b0fda01deb7a1aff899c022100ba87d28da7bc10fbd4c12ddb0b0a2a4fd647751bd9064ff5a3c5c664bbc7787d01ffffffff819ea36dcc9e942635db38b767c7c94a4f62a6bb179f287be0006bc3d9c22d0c0800000049483045022100f30909bc3d56923dd6c571258964b693cf5cb5b0510fb794a18e8b9017ebe768022039cab6db581095ffdd17a252c79d50e1d3c154de5a4285f944d9643a4cbc8d5a01ffffffff8393fcd16148a7a8c86644bf3f6d9c2e63ff0f26b9b34b17ff3fc974306e845400000000484730440220391b3298d288aeadb3df542400fc1a1434e86291fc0ad68950203efd4ce82bfc02203f12cbb565088580e9c4038e39caed4d015020ca45abdf49f5701c9b49568f5201ffffffff852774590dd183de1e778b2ee211f82e5520dad4534fde35dfe6f1fcff5ba5630100000049483045022100c21b5be711a3ee37a94436bddb21461eff95b7378b2f55511b4621f16891a3aa0220097209ee98ad7164c3f2abf44e7663ddcf1bddd2bbcc4658fa6122149f9fe9e001ffffffff867963f5d2d7365b390f45b2fb39b63e9dd058ef838066a372727c80333b956f0a000000494830450220705f1e55589b7f2aae6ed88e79f76c0970b4fb234690e89bbe095e32efa6fe0f022100ae5f679dd669ccb75562024e57d0156ed59cecadcae2991a670d18bed76f789001ffffffff8b3e12fd16b887b3cef6412a956085614794f51a3c2d038ad702bf9fc493452a07000000484730440220441065d24d089edabcd281a5c98c1b4cde4f966adae582951db436c7f726980d02205f590ec75561b5821d26680aff21bd9a83c5ba87fef52d0f9b2c0d0d061ff27b01ffffffff9341a66dd8c962ea8d925afb71014a6864508329af4b64e3548ed91bfb4e82f8080000004a49304602210086898f75985c771ddefa66f45351e5c6db28ad76875fcecb956f862edc4ed4d0022100acd345b64dee55c75c24c50a9587da390bf12042e5fe006f9b504b0810100d0801ffffffff93a1819f93d8891a4ffdb0e91cfead4fc3b6c1dbc96f847c234f24c63b491a4f040000004a493046022100a3b4279f91d27730ab521e6c9157430f1dbc1ddccc28f05075743f19a85eb493022100a4c8f8f09e3dd405b737490405e421eb4cdb56f41755310e84fcec54a938e70a01ffffffff945f5ab31d67446c4c3f4120c6168038e6115ae6b3d1723207a3149f8d75790d010000004a493046022100af6423f6af7f69380c2215a42c6b82d15671b6a8fb36133ab85d092c22e2986e022100e245cd94a5b65ecdd74cb0de650b60b3eb913a77b8ef2ee79ab587000d08c09b01ffffffff94a788d3230033611fc77d481f9506967ed58e3421299156b98783059cca813606000000484730440220522c433da165df06c658302ff1d7c1cfac9bd57a36cae64a5f9cc4e793ebf34f02205fb23b7ac3e104cb7ceed08b7ad4c5ee648a6349be8b12a328a99170312a124101ffffffff94f9635d7d996c87ce9a0a094328d7bb00e4ebd2622c272c2943f81160e06051050000004a493046022100c0ea0a3c2ee418521a31acf92ddd284153f11e91017d5e62c7860a7f6fd2ce33022100bc045cc27968ce11e596e9c26548c0abb75d5c9f53459f8d95075d045add148001ffffffff99d19027fe36cfb02da0718634ef7b37a4090b1fd3f88fae92907e762f39f4aa040000004948304502204c74bd933ef27ccc7e36d9a4764d0432a389ffe4701ca9fa670605eb9dfc59a00221008a7aef026651a87bb2e230f008ed0fad8a0338d7177509defd83bb2dd27feaae01ffffffff9da07fdc85f0f22ac2fef52f22f678be4aee5d93d95aebb4aded7c79795a8de9050000004948304502206fb93e29e32ab3c202c35eba0d85b5a94a112407ac3b138d8f963f03d95ae803022100bd7e23174fa54cd509dc3396017abe393ca5e7b6004125e4f1bb93788a37aee301ffffffff9f269a33f10ad8e518107f10eff8bbeefd141a11bc0aa6e270c1baf77faa1fc50100000047463043022009a46f2921f6ebde0bed256589cd340dd7715b724bec46fd34f568f526c76946021f37caaebcf2bed29c381ebbf6dccdcbe56101a21302e70f3a4d3badc8a931f801ffffffffa12011e87078683dfe10b4515f7368e436104e745bc1101d97582e6f67ee39d305000000494830450221009295bed2877100a215e57707fe056d26d96a9ec395057db086ccf1bafd037de102207487fb104f73956dfcb830f102f76d52c3eacd698e815f8017ae1ec38e78202901ffffffffa1f46f2712712239cb2951859f6e1455a881a622c9f833439b38f3e6590eb4b4040000004948304502202a1de25c70995638748d62f9ea4bfb8ad1366a1deb54d5466fd5039217e556600221009c30d4a82d52dc7d16699a4ec40e50aef41da28f4e8b873841c622f807e2e8f001ffffffffa3d6e38734778a45d40353b7b2f94936bd3065da06de2d2216e6fae9a0d4c223030000004847304402203273d0bae01526a5db5e90605fce3a9cdc0c45fc64170a059bbcc9950297d2c40220557e023cc74ed800652ced8612338dde7ca73408a5127719a4c392bfd52b06bd01ffffffffa7456e6996c9e937032bfbbb753aadd369f81a4298e5506e8569e2661ca24dbe0700000049483045022100c03d9d5a67cb599b5ba5fe4e4abfe0c6be00195f6f9593c3b9040a930ecc94da02205412b740060059dd9fcdb683ee94469e5fa46dcc204c21280e006dbfc1ef953101ffffffffa89e47fdb092e1c44ea7a79e9d32a9227c017c3ddbb6a28f057482f7a2bc0394020000004a493046022100aab89c1235bc4dda115cae82a6d19baafcd301910b104a72199d88a3a3b5b750022100e4d949c6f36fe31a87de592d65fda62a2ba8e7278d99ff407a7a875dd31fab7e01ffffffffad8eef45335e60068ad96c4be45d546388ba3af846e8477881758a8eeb7b80de020000004948304502201bcd2d28cc5de95d2adf9720fc896c27eab87c3321c1233c5935f1397e575a26022100909e500a359479a890abb7e2a4873f620c4666a2213ca3580e55b4ff4c05d90201ffffffff25523511b436a71d5f91c95e969ed5d83e79eef24be8f7701e903a3d9c17bc290500000048473044022078fdf2e3f44b8e416d3cdb7ffbf756af4b841b69bed86766d105314b092f412602207505948928009c5c8d08a2aa4392e9d75104001b94a4b64b914e0d5f061e20f801ffffffff264fb72fe3328cba36925d17d27c356d4d4991e65fdd802dc0c5f34bef36e8be0500000049483045022013d5c7cb65e1ed3fa977f33424f9c226df9dd8c83ad2e4d50cee8e86b0562d1c022100c5ba38a073f7d63737da2eb661571e138a079b005d4a7141f12fda063e56d2d201ffffffff34f8dda5446a124357b7b38d23a6f864383eaa44f95d9fcfb86ad91515fe2e44030000004a493046022100d95e325a9fe75820bc36cca0b96ae44944234ea82d7a76a900d6f5c1b2c95df9022100d3515173bb3e8947003e1986b7e6d5dd4aca24d1b7dac6fb17e4605333cf71dd01ffffffff3d542ed13c018d4a8b60d0d35c954f8410fc9f29c3a682bd5e4937d6b7379d5a0300000048473044022018a5939324d30173a4587fcf1d476ed14db5f01681401bc70567af37ab2cde1202201bfa066b921055813cb793522df4e8710b20d950f5d8e1a5cfd112c04e9d15f201ffffffffb2acb59f93c25657ffe0ef962639f00e15d2411392b662dc7996fe8e0b04ea7e0700000049483045022100887270c6579bc8b7845191305eeb638177c084b8d12d428a3ff71d50a5965a6c02201e615170012e77bc80304a8bc888b07072dbc2f986e50b99a0ff2bb10c30adef01ffffffffb5bc99999e9f29490d3309c45df205bb358cd3bd481d1d21cb009da2328ac2c7030000004a493046022100d639856f4df3ba6d06ee8a87886154f2aff085da530cf4c4bf7e8a362a8be19a022100c26eb3eacd124696b6dfdf2db7ef789edefba2638e8b4e48cb2fca61c29c3cf601ffffffffbb37b07318fc3b1761d9292c7bf576e0cd4d2bf7ca131217d6d9085ad4bfe165070000004847304402202c57c02048f54081855e7e9eb94a78ccfc671d93506557bd8fe14085879256dc0220415183d3ef64b1d0ec61a541f45bdb482d6ad1a2d93b9a787b916f2b2a4d091301ffffffffbd0614efcc446d11482931b200c652a161957f6d93b7049d02af525d5276728a050000004847304402206d618c4fd0fbe0cf3783edccde3dace70aa2a9a1259f220b1e681f97ac796876022009b5790687cfc9d890b096bae82312a68d729c0b510b1f9efb8051cf2018513b01ffffffffbf3d0b48e1d2ec8a933473c2364b8a58486e93c95e8730a0424dfad313eb4c12060000004948304502200cd356c149b3edd8f02fc4bd2ff25bb9052585ea2468ab1527403941d1ddfcf9022100da06cbc6433e2ed2304b5f45eed4edcb872c729d7f3fe2a234a4832ceb502e4501ffffffffc2d88f79b8a01746c6c208e28c85e29eae043b27d96dc9d88e484ae0953bcc7006000000494830450220088b65c4a5da576aafc06142a01b39d2f275fda35ba6ddb0d234562e04a5d2bc022100da9bf4c1835ad5dba937bdfa87aa6e1b590d50cb243c02046f11cdef7e20b82801ffffffffc86796a30dc645f26b760d7868e07f86a681a588818f9a23b86d96ec5926de2a050000004948304502207c36c01379b59e5d5c87be2af31dc1c5fb80d843be6049bdf48f6a6b575326f7022100c6864242d93b5efa35e219d2fabf0cd42f6e668a75e72913cc4d7db2179e1dd701ffffffffca288aa8364a703d692550e50be40bbcbe11db565141865f0cae9eb170b14f980600000049483045022033d837b3c17339cefdcba4be4aebd8c895739a8175455fcf0eae3158460f1b4f022100a88394b281e76583f1629c8a24fa0d795b6006860f204bccb60dafa44225d9ce01ffffffffd1e193b704e0997634d18e0bee01710e7fe1b60c6ae742ce9689a8de05c379790600000048473044022014864d03af7f7b0cb07f3a00d99e080661cd5d3e45eea2e0782d0fceb539e40a0220091149643b1a8f28cc283ca68d20730830ad1ef93a97a7e6876caa3e3046766d01ffffffffd5918c60e8d26d00ad10fde9b06ca9c6e1fa82315d6c78293faed80316069d160500000049483045022100e670451db273824cbc12313a6d469643aced59b936d2706e21d04ae25357477502204d3c3cf5fbded641d110c1c110cc110e92b72e645076c2f59b445bbb1d499c3001ffffffffd8debc130903785fdf6a2f63cef8f63d06c09a1fe967291fc0f51caabb31adb30200000049483045022100dbc3ccba2272a5805081268582a0cdd1b65b8ca5e6974a2f2eeb8054c46777fe022032166cf07537f0d22000912b307834e98a6c4f081b745f762ffcbc852e07dcbe01ffffffffda41a10945dc7a56a989ca198662976c97837ca74046f11b001ff9d8683d79f90a00000049483045022054515be93a4a77b6b607a460a51db95580ae531d6309be723002f8bd781cb9c3022100e911d40f565c2bacbbb1cfb86868314b9e1a8b0adcca8a7a17794736f915742e01ffffffffdbd6fd0a4a4593276c52e89ac2b4720b1ee67f365c18084657ccc76b01f7b6de0400000048473044022017857db9f6aeecf979d0e63ae04ff9f88951349db3ef1d3271cc426fbca584b1022038c6702094d1eddb03a98bf0f9f6a2e0442b886ab52b1fd1bb6d28a57f44fbe701ffffffffe0eed6d60007a2e5fc8afb120d95f4fe0735bff78cb2d5d02f9052a693f76a020900000049483045022100d174522d28f8565f00e38fbada0f041b9dac062b78f8d5b20b8fee78a531f37402207f6558a510b378db2245dd5ca8cb09ceec72f312baff8bb782e2b6c2fa91ffd701ffffffffe1f209a7409314172a058d2d4c229bffa0a33c0b4b17d0f79e5963cb316182c4040000004a493046022100d0b1b95c50bf2d7a402d9ac4d8d3eaa474f3f5e3981c65d20e95f86229f23835022100eaa218f4cb052b70fbcab317f18b4f7f2ef77aaeff46a8bd3113535f4c0b4a4201ffffffffe4843acbe6f2f3a1f02e2c82801f942a40057c89bcc882628e1002f9542506ab0300000049483045022100fa8608150a07f70d397bdb7e96de80e382fbe9beb475fb1871bec9428ced434102200a3f68dd80794a97c0796da4c7850b2ae65e7fd51fb0c5d52046b77b5574a78b01ffffffffec8ca371c1e38493151477bcfe0d5a1b204a0e0405c38b63865037ba6529e6660800000049483045022043ce4aaa7e9bb6beed60a94d04763c41d25e8c534df94f162ebf36e8ccfdac84022100ac613c3421142942847c6408c1c91968452d417d514cf5cabcef9d4e09950be701fffffffff3442bdca656c1dad7bbf8e74e4fe46b61a7f023c2fcb17c7cbf849c18db385306000000494830450220394745080cafd69da74748f47f7b7f53d09206e092b47b9b0c78fcb9eaf03de0022100a29d9ca04079c4195f0e9d7a691078371b1714cef84b08c165ab0f20c18a2c5401fffffffff4f30586f870da361c83aa56703b4ed1ff04ea84b04f0e33a72f00e7dac3e9990200000049483045022100aefdfb41ca249da0b10e476df309be56da410271129eff9dfa1d87e2eccea7f8022012c6911cedac4d3cb96a98118aee60491f2460bf4afca28fc0515a612cf435c301fffffffff87359d08edde86f2c9e2fe1b13263d1bf4f939ae6ded4651b93301003af0f47050000004a493046022100a2b3a63a2e0fb61f30e7aaf0043ae64beedeed9134d816609dc9cfab71a273290221008e5af1f2194f39473bad8b04faab6c2e8071729f1e2a17d284aa34101043819d01fffffffffb10c3de31d23d474ea69c74f98328e39ce5bd0049171d93e62871efb0e330f7080000004847304402207160b49ce6375414c71a66b7b2e15c5c36a96b0258dccce2e429f9aae12e6ab50220150f4dde89642d2a0d34776ce54502901231489a1156081d7cc8ed0b43a897c401fffffffffe86699adfdb9d6dd39d22ee0cd47ff7acb2c9c8cf21db4a26063caf245983900300000049483045022100bf25be1b9e45b13d52304365b76a671efd5925167c351b6c09bf56269afc43120220156bf761ff54f7cc6f169193e0dbd2c7fbfc348d803bd7647bb7242b5371452101ffffffff019a2b3000000000001976a91472f7b857ca18f9743928489b4dc009b7982d7f7e88ac00000000
24. Насколько я правильно понимаю, ее вес будет приблизительно равен весу текстового файла, в который ее забросят и сохранят в файловой системе. Или имеется некая архивация для уменьшения ее веса? 25. Для того, кто ее отправил, она является выходом, а для получателя - входом. Или я что-то упустил? 26. Эта строка является результатом конкатенации всех транзакций, в результате которых получена отправленная сумма? Или сложение входов происходит по другому? 27. Если учесть ответ на (23), то в ней же прописаны и выходы? 28. Насколько я знаю, выходов у транзы обычно один, два или три. Один - у coinbase-транзакции и у простой в идеальном случае, когда все деньги перетекают с одного адреса на другой. При этом все происходит без комиссии (если форк позволяет) Два - это те же выходы, что и в прошлом примере, но уже с комиссией. А также, в форках без комиссии для простой транзы - это оплаченная сумма и сдача. Для coinstake - результат дробления при майнинге (есть ли там комиссия?). Три - то же, что и в предыдущем примере, но уже с комиссией. Я все правильно понял?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 18, 2014, 10:01:34 PM |
|
24. Её размер (я бы посоветовал применять термин «размер», «вес» — это немного про другое) — просто количество байт. Вышеприведённая транзакция записана в 16-ричном виде, чтобы получить её размер, нужно поделить количество цифр на 2 (один байт представляется двумя 16-ричными цифрами). В данном случае цифр 17430, размер — 8715 байт. Архивации нет. 25. Нет, входы и выходы транзакций — отдельные сущности. В одной транзакции как правило несколько входов и 2 выхода. Обычно все входы соответствуют адресам из кошелька одного отправителя (опять же — необязательно, отправителей может быть несколько), один выход отправляет коины на адрес получателя, а второй — сдачу на адрес отправителя. Можно сказать, что каждый выход генерирует «монету» требуемого номинала из «монет» входов. А вот вход транзакции, тратящей «монету», в точности соответствует выходу транзакции, сгенерировавшей эту «монету». И вот во входе тратящей транзакции указывается txid сгенерировавшей транзакции + номер выхода, соответствующего данной «монете». 26. Конкатенация не транзакций, а входов и выходов + ещё немного доп. информации, не зависящей от количества входов и выходов. 27. Да. 28. Произвольное количество. Как правило 2, но можно отправить коины сразу нескольким адресатам в одной транзакции. Комиссия отдельным выходом не является — это просто разница между суммарным номиналом «монет», соответствующих входам, и «монет», соответствующих выходам. P.S. Кстати, ваша транзакция не декодируется (а декодировать её вручную ради поиска ошибки как-то неохота ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ).
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2014, 05:09:11 PM |
|
В данном случае цифр 17430, размер — 8715 байт.
За эти 8 килобайт в нове с меня содрали комиссию аж 0,09 nvc, что на тот момент соответствовало 45 рублям ))) 29. Отсюда вопрос - неужели эти килобайты настолько дороги для сети, что приходится отваливать большой процент? Или это блажь разработчиков? В нове то комиссия уничтожается, насколько я помню... Можно сказать, что каждый выход генерирует «монету» требуемого номинала из «монет» входов. А вот вход транзакции, тратящей «монету», в точности соответствует выходу транзакции, сгенерировавшей эту «монету». И вот во входе тратящей транзакции указывается txid сгенерировавшей транзакции + номер выхода, соответствующего данной «монете». Вот эти все иносказательные "вход в точности соответствует выходу" не совсем понятны. 30. Имеется в виду, что когда плательщик создает транзакцию, то txid получившегося выхода соответствует содержимому входящей транзакции у получателя? 31. В приведенном примере (см. ссылку ниже) вся куча входов составляет большую часть веса транзакции. Теперь у получателя уже нет информации о входах отправителя? И эти денежки резко "полегчали" в килобайтах? 28. Произвольное количество. Как правило 2, но можно отправить коины сразу нескольким адресатам в одной транзакции. Комиссия отдельным выходом не является — это просто разница между суммарным номиналом «монет», соответствующих входам, и «монет», соответствующих выходам. P.S. Кстати, ваша транзакция не декодируется (а декодировать её вручную ради поиска ошибки как-то неохота ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ). Ее не приняла сеть из-за того, что комиссию изначально недоплатил. Вот ее дубль с уже оплаченной комиссией http://explorer.novaco.in/tx/96507edc72b5ac3ada0a2559858ddfc9080b6f3021b8bb1120bbec5d353aad7eИ в нем, кстати, всего-лишь один выход. В нове то комса уничтожается, поэтому можно понять, почему нет допвыхода. 32. Но как же форки, в которых комса передается майнеру, нашедшему блок?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 19, 2014, 06:23:17 PM |
|
В данном случае цифр 17430, размер — 8715 байт.
За эти 8 килобайт в нове с меня содрали комиссию аж 0,09 nvc, что на тот момент соответствовало 45 рублям ))) А, так это NVC? Я-то пытался её как биткоин-транзакцию распарсить ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) 29. 8 кб — это довольно много. Они ведь не только у вас храниться будут, но и у всех полновесных клиентов. Причём вечно. В BTC такая транзакция стоила бы 0.0008 BTC — примерно 18р. сейчас. Вот эти все иносказательные "вход в точности соответствует выходу" не совсем понятны.
Это лучше рисовать. Мне, честно говоря, здесь это делать лень, а вы попробуйте (на бумаге). Например: Tx01: (…:1 BTC)→(A1:0.8 BTC)+(A2:0.19 BTC) транзакция Tx01 переводит откуда-то 1 BTC адресам A1 и A2, 0.01 BTC — комиссия; Tx02: (…:4 BTC)→(A1:2 BTC)+(A3:1 BTC)+(A4:0.99 BTC) Tx03: (…:3 BTC)→(A2:0.81 BTC)+(A1:0.2 BTC)+(A5:1.99 BTC) — без комиссии. На данный момент на адресе A1 3 непотраченных выхода с общим балансом 3 BTC, на A2 — 2 с 1 BTC. Tx11: (Tx01/0:0.8 BTC)+(Tx02/0:2 BTC)+(Tx03/1:0.2 BTC)→(A3:1.5 BTC)+(A7:1.5 BTC) — без комиссии у Tx11 3 входа и два выхода; она переводит весь текущий баланс с адреса A1 на адреса A3 и A7 Tx12: (Tx02/1:1 BTC)+(Tx11/0:1.5 BTC)+(Tx01/1:0.19 BTC)→(A8:2.68 BTC) Tx12 переводит весь баланс с адреса A3 (1-й и 2-й вход) и только часть с адреса A2 (3-й вход) на адрес A8. Заметьте: входы транзакций Tx11 и Tx12 ссылаются на выходы предыдущих транзакций, и суммы во входах в точности соответствуют суммам в выходах. Собственно, в реальной транзакции суммы во входах не записываются, в данном примере я это сделал лишь для удобства восприятия. 30. У выхода нет txid, txid — это идентификатор (хэш) всей транзакции целиком. 31. Ну, можно и так сказать. В BTC регулярно используется такая техника, когда мелкие (в коинах) выходы объединяются в более крупные для уменьшения комиссий при дальнейших оплатах. 32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 05:13:51 PM |
|
А, так это NVC? Я-то пытался её как биткоин-транзакцию распарсить ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) 33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете? 30. У выхода нет txid, txid — это идентификатор (хэш) всей транзакции целиком.
Ну, я немного запутался... Имелось в виду то, что на кошельке получателя будет информация только о его входах, а не о моих, за вес которых платить приходится... 32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
В смысле, если майнер умудрится найти блок и что-то неправильное в него прописать?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 06:23:49 PM |
|
33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете?
Стандартная команда консоли "decoderawtransaction". Не только у BTC, должна быть у всех форков. Ну, я немного запутался... Имелось в виду то, что на кошельке получателя будет информация только о его входах, а не о моих, за вес которых платить приходится...
Предыдущий пример внимательно разбирали? Обратите внимание на состояние между транзакциями Tx03 и Tx11: На данный момент на адресе A1 3 непотраченных выхода с общим балансом 3BTC, на A2 — 2 с 1BTC.
Да, если мы переведём все битки только с адреса A1 (что транзакция Tx11 и делает), то в транзакции траты будет 3 входа, а если бы мы в данный момент решили вывести всё только с адреса A2 — в транзакции было бы 2 входа. При одинаковом количестве выходов в первом случае транзакция будет иметь больший размер. Ещё раз, на всякий случай: комиссия платится не за входы/выходы, а за суммарный размер транзакции в килобайтах. 32. Просто считается сумма комиссий для всех транзакций в блоке. Если майнер перевёл себе сумму, превышающую награду+комиссии, то блок считается некорректным и отбрасывается (насчёт перевода меньшей суммы не знаю, код надо смотреть).
В смысле, если майнер умудрится найти блок и что-то неправильное в него прописать? Легко. Хотя бы одна некорректная транзакция — и весь блок отправляется под нож, и неважно, насколько трудно было его найти. Я же изначально имел в виду следующее: я говорил, что отдельного выхода для комиссии нет; вы спрашивали, а как же форки, в которых комиссия уходит майнеру. Наверное, вы подумали, что в этот гипотетический выход майнер прописывает свой адрес, получая таким образом комиссию. Так вот, происходит это не так. Майнер формирует свой блок-кандидат из ещё не подтверждённых транзакций, гуляющих по сети. Для всех включённых транзакций подсчитывается сумма комиссий (разность между количеством коинов во входах и выходах; см. пример в предыдущем посте). Затем майнер дописывает в начало блока-кандидата транзакцию, переводящую награду+сумму комиссий на его личный адрес. Если блок-кандидат «выстрелит», то награду с комиссиями получит майнер. Т.е., «выходы» комиссий виртуальны.
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 06:48:04 PM |
|
33. Кстати, чем вообще все это можно смотреть/парсить/анализировать? Какие программы порекомендуете?
Стандартная команда консоли "decoderawtransaction". Не только у BTC, должна быть у всех форков. Ну, это чтоб в кошельке как-то получить инфу по конкретной транзакции. А я имел в виду, есть ли более менее функциональные парсеры блокчейна, в которых будет, как минимум, просто отображаться транзакции и блоки (как в биткоинэксплорере), а лучше, чтоб можно было вообще видеть статистику - распределение монет по кошелькам, количество транзакций за разные периоды времени и т.п. Ещё раз, на всякий случай: комиссия платится не за входы/выходы, а за суммарный размер транзакции в килобайтах.
Я имел в виду преемственность передаваемой информации о монетах. Насколько я правильно понимаю, она полностью отсутствует. У предыдущего владельца данные 10 монет представляли одну строку (конкатенацию входов и прочего добра). У нового владельца - это уже совершенно другая строка, в которой нет 90% информации из старой строки. Единственное, что в новой строке говорит об истории этих 10 монет - информация о том, от кого они пришли. Я правильно понял?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 07:24:57 PM |
|
А я имел в виду, есть ли более менее функциональные парсеры блокчейна, в которых будет, как минимум, просто отображаться транзакции и блоки (как в биткоинэксплорере), а лучше, чтоб можно было вообще видеть статистику - распределение монет по кошелькам, количество транзакций за разные периоды времени и т.п.
Не знаю, честно говоря ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) В состав официальных клиентов такая функциональность обычно не входит. Я имел в виду преемственность передаваемой информации о монетах. Насколько я правильно понимаю, она полностью отсутствует. … Единственное, что в новой строке говорит об истории этих 10 монет - информация о том, от кого они пришли.
Да, именно так. Конечно, в блокчейне эту информацию найти можно, но в самой транзакции она уже отсутствует.
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 07:53:23 PM |
|
33.Не до конца при этом понятно, где хранится информация о номинале текущего входа. Она прямо в этой самой строке и зашифрована? Вот в примере была приведена сырая строка. Если это конкатенация строк шестнадцатиричных чисел, то что из себя представляет одно конкретное число, попавшее в транзакцию? Каково его происхождение? Часть, как я понимаю, должна быть инфой об отправителе, часть - номиналом... и из всего этого получается такое шестнадцатиричное безобразие. Ясно мне одно - никаких хешей из исходных данных вычислять нельзя. Инфа должна быть в свободном и открытом виде... Вообще встает вопрос о содержимом конкретного входа. Какая информация в него обычно запихивается, каким образом и есть ли возможность в конкретный вход запихать еще какие-либо параметры по желанию разработчика?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 20, 2014, 11:42:56 PM |
|
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, но не буду на нём подробно останавливаться). Если вдруг создадут серьёзное улучшение в системе, требующее смены формата, то транзакции новых версий его сменят, но если имеются в виду какие-нибудь поля для принудительной централизации или деанонимизации, то нет — это противоречит духу биткоина.
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
pant-79
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 21, 2014, 11:36:22 AM |
|
![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fen.bitcoin.it%2Fw%2Fimages%2Fen%2Fe%2Fe1%2FTxBinaryMap.png&t=665&c=kUWqCH2amNJgIg) 34. В этой картинке, честно говоря, более половины данных непонятны, все эти ScriptLen, Sequence, SigScript, Arbitrary Data. Что к чему относится? 35. В середину пихают некий раздел Coinbase/Generation. Под этим подразумевается материнская транзакция, в которой монета была рождена изначально? 36. Непонятны функции этих четверок, восьмерок и римских цифр... 37. Доп. информация в поле scriptSig, насколько я правильно понял, сильно ограничена, но я слышал, что в транзакцию аж целый комментарий запихнуть можно. Где правда?
|
|
|
|
yurm
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
February 21, 2014, 02:36:22 PM |
|
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 совсем недавно вывод битков приостановил.
|
BTC donation:1DPUVJWeN2CNgJvRx5MtbsYWnFsKHxXWrc
|
|
|
|