Jump to content
e46btc

[завершен] Продолжение и завершение конкурсов от sankopolo - заберите 0.0165 BTC

Recommended Posts

Конкурс завершен, победитель @Old Miner , правильный ответ здесь и сообщением ниже.

 

--------

 

Было бы нечестным просто забрать вознаграждение, никакой радости от этого выигрыша я не испытываю, ну и это некоторым образом непрофессионально, участвовать в одно лицо без соперников, хотя я тут не причем. 

 

Все полученные монеты + еще немного сверху находятся здесь 16iM6uyFe63v2YHj8APrRu4Qrm7z5Giygu

Сейчас не лотерея.   Нужно просто взять и забрать 0.0165 BTC.

 

Есть ограничение по времени, чуть более 100 блоков на подумать, на блоке 569000 вот эта транзакция отправится в сеть, она уже заряжена на автоматическую отправку.

Цитата

0100000001dc736275ffc4a3fa4c1d52436ef1634c98a2e16c4cb4a9c84717f6baf8657791000000006a47304402204d88bdda8a3690c5bcb6d0961a2351e840e7bebb5f9b4df0624387629b60e9c8022019496044af562d58f67710191bd4fd78f07db3eb95d50d019a4b13fd2fe316b902210364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18fdffffff0168291900000000001600143d76efc99be4b7d8640267e577d066806f5f5ee6a8ae0800

 

Но есть вот такая транзакция которая, может помочь.

Цитата

0100000001dc736275ffc4a3fa4c1d52436ef1634c98a2e16c4cb4a9c84717f6baf8657791000000006b483045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a5302210364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18fdffffff0168291900000000001600143d76efc99be4b7d8640267e577d066806f5f5ee600000000

 

Различие в этих двух транзакциях только в Lock time, в первом случае он есть и отправить транзакцию в сеть ранее блока 569000 невозможно.  Во второй транзакции Lock time отсутствует.

 

Не советую наугад отправлять эти транзакции в сеть, потому что в таком случае конкурс сразу закончится без победителя.

Перезапускать конкурс бесконечное количество раз я не хочу.

 

Победитель не обязан ничего рассказывать, но если захочет может рассказать, может быть кому то будет интересно.

Никаких дополнительных условий нет. Есть подсказка - задачу можно решить за 2 минуты используя https://txid.io/

 

Конкурс не подходит для новичков, но и не является сверхсложным.

 

Ах да, чуть не забыл. Есть еще вот такие строчки, вдруг понадобятся.

L4SEmtWxNC4MmLgDzgGPRju6J4PiG4nNdd1G35FpsdcDMku1spqB
KzCXCudPjPEXM43bX4T7BDyBekraa1T8BpRcug2GGhgcaH6499QK
KzmwtUYba7bEPFvrc4SX5NEZQ7S1bjwKwET7RHTFZNBB7df7US4f

 

Edited by e46btc

Share this post


Link to post
Share on other sites

ebfdc0ca95e8e7b32cc7913714ac6c45b35f77a6e7aa3fada65648be270b30aa

Поздравляю! 

 

Если победитель не пожелает написать, то напишу завтра решение.

 

И после того как транзакция подтвердится, так как у других людей еще есть шансы побороться за приз 🙂

Но возможно это уже новый конкурс от победителя данного конкурса 🙂

 

 

Share this post


Link to post
Share on other sites
4 минуты назад, e46btc сказал:

 

Рано ещё поздравлять. Транзакция не подтверждена и она имеет флаг RBF. Так что, её ещё можно заменить.

Share this post


Link to post
Share on other sites

@Old Miner все так. Тем не менее, конкурс был не про RBF, человек сообразил и сделал что просили. 

Возможно RBF это элемент интриги и кому-то показалось слишком просто.

Share this post


Link to post
Share on other sites
1 минуту назад, e46btc сказал:

человек сообразил

 

Человек до сих пор не может сообразить, к чему был этот список:

L4SEmtWxNC4MmLgDzgGPRju6J4PiG4nNdd1G35FpsdcDMku1spqB
KzCXCudPjPEXM43bX4T7BDyBekraa1T8BpRcug2GGhgcaH6499QK
KzmwtUYba7bEPFvrc4SX5NEZQ7S1bjwKwET7RHTFZNBB7df7US4f

 

Share this post


Link to post
Share on other sites
4 минуты назад, e46btc сказал:

элемент интриги и кому-то показалось слишком просто

 

Share this post


Link to post
Share on other sites

@e46btc ,  скажи, ты каким образом пихаешь в мемпулы дабл транзакции ? На своих собственных нодах ? Но тогда, как они распространяются на другие ? Или как-то на левые, но почему они их включают? Сорри если глупый вопрос.

