Coin-1
Legendary
Offline
Activity: 2618
Merit: 2304
|
|
March 20, 2019, 07:34:31 AM |
|
По-всей видимости, победитель этого конкурса либо админ майнинг-пула, либо имеет связи с таковым, иначе, по-моему, это просто гэмблинг, чтобы выполнились такие условия.
Судя по blockchain.com, в поле блока 567888 "Relayed by" написано "Unknown", то есть этот блок прислан не с широко известных IP-адресов топовых майнинг-пулов Bitcoin (BTC.COM, ViaBTC, и т.п.). Комиссия довольно низкая, 0.794 сатоши за байт, такие транзакции обычно не включают в блоки, хотя здесь нужно учесть, что победитель добавил дополнительно выходной скрипт RETURN PUSHDATA1.
В любом случае, очень хорошо, что в русскоязычных секциях популярных криптовалютных форумов проводятся такие конкурсы и раффлы.
Могу посоветовать в следующем конкурсе ввести условие необходимости нахождения какого-либо параметра брутфорсом, в разумных пределах, разумеется.
|
|
|
|
bakasabo
Legendary
Offline
Activity: 2492
Merit: 1214
|
|
March 20, 2019, 12:14:01 PM |
|
С каждым постом в топике я все больше и больше убеждаюсь, что новичок (не ранг newbie) почти не в состоянии решить данную задачку.
|
| █▄ | R |
▀▀▀▀▀▀▀██████▄▄ ████████████████ ▀▀▀▀█████▀▀▀█████ ████████▌███▐████ ▄▄▄▄█████▄▄▄█████ ████████████████ ▄▄▄▄▄▄▄██████▀▀ | LLBIT | ▀█ | THE #1 SOLANA CASINO | ████████████▄ ▀▀██████▀▀███ ██▄▄▀▀▄▄█████ █████████████ █████████████ ███▀█████████ ▀▄▄██████████ █████████████ █████████████ █████████████ █████████████ █████████████ ████████████▀ | ████████████▄ ▀▀▀▀▀▀▀██████ █████████████ ▄████████████ ██▄██████████ ████▄████████ █████████████ █░▀▀█████████ ▀▀███████████ █████▄███████ ████▀▄▀██████ ▄▄▄▄▄▄▄██████ ████████████▀ | ........5,000+........ GAMES ......INSTANT...... WITHDRAWALS | ..........HUGE.......... REWARDS ............VIP............ PROGRAM | . PLAY NOW |
|
|
|
sankopolo (OP)
|
|
March 20, 2019, 12:34:51 PM |
|
С каждым постом в топике я все больше и больше убеждаюсь, что новичок (не ранг newbie) почти не в состоянии решить данную задачку.
На самом деле это не так. Подробнее ответить не смогу, чтобы не было подсказок. Просто многие испугались первых постов - а зря. Судя по blockchain.com, в поле блока 567888 "Relayed by" написано "Unknown", то есть этот блок прислан не с широко известных IP-адресов топовых майнинг-пулов Bitcoin (BTC.COM, ViaBTC, и т.п.). Комиссия довольно низкая, 0.794 сатоши за байт, такие транзакции обычно не включают в блоки, хотя здесь нужно учесть, что победитель добавил дополнительно выходной скрипт RETURN PUSHDATA1.
blockchain.com вводит в данном случае в заблуждение - и по данным о пуле, и по данным о комиссии. По данным bitaps.com блок 567888 был смайнен пулом poolin.com. А если посмотреть по блокчейну, что именно делал победитель, станет очевидно, что с этим пулом он никак не связан. Что касается дополнительного выходного скрипта, он был в другой транзакции с того же адреса.
|
|
|
|
kzv
Legendary
Offline
Activity: 1722
Merit: 1285
OpenTrade - Open Source Cryptocurrency Exchange
|
|
March 20, 2019, 12:55:51 PM |
|
|
|
|
|
apxu
Member
Offline
Activity: 229
Merit: 13
|
|
March 20, 2019, 02:00:58 PM |
|
Судя по blockchain.com, в поле блока 567888 "Relayed by" написано "Unknown", то есть этот блок прислан не с широко известных IP-адресов топовых майнинг-пулов Bitcoin (BTC.COM, ViaBTC, и т.п.). Комиссия довольно низкая, 0.794 сатоши за байт, такие транзакции обычно не включают в блоки, хотя здесь нужно учесть, что победитель добавил дополнительно выходной скрипт RETURN PUSHDATA1. 1) bc.i не обновляет базу данных по которой сам определяет откуда пришел блок. Смотрите coinbase-транзакцию. Там написано, что блок создал poolin.com . Кто это такие - гуглите. 2) для сегвит-транзакций подсчет комиссии за байт ведется немного иначе, чем для обычных. За сегвит-часть платить приходится немного меньше. В сумме получается меньше 1 сатоши за байт но не меньше чем 0.25 сатоши за wu
|
|
|
|
fxpc
Sr. Member
Offline
Activity: 1316
Merit: 420
KTO EC/\U HUKTO?
|
|
March 20, 2019, 04:48:19 PM Last edit: March 26, 2019, 06:37:33 PM by fxpc |
|
blockchain.com вводит в данном случае в заблуждение - и по данным о пуле, и по данным о комиссии.
Как обычно, странно что старожилы туда заглядывают по таким неординарным вопросам, Амаклин их годами на эту тему подкалывает, но грабли манят снова и снова.
|
|
|
|
stmar
Member
Offline
Activity: 196
Merit: 52
|
|
March 20, 2019, 08:39:02 PM |
|
"Вес" бывает у транзакций, в принципе можно считать вес блока, как сумму веса транзакций в нем, это не очень актуальная метрика. Там есть определенные лимиты, но они достаточно либеральные.
Да именно этот момент меня и интересовал. Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока?
|
|
|
|
A-Bolt
Legendary
Offline
Activity: 2334
Merit: 2374
|
|
March 20, 2019, 09:12:24 PM |
|
Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока?
Победитель использовал p2wpkh-входы, чтобы транзакции получились минимально возможного в данной ситуации размера. Возможно, это повлияло на их расположение в самом низу списка. Вы же наоборот хотите раздуть размеры транзакций. Это как-то поможет попасть им в конец списка?
|
|
|
|
stmar
Member
Offline
Activity: 196
Merit: 52
|
|
March 20, 2019, 09:35:35 PM |
|
Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока? Победитель использовал p2wpkh-входы, чтобы транзакции получились минимально возможного в данной ситуации размера. Возможно, это повлияло на их расположение в самом низу списка. Вы же наоборот хотите раздуть размеры транзакций. Это как-то поможет попасть им в конец списка? Я не знаю, не специалист. Но меня давно интересовал данный вопрос. Поиск в гугле ничего не давал. А здесь, как раз, полагаю данный вопрос уместен. Возможно в этом есть рац. зерно?
|
|
|
|
amaclin1
|
|
March 21, 2019, 03:52:34 AM |
|
Я не знаю, не специалист. Но меня давно интересовал данный вопрос. Какой вопрос вас интересовал? Вы понятным русским языком можете этот вопрос сформулировать? По возможности без местоимений "он, этот, вышеизложенный, упомянутый"
|
|
|
|
sankopolo (OP)
|
|
March 21, 2019, 07:02:41 AM Last edit: March 22, 2019, 03:09:44 PM by sankopolo |
|
Участников стало больше ( кое-кто посмеётся здесь). На текущий момеет преуспели: 567888 transaction message №1: jLNKonkurs forum.bits.media, REWARD TO bc1qhkjryuc2zw0vgnmgkq9dvcq8uufvp72zaeyaf4 message №2: let's have some more fun 568032 transaction568038 transactionmessage:yay! REWARD TO bc1qgnh8ss9narxmp3slumrgyhyprlqlhvr4fljh4z UPD: 568254 transaction - текущий кандидат на второй приз
|
|
|
|
amaclin1
|
|
March 21, 2019, 07:32:36 AM |
|
кое-кто посмеётся здесь Техника та же самая. Так что очень похоже на того же человека, что был и в первый раз. Впрочем, этот вопрос меня абсолютно не беспокоит. Не собираюсь выяснять, исследовать, выводить на чистую воду и вообще как-то реагировать. Мне значительно интереснее было бы увидеть иные варианты, в существовании которых я уверен. (Хотя предложенный вариант, похоже, самый оптимальный)
|
|
|
|
sankopolo (OP)
|
|
March 23, 2019, 06:48:38 AM |
|
До конца осталось чуть больше двух дней. Для тех, кому этот конкурс показался сложным - вот тут есть простой вариант.
|
|
|
|
|
sankopolo (OP)
|
|
March 26, 2019, 01:15:04 PM |
|
На bits.media отписался победитель (и единственный участник) - e46btc. Награда ему отправлена. Ниже мои мысли по решению этой задачи: В каком порядке и какие транзакции включаются в блок?Грубо говоря, включается топ мемпула по убыванию комиссии. Но есть несколько исключений и дополнений: - Если у нескольких транзакции в мемпуле абсолютно одинаковая комиссия, то они сортируются по времени (не уверен, но вроде бы получения транзакции первый раз нужной нодой). Со временем всё сложно - напрямую мы его не контролируем, но можем слегка использовать в своих целях (см стратегии 3,4).
- Если в блоке помещается 2000 первых транзакций, а 2001ая не помещается, то может быть взята 2002ая, 2003я и т д. Таким образом, чем меньше транзакция - тем выше её шансы стать последней. Одной этой идеи мало. См стратегию 5.
- Работа механизма CPFP - тогда дети и родители стоят рядом, сначала родители. Стоят в месте, соответствующем их средней (с учетом их размеров) комиссии. Как использовать в этом конкурсе - у меня не получилось придумать.
- И наконец - ручное изменение приоритета на пуле.
Какие бывают блоки?Для нас важно - заполнен ли блок полностью или же в нём ещё есть место. Если пустое место есть - значит, мемпул пуст. Можно пытаться попадать в полные блоки (стратегии 1, 2, 5), а можно - в неполные (стратегии 3,4). Стратегия 1. Самая простая стратегия - слать транзакции как попало. Вероятность стать последней - около 0.05% - очень мало. Стратегия 2. При созданиии транзакции выбрать комиссию так, чтобы попасть ровно в нужное место сортированного мемпула. Вроде неплохо, но через секунду появится какая-нибудь чужая транзакция и мы окажемся чуть ниже. Конечно, можно в таком случае отправить вторую, третью, ...потом можно будет сделать replace-by-fee у первой..., второй и так далее. На глаз - тут нужно около сотни транзакций и написать много кода. Комиссию придётся ставить не очень маленькую, а подтвердятся в итоге все эти транзакции. Выходит дорого, но (это моё ощущение) можно добиться очень большой вероятности (50-90%) попадания именно в любой нужный блок. Если бы призовой фонд был в сто раз больше - стоило бы делать так. Стратегия 3. Слать транзакции с минимальной возможной комиссией 1 сат/байт с тем, чтобы встать в самом конце мемпула и войти последним в неполный блок. Стратегия очень простая и доступна новичкам - можно делать вручную. В то же время уже приемлимые шансы на попадание одной транзакцией - где-то 2-5%. Тут важно не пытаться увеличить шансы одновременной отправкой нескольких транзаций - см пункт про сортировку по времени. Если хочется увеличить шансы отправкой нескольких транзакций - это надо делать через некоторое время - или (и это ещё лучше) после того, как транзакцию с такой же комиссией отправит кто-то другой. Победитель одно время слал просто раз в 5-10 секунд. Стратегия 4. Можно развить эту идею дальше: в момент появления неполного блока мемпул обнуляется и быть там последним [в пустом мемпуле] очень легко: комиссия 1 сат/байт. Будем отправлять транзакцию в этот момент. Пока в мемпуле нет больше транзакций с 1 сат/байт - мы в очень хорошем положении - если появится блок - мы победим. Пока их там мало - шансы тоже очень хорошие. Дальше можно либо ждать следующего такого момента, либо переходить к стратегии 3. Шансы (оценка на глаз) - около 10% с одной транзакции. Стратегия 5. Периодически кто-то выгружает в мемпул много транзакций разом. Допустим, что все они имеют размер хотя бы в 220 vbyte, одинаковую комиссию и их объём на блок или больше. Тогда мы можем послать свою транзакцию размером в 110 vbyte (практически минимальный размер) с комиссией чуть меньше или ровно такой же, с тем, чтобы использовать в свою пользу пункт 2. Когда какой-то блок набьют доверху этими транзакциями, есть шанс около 50%, что в блоке останется ешё 110-220 vbyte места. Все оставшиеся транзакции этой серии будут пропущены, а наша - войдёт последней. Если не войдёт - она ещё останется в мемпуле вместе с остатками той пачки - и у неё будет ещё и вторая такая попытка. Шансы очень большие - на глаз 60-90% у одной транзакции. Конечно, тут всё зависит от параметров пачки - а их реальные параметры я не изучал. Когда проверял решаемость задачи сам - использовал вручную гибрид стратегий 3 и 4 - попал где-то с десятой попытки, времени ушло 2-3 часа при околопустом мемпуле.
Конкурс это или лотерея?На мой взгляд, конкурс. Но можно его воспринимать и как лотерею и использовать соответствующие стратегии. А можно - как конкурс и использовать что-то вроде стратегии 5 (теоретические шансы больше половины с одной попытки). К сожалению, что-то подобное никто не сделал. Решение, которое я проверял сам - даёт шансы 5-10% с одной попытки. AFAIK в этом месте сортируются не все транзакции, а лишь внутри package - т е зависящие друг от друга (предки и потомки при CPFP). Ещё хотелось бы услышать amaclin1.
|
|
|
|
amaclin1
|
|
March 26, 2019, 04:51:53 PM |
|
Ещё хотелось бы услышать amaclin1. Да в целом все так. На мой взгляд - дождаться когда мемпул заполнен ( смотреть тут: https://jochen-hoenicke.de/queue/#0,24h ) и слать транзакцию с минимальным размером, рассчитывая на то, что в блоке останется совсем мало места - хватит только на нашу транзакцию. Тут условие задачи было немного "подпорчено" условием, что транзакция должна содержать выход на определенный адрес. Без этого условия можно было бы размер транзакции сделать ещё меньше, а шансы стать последней - еще больше. Второй аспект, который мне хотелось бы проверить (без подглядывания в исходный код) - это подсчет количества SIGOP-операций. Транзакция с аномально большим количеством таких операций (в пересчете на размер транзакции в байтах) является нестандартной, но вроде как это решается (может решаться?) дополнительными комиссиями. Я занимался другими вещами, не связанными с криптой, поэтому в конкурсе участвовал в режиме "рид-онли". Победителю - моё поздравление. Все-таки, это интеллектуальный конкурс, а не лотерея. Понятно, что у новичков без знаний шансов не было. Но вы и в "ЧГК" без опыта не выиграете. Набирайтесь знаний и опыта - победите в следующий раз.
|
|
|
|
|