|
10 декабря 2014, 1:52:29 AM | # 1 |
Сообщения: 352
цитировать ответ |
Re: Locktime
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Как я могу создать транзакцию с помощью команды createrawtransaction но задающий Locktime?
|
10 декабря 2014, 2:04:34 AM | # 2 |
Сообщения: 2870
цитировать ответ |
Re: Locktime
Получил 1806 Биткоинов
Реальная история. Вы не можете сделать это прямо в Bitcoin Ядра, хотя это не так уж сложно изменить шестигранные себя. signrawtransaction подпишет измененные сделки. Обратитесь к спецификация протокола. Имейте в виду, что вам также нужно изменить последовательность каждого входа для вашего времени блокировки на самом деле работает.
|
10 декабря 2014, 2:25:27 AM | # 3 |
Сообщения: 2002
цитировать ответ |
Re: Locktime
Вот простой пример неподписанные транзакции создается с createrawtransaction. Она имеет только один вход и один выход:
01000000018a38995bf447db93db0547191c369b7938db2b91fdbd88adcc20858f7574578f00000 00000FFFFFFFF019a50c903000000001976a914fc1e692875788d0ac5d685440feb1358515212f388ac00000000 Смелый и подчеркнутый "FFFFFFFF" это 4 байта порядковый номер для ввода. При создании транзакции с несколькими входами, то каждый вход имеет свой собственный порядковый номер. Смелый и подчеркнутый "00000000" это 4 байта Locktime для транзакции. Locktime игнорируется, если любой из последовательностей чисел FFFFFFFF. Поэтому после создания вашей родовой сделки (без Locktime) с createrawtransaction, вы хотите изменить номер последовательности байт соответственно. После этого вы можете изменить Locktime байты в конце сделки. Не забывайте использовать соответствующие порядка байты для байт. После того, как вы изменили сделку по порядковым номерам и Locktime, что вы хотите, вы можете использовать signrawtransaction подписать его. Для лучшего понимания того, что вы смотрите, вот та же сделка разбивается на составные части, сохраняя при этом все байты в том же порядке, как указано выше: Код: Номер версии: 01000000 (версия 1 с надлежащим порядком байт) Кол-во входов: 01 Входной TXID: 8a38995bf447db93db0547191c369b7938db2b91fdbd88adcc20858f7574578f (это TransactionID 8f5774758f8520ccad88bdfd912bdb38799b361c194705db93db47f45b99388a, обратите внимание порядка байтов) Индекс: 00000000 Длина сценария: 00 Порядковый номер: FFFFFFFF Кол-во выходов: 01 Выходное значение: 9a50c90300000000 (63525018 в шестнадцатеричном с надлежащем порядком байт) Длина сценария: 19 (25 байт) OP_DUP: 76 OP_HASH160: a9 Bytes нажать: 14 (20 байт) Данные нажать: fc1e692875788d0ac5d685440feb1358515212f3 (это ripemd160 хэш с надлежащем порядком байт, что адрес Bitcoin вычисляются, он представляет собой адрес 1Pz5iKVeAAFUh66PBUy5Sozjgeqd2ptuWV) OP_EQUALVERIFY: 88 OP_CHECKSIG: переменный ток Locktime: 00000000 |
10 декабря 2014, 2:33:55 AM | # 4 |
Сообщения: 352
цитировать ответ |
Re: Locktime
Спасибо, парни
|
10 января 2015, 11:11:04 AM | # 5 |
Сообщения: 210
цитировать ответ |
Re: Locktime
Как текущая сделка программного обеспечения Bitcoin с порядковыми номерами, которые не 0xffffffff? принято ли каждое значение для порядкового номера? Если шахтер получает дважды проводит с различными порядковыми номерами (все с нулем подтверждений), он будет выбрать один с наибольшим порядковым номером для включения в блоке?
Кажется, что "микротранзакции канал" реализация в bitcoinj всегда использует порядковый номер 0 для чтобы быть обновлены сделки. Это рекомендуемый способ установки номера последовательности? |
10 января 2015, 10:54:54 PM | # 6 |
Сообщений: 17
цитировать ответ |
Re: Locktime
Как текущая сделка программного обеспечения Bitcoin с порядковыми номерами, которые не 0xffffffff? принято ли каждое значение для порядкового номера? Если шахтер получает дважды проводит с различными порядковыми номерами (все с нулем подтверждений), он будет выбрать один с наибольшим порядковым номером для включения в блоке? Кажется, что "микротранзакции канал" реализация в bitcoinj всегда использует порядковый номер 0 для чтобы быть обновлены сделки. Это рекомендуемый способ установки номера последовательности? Сделки не заменяются на клиенте на основе порядкового номера Я отправил идею для оплаты каналов в список Bitcoin-развития вчера, спровоцировав обсуждение этой самой теме. |
10 января 2015, 11:00:09 PM | # 7 |
Сообщения: 2366
цитировать ответ |
Re: Locktime
больше. Был некоторый код загасил, чтобы сделать это, но он не был реализован, насколько я помню. У вас есть основания полагать, что они были на самом деле? (Если вы этого не сделаете, я не хочу тратить время спелеологии через старый код) |
10 января 2015, 11:14:23 PM | # 8 |
Сообщений: 17
цитировать ответ |
Re: Locktime
больше. Был некоторый код загасил, чтобы сделать это, но он не был реализован, насколько я помню. У вас есть основания полагать, что они были на самом деле? (Если вы этого не сделаете, я не хочу тратить время спелеологии через старый код)Это была допущена неточность, с моей стороны, извините. совершить удаление коды указывает на то, что он никогда не работал. Редактирование: Вики была привязка к неправильному коммит гася замены транзакций. Это реальное обязательство. |
10 января 2015, 11:56:42 PM | # 9 |
Сообщения: 1218
цитировать ответ |
Re: Locktime
Есть ли польза для последовательности на всех (кроме обратной совместимости)? Кажется, все, что Satoshi предназначена последовательность для использования не может быть приведено в исполнение.
|
11 января 2015, 1:27:46 AM | # 10 |
Сообщения: 2366
цитировать ответ |
Re: Locktime
Есть ли польза для последовательности на всех (кроме обратной совместимости)? Кажется, все, что Satoshi предназначена последовательность для использования не может быть приведено в исполнение. Это потенциально полезным в собственном протоколе, по крайней мере. Не _everything_, который читает транзакцию является blockchain. Он мог бы потенциальный выигрыш некоторого производительное использование (за бинарным макс или не для запирания) в softfork. |
11 января 2015, 11:14:17 AM | # 11 |
Сообщения: 210
цитировать ответ |
Re: Locktime
Есть ли польза для последовательности на всех (кроме обратной совместимости)? Кажется, все, что Satoshi предназначена последовательность для использования не может быть приведено в исполнение. Это полезно для создания микротранзакции каналов двунаправленным. Это также возможно без замены сделки, но в какой-то цене:Что вы имеете в виду "никогда не может быть исполнено"? Если замена вещает задолго до истечения nLockTime, то маловероятно, что любой шахтер не получает его. После того, как nLockTime истекает, каждый честный шахтер будет включать в себя последние обновления в свой блок. Большинство не-честные шахтеры будут делать это тоже, потому что их интересуют только в вашей сделке, чтобы захватить его плату за транзакцию. Только без честных шахтеров, которые имеют более высокую долю в вашей транзакции могут игнорировать обновление транзакции. Так, насколько я могу видеть, только "правоприменение" вам нужно против определенного (как правило, очень небольшой) процент шахтеров, которые могли бы иметь особый интерес к обману. Эта "правоприменение" может быть в виде других шахтеров, которые отказываются строить на блок с устаревшей версией транзакции. Я не уверен, что это хорошая идея, хотя вы должны быть абсолютно уверены, что это никогда не будет нарушать консенсус в долгосрочной перспективе. ИМХО, предотвращая долгоживущей блок цепи вилка гораздо важнее любой функции при условии, пытаясь сделать замену транзакций 100% безопасность. |
11 января 2015, 11:26:55 AM | # 12 |
Сообщения: 210
цитировать ответ |
Re: Locktime
Сделки не заменяются на клиенте на основе порядкового номера Помимо дискуссии о том, что поведение Bitcoin в должно быть, Я также заинтересован в каком точном поведении Bitcoin является, прямо сейчас.Я отправил идею для оплаты каналов в список Bitcoin-развития вчера, спровоцировав обсуждение этой самой теме. Как я понимаю, текущее поведение немодифицированного Bitcoin Сердечник (предполагается, что все остальное правильно о сделке):
|
11 января 2015, 5:32:48 PM | # 13 |
Сообщения: 2366
цитировать ответ |
Re: Locktime
Что вы имеете в виду "никогда не может быть исполнено"? Если замена вещает задолго до истечения nLockTime, то маловероятно, То будет небезопасно. Это вызовет случайные, неожиданные, государственные дивергенции; наряду с злоумышленником отпираемого из них. Такая вещь нужна система консенсуса, чтобы принять решение о том, что требования. Это то, что мы имеем добычу для. Рассмотрим злоумышленник, который заливает сети одновременно со многими различными проводит все время. Горняки понятия не имеют, что другие люди получили разные тратит (и даже может быть предотвращено, потому что информация просто из-за их световой конус). Даже если у них есть понимание, что они не имеют ни малейшего представления о том, что большая часть сети принимающую. Мы добыча точно решить эту неоднозначность в состоянии систем других людей. |
11 января 2015, 6:25:10 PM | # 14 |
Сообщения: 210
цитировать ответ |
Re: Locktime
То будет небезопасно. Вы имеете в виду небезопасным для шахтера, который считает принимающей транзакцию в свой блок, или небезопасный для получателя одной из версий сделки (которые могли бы получать меньше или вообще ничего в обновлении)? Второй один действительно зависит от того, тем больше "схема" в котором используется замена транзакции; Я не дал первый еще много думал.Рассмотрим злоумышленник, который заливает сети одновременно со многими различными проводит все время. Это так же, как двойной расходы, не так ли? Таким образом, это не только для замены операции на всех: даже без замены транзакции, злоумышленники могут "переполнять сеть"(*) С двойной тратит, пока один из них не получает принято в блок. Единственное различие создается путем замены сделки является то, что злоумышленник, как законный пользователь может указать, какие из "дважды проводит" должны быть выбраны через другие. Это также может быть указана без замены сделки, в более неявной, экономичным способом, за счет увеличения платы за транзакцию. Если есть какая-то разница вообще, явный путь с порядковыми номерами должен быть более надежным.Опять же, последствия для получателя одной из версий транзакции полностью зависят от того, больше "схема" в котором используется замена транзакций. "схема" Я имею в виду это микротранзакция канал; в этом случае одна из сторон канала не может атаковать другую сторону канала от наводнения сети с обновлениями транзакций: подписи обеих сторон необходимы для создания правильного обновления транзакции. Но, пожалуйста, ПОЖАЛУЙСТА ответить на мой вопрос сообщение # 12. Это гораздо более актуальным для меня, чем дискуссии о замене сделки. (*) Я не совсем уверен, что вы имеете в виду с этой фразой. Вы хотите сказать, что это может быть атака DoS по сети? |
11 января 2015, 10:33:52 PM | # 15 |
Сообщений: 17
цитировать ответ |
Re: Locktime
Но, пожалуйста, ПОЖАЛУЙСТА ответить на мой вопрос сообщение # 12. Это гораздо более актуальным для меня, чем дискуссии о замене сделки. Насколько я могу судить, вы правы. Терминология для сделок вы называете "ОК" а также "Не в порядке" является "окончательный" а также "не-окончательными." Один морщин является то, что существует какое-то расходящееся поведение в testnet, где неконечные сделки (nLockTime в будущем & Последовательность чисел < UINT_MAX) были приняты, но не заменены. Эта был зафиксирован всего несколько дней назад. В любом случае: есть нет кода в Bitcoin Ядра для замены транзакций на основе номера последовательности и mainnet узлов не принимают неконечные операции в mempool. Ах да, и неконечная сделка не может быть включена в блоке, пока он не станет окончательным. Это делает блок недействительный, который будет раскошелиться всем, кто принимает его от blockchain. |
12 января 2015, 6:41:38 PM | # 16 |
Сообщения: 210
цитировать ответ |
Re: Locktime
Насколько я могу судить, вы правы. Благодарю. Таким образом, я предполагаю, что это означает, что в данный момент, порядковые номера не имеют никакого значения, за исключением того, что особое значение 0xffffffff делает операции окончательными. В остальном, нет никакой разницы, что последовательность чисел вы используете. |
13 января 2015, 8:09:30 AM | # 17 |
Сообщения: 6
цитировать ответ |
Re: Locktime
CJP логика в порядке. Либо истек Locktime или ALL порядковых номера FFFFFFFF знака транзакции как окончательные, все остальное означает, что он не является окончательным.
То же самое выражено в простых JS: https://curiosity-driven.org/low-level-bitcoin#locktime |