Share this post


Link to post
Share on other sites

Итак, транзакции подтвердились и можно написать решение.

 

Из исходных данных требуется только транзакция, та у которой Locktime = 0.

0100000001dc736275ffc4a3fa4c1d52436ef1634c98a2e16c4cb4a9c84717f6baf8657791000000006b483045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a5302210364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18fdffffff0168291900000000001600143d76efc99be4b7d8640267e577d066806f5f5ee600000000

Выполнив над ней команду decoderawtransaction из Bitcoin Core, я получил её представление на человеческом языке JSON:

{
  "txid": "e146e4b6993ca64c2f21b0fbf6f618b4e90f984ba1bb6f22b97d96aaa7c70710",
  "hash": "e146e4b6993ca64c2f21b0fbf6f618b4e90f984ba1bb6f22b97d96aaa7c70710",
  "version": 1,
  "size": 189,
  "vsize": 189,
  "weight": 756,
  "locktime": 0,
  "vin": [
    {
      "txid": "917765f8baf61747c8a9b44c6ce1a2984c63f16e43521d4cfaa3c4ff756273dc",
      "vout": 0,
      "scriptSig": {
        "asm": "3045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a53[NONE] 0364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18",
        "hex": "483045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a5302210364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18"
      },
      "sequence": 4294967293
    }
  ],
  "vout": [
    {
      "value": 0.01649000,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 3d76efc99be4b7d8640267e577d066806f5f5ee6",
        "hex": "00143d76efc99be4b7d8640267e577d066806f5f5ee6",
        "reqSigs": 1,
        "type": "witness_v0_keyhash",
        "addresses": [
          "bc1q84mwljvmujmaseqzvljh05rxsph47hhx07xyld"
        ]
      }
    }
  ]
}

Обратим свой взор на scriptSig единственного входа:

3045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a53[NONE] 0364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18

 

Это стандартный scriptSig p2pkh-входа, состоящий из двух параметров: первый - подпись транзакции, второй - публичный ключ. Подпись транзакции заканчивается флагом Sighash. Bitcoin Core при выводе decoderawtransaction очень кстати выделяет этот флаг и отображает его на человеческом языке - [NONE]. Если бы он этого не делал, то я бы не обратил на этот флаг (0x02) в длинной hex-строке никакого внимания. Так бы и протрахался несколько часов, пытаясь понять, куда приткнуть список из трёх приватных ключей.

 

Что это за флаг? Флаг Sighash показывает, к чему применена подпись: ко всей транзакции - [ALL] или только ко входам - [NONE]. То есть, в данной транзакции подписан только вход, и проверяться подпись будет только для входа, а выход в подпись не включён, и проверяться не будет.

 

Следовательно, каждый дурак может в этой транзакции поменять выход на свой адрес, и ему за это ничего не будет. В стандартных p2pkh-транзакциях флаг Sighash всегда [ALL], и выходы включаются в подпись, поэтому изменить их, не зная приватного ключа, невозможно.

 

Итак, необходимо поменять выход в этой транзакции на свой. Выход тут вида p2wpkh: 00143d76efc99be4b7d8640267e577d066806f5f5ee6. Из чего он состоит? Первый байт - 00 - версия SegWit, которая всегда должна быть 0. Второй байт - 14 - длина последующей последовательности байт. 14(HEX) = 20 (DEC). Что это за двадцать байт? Это адрес, но не в формате Bech32, а в фомате HEX.

 

То есть, нужно взять свой адрес Bech32, превратить его в HEX-строку, я проделал это здесь:

bc1qrcv4l3smqkce02w59alp7p8effqn70js5v442y -> 1e195fc61b05b197a9d42f7e1f04f94a413f3e50

и вставить получившиеся 20 байт в транзакцию после 0014 вместо тех, что там есть.

 

И всё. Осталось отправить транзакцию в сеть, воспользовавшись https://txid.io/ .

 

Поскольку отправляемая сумма находится тоже в выходе, и не защищена подписью, её можно было бы отредактировать в сторону уменьшения, увеличив, тем самым, комиссию. Флаг RBF и так поднят, поэтому, таким способом, можно было бы перебить мою транзакцию своей, но не судьба.

 

 

 

Share this post


Link to post
Share on other sites

Все четко, даже чОтче чем нужно 🙂  Скромное вознаграждение более чем заслужено.

Альтернативный вариант выглядит таким образом, после того как становится понятно, что нужно заменить выход.

 

1) https://txid.io
2) Developer Console (например, Google Chrome, F12)
3) заменить выход, удалить старый и добавить новый

var rawtx = '0100000001dc736275ffc4a3fa4c1d52436ef1634c98a2e16c4cb4a9c84717f6baf8657791000000006b483045022100daced7306c5a8f44c0dce5b6288f96fecba378e6dad4831eef4ec92b1cc1225f02205bc734d027680eee42d10005837f64ec1edc9c7354b696060aff6f92d0468a5302210364a90a818e35c4d02911a814c5bad971d8c33c8c8aada696f55d5df464782a18fdffffff0168291900000000001600143d76efc99be4b7d8640267e577d066806f5f5ee600000000';

var tx = coinjs.transaction();

var t = tx.deserialize(rawtx);

t.outs.remove(0);

t.addoutput('свой-адрес-здесь-в-любом-формате', 0.01649);

newtx = t.serialize();

4) отправить новую транзацию в сеть (результат вывода крайней команды)

 

Приватные ключи, указанные в первом сообщении, не нужны для решения задачи, они просто вводят в заблуждение.

 

 

Также подсказкой была сама транзакция отправки 0.0165 BTC  917765f8baf61747c8a9b44c6ce1a2984c63f16e43521d4cfaa3c4ff756273dc  , она уже была с SIGHASH NONE , но это бы дополнительно усложнило задачу, не гарантировала бы получение приза, так как была без RBF и могла бы подтвердится намного раньше при незагруженной сети, тогда не было бы 100 блоков на подумать.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Topics

    • Bloomberg: индикатор указал на продолжение падения биткоина

      Май стал очень удачным для первой криптовалюты — курс биткоина вырос на 60%, однако аналитики Bloomberg считают, что коррекция, наблюдаемая в последние дни, может продолжиться.   По мнению аналитиков, на продолжение падения указывает индикатор GTI Vera Convergence-Divergence, который отслеживает позитивные и негативные тренды. Впервые с апреля индикатор выдал сигнал на продажу первой криптовалюты.     В начале июня первая криптовалюта снизилась на 1

      in Новости криптовалют

    • Продолжение, где не надо майнить

      В свое время, не так давно, я рассказывал где не надо майнить, вот вам еще один пример, как люди зарабатывают на ВАШИХ картах, человек имеет 104 кх умудрился за день делать 9 блоков CLO, ПРОСТО СУПЕР, всем бы так, теперь попробуем понять откуда ноги растут, смотрит самых жирных майнеров, 0x4c5f11e9ff98e6f912821e51b1d3c5c4e0298372 и 0x6b41b7357a4b3212faa4d850c2944beff36e0d57   как не странно, эти два друга за 3 суток не одного блока не нашли, ну просто чудеса, скажу вам еще больше эти 2 адреса, э

      in Общий

    • [Завершен] Премия 0.01 BTC за нахождение в Инете темы, которая то ли существует, то ли нет :)

      Всем привет.  Некоторые помнят мою тему https://forum.bits.media/index.php?/topic/88642-что-нужно-делать-чтобы-не-потерять-переезжающие-токены/ Суть затронутой проблемы в том, что иногда при хранении монет (в основном токенов) на локальных (и приближенных к ним) кошельках можно потерять их, если бездействовать при серьезных изменениях в системе их работы. К примеру, токен «переедет» из эфирного в свой уникальный блокчейн (как EOS прошлым летом), или эфирный контракт монеты сменитс

      in Конкурсы

    • [завершен] Конкурс: дважды последний: до 25 марта. Призовой фонд 0.010btc

      Конкурс завершён. Итоги первой части, итоги второй части.   Всем привет. В прошлый раз отдать 0.010btc не получилось (победитель не забрал приз), но я не теряю надежды. Цель - отправить транзакцию, которая будет включена в какой-либо блок последней. Будет два победителя: тот, кто сделает это первым и тот, кто сделает это последним (но до 18:00 25 марта МСК).   Правила: 1. Участвуют все транзакции, у которых есть выход на адрес 1GZaDcDTBbSHq3URfUn9gitqD6TFoLcd27. Сумма

      in Конкурсы

    • [завершен] Конкурс: отдаю 0.010 BTC 14 марта!

      Итоги конкурса Победитель и шутник, отпишите в личку хотя бы. Кто хочет понять технические детали конкурса - начните с этого.   Отдаю 0.010 BTC любому желающему!  Но не сейчас  🙂   Никаких репостов/опросов/групп/смс и прочего! Правила максимально просты: завтра, 14 марта примерно в 18:00 MSK (15:00 UTC) здесь будет опубликован приватный ключ от адреса с 0.005 BTC. Ещё 0.005 BTC будет перечислено победителю после того, как он расскажет всем решение.  

      in Конкурсы

×
×
  • Create New...