Bitcoin Forum
November 09, 2024, 05:59:57 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: [завершен] Конкурс: дважды последний - до 25 ма  (Read 742 times)
Coin-1
Legendary
*
Offline Offline

Activity: 2618
Merit: 2304



View Profile
March 20, 2019, 07:34:31 AM
 #21

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

Судя по blockchain.com, в поле блока 567888 "Relayed by" написано "Unknown", то есть этот блок прислан не с широко известных IP-адресов топовых майнинг-пулов Bitcoin (BTC.COM, ViaBTC, и т.п.). Комиссия довольно низкая, 0.794 сатоши за байт, такие транзакции обычно не включают в блоки, хотя здесь нужно учесть, что победитель добавил дополнительно выходной скрипт RETURN PUSHDATA1.

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

Могу посоветовать в следующем конкурсе ввести условие необходимости нахождения какого-либо параметра брутфорсом, в разумных пределах, разумеется.
bakasabo
Legendary
*
Offline Offline

Activity: 2492
Merit: 1214



View Profile
March 20, 2019, 12:14:01 PM
 #22

С каждым постом в топике я все больше и больше убеждаюсь, что новичок (не ранг newbie) почти не в состоянии решить данную задачку.

 
█▄
R


▀▀██████▄▄
████████████████
▀█████▀▀▀█████
████████▌███▐████
▄█████▄▄▄█████
████████████████
▄▄██████▀▀
LLBIT▀█ 
  TH#1 SOLANA CASINO  
████████████▄
▀▀██████▀▀███
██▄▄▀▀▄▄████
████████████
██████████
███▀████████
▄▄█████████
████████████
████████████
████████████
████████████
█████████████
████████████▀
████████████▄
▀▀▀▀▀▀▀██████
████████████
███████████
██▄█████████
████▄███████
████████████
█░▀▀████████
▀▀██████████
█████▄█████
████▀▄▀████
▄▄▄▄▄▄▄██████
████████████▀
........5,000+........
GAMES
 
......INSTANT......
WITHDRAWALS
..........HUGE..........
REWARDS
 
............VIP............
PROGRAM
 .
   PLAY NOW    
sankopolo (OP)
Member
**
Offline Offline

Activity: 74
Merit: 100


View Profile WWW
March 20, 2019, 12:34:51 PM
 #23

С каждым постом в топике я все больше и больше убеждаюсь, что новичок (не ранг 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 Offline

Activity: 1722
Merit: 1285

OpenTrade - Open Source Cryptocurrency Exchange


View Profile WWW
March 20, 2019, 12:55:51 PM
 #24

Не тут ли кроется отгадка?
https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp#L282

OpenTrade - Open Source Cryptocurrency Exchange
apxu
Member
**
Offline Offline

Activity: 229
Merit: 13


View Profile
March 20, 2019, 02:00:58 PM
 #25

Quote
Судя по 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 Offline

Activity: 1316
Merit: 420


KTO EC/\U HUKTO?


View Profile
March 20, 2019, 04:48:19 PM
Last edit: March 26, 2019, 06:37:33 PM by fxpc
 #26

blockchain.com вводит в данном случае в заблуждение - и по данным о пуле, и по данным о комиссии.

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

stmar
Member
**
Offline Offline

Activity: 196
Merit: 52


View Profile
March 20, 2019, 08:39:02 PM
 #27

"Вес" бывает у транзакций, в принципе можно считать вес блока, как сумму веса транзакций в нем, это не очень актуальная метрика. Там есть определенные лимиты, но они достаточно либеральные.

Да именно этот момент меня и интересовал.
Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока?
A-Bolt
Legendary
*
Offline Offline

Activity: 2334
Merit: 2374


View Profile
March 20, 2019, 09:12:24 PM
 #28

Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока?

Победитель использовал p2wpkh-входы, чтобы транзакции получились минимально возможного в данной ситуации размера. Возможно, это повлияло на их расположение в самом низу списка.

Вы же наоборот хотите раздуть размеры транзакций. Это как-то поможет попасть им в конец списка?
stmar
Member
**
Offline Offline

Activity: 196
Merit: 52


View Profile
March 20, 2019, 09:35:35 PM
 #29

Т.е., как я понял, напихав любого мусора в транзакции, нет возможности манипулировать поисками блока?
Победитель использовал p2wpkh-входы, чтобы транзакции получились минимально возможного в данной ситуации размера. Возможно, это повлияло на их расположение в самом низу списка.
Вы же наоборот хотите раздуть размеры транзакций. Это как-то поможет попасть им в конец списка?

Я не знаю, не специалист. Но меня давно интересовал данный вопрос. Поиск в гугле ничего не давал. А здесь, как раз, полагаю данный вопрос уместен. Возможно в этом есть рац. зерно?
amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 353


View Profile
March 21, 2019, 03:52:34 AM
 #30

Я не знаю, не специалист. Но меня давно интересовал данный вопрос.
Какой вопрос вас интересовал?
Вы понятным русским языком можете этот вопрос сформулировать?
По возможности без местоимений "он, этот, вышеизложенный, упомянутый"
sankopolo (OP)
Member
**
Offline Offline

Activity: 74
Merit: 100


View Profile WWW
March 21, 2019, 07:02:41 AM
Last edit: March 22, 2019, 03:09:44 PM by sankopolo
 #31

Участников стало больше (кое-кто посмеётся здесь). На текущий момеет преуспели:
567888   transaction
message №1:
Quote
jLNKonkurs forum.bits.media, REWARD TO bc1qhkjryuc2zw0vgnmgkq9dvcq8uufvp72zaeyaf4
message №2:
Quote
let's have some more fun Smiley
568032   transaction
568038   transaction
message:
Quote
yay! REWARD TO bc1qgnh8ss9narxmp3slumrgyhyprlqlhvr4fljh4z
UPD:
568254 transaction  - текущий кандидат на второй приз

amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 353


View Profile
March 21, 2019, 07:32:36 AM
 #32

кое-кто посмеётся здесь
Техника та же самая. Так что очень похоже на того же человека, что был и в первый раз.
Впрочем, этот вопрос меня абсолютно не беспокоит. Не собираюсь выяснять, исследовать,
выводить на чистую воду и вообще как-то реагировать. Мне значительно интереснее было
бы увидеть иные варианты, в существовании которых я уверен.
(Хотя предложенный вариант, похоже, самый оптимальный)
sankopolo (OP)
Member
**
Offline Offline

Activity: 74
Merit: 100


View Profile WWW
March 23, 2019, 06:48:38 AM
 #33

До конца осталось чуть больше двух дней.

Для тех, кому этот конкурс показался сложным - вот тут есть простой вариант.

sankopolo (OP)
Member
**
Offline Offline

Activity: 74
Merit: 100


View Profile WWW
March 25, 2019, 01:37:23 PM
Last edit: March 25, 2019, 04:45:09 PM by sankopolo
 #34

Новые последние транзакции:
568716 transaction
568732 transaction

Конкурс завершен!

Победила транзакция 93a1c4dbcdecbdf45a3c55e87f9749cca2d47631f41ea1588986688af2b15b4f.

Поздравляю победителя и жду от него сообщение!

Если за сутки не откликнется, переведу приз на его адрес bc1qxj6x782u2tzrejh3qztspyer7kp26apcc2p8dc

sankopolo (OP)
Member
**
Offline Offline

Activity: 74
Merit: 100


View Profile WWW
March 26, 2019, 01:15:04 PM
 #35

На bits.media отписался победитель (и единственный участник) - e46btc. Награда ему отправлена.
Ниже мои мысли по решению этой задачи:
Quote
В каком порядке и какие транзакции включаются в блок?

Грубо говоря, включается топ мемпула по убыванию комиссии. Но есть несколько исключений и дополнений:
  •    Если у нескольких транзакции в мемпуле абсолютно одинаковая комиссия, то они сортируются по времени (не уверен, но вроде бы получения транзакции первый раз нужной нодой). Со временем всё сложно - напрямую мы его не контролируем, но можем слегка использовать в своих целях (см стратегии 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% с одной попытки.

Не тут ли кроется отгадка?
https://github.com/bitcoin/bitcoin/blob/master/src/miner.cpp#L282
AFAIK в этом месте сортируются не все транзакции, а лишь внутри package - т е зависящие друг от друга (предки и потомки при CPFP).

Ещё хотелось бы услышать amaclin1.

amaclin1
Sr. Member
****
Offline Offline

Activity: 924
Merit: 353


View Profile
March 26, 2019, 04:51:53 PM
 #36

Ещё хотелось бы услышать amaclin1.
Да в целом все так.
На мой взгляд - дождаться когда мемпул заполнен ( смотреть тут: https://jochen-hoenicke.de/queue/#0,24h )
и слать транзакцию с минимальным размером, рассчитывая на то, что в блоке останется
совсем мало места - хватит только на нашу транзакцию. Тут условие задачи было немного "подпорчено"
условием, что транзакция должна содержать выход на определенный адрес. Без этого условия можно
было бы размер транзакции сделать ещё меньше, а шансы стать последней - еще больше.

Второй аспект, который мне хотелось бы проверить (без подглядывания в исходный код) -
это подсчет количества SIGOP-операций. Транзакция с аномально большим количеством
таких операций (в пересчете на размер транзакции в байтах) является нестандартной, но
вроде как это решается (может решаться?) дополнительными комиссиями.

Я занимался другими вещами, не связанными с криптой, поэтому в конкурсе участвовал
в режиме "рид-онли". Победителю - моё поздравление. Все-таки, это интеллектуальный
конкурс, а не лотерея. Понятно, что у новичков без знаний шансов не было. Но вы и
в "ЧГК" без опыта не выиграете. Набирайтесь знаний и опыта - победите в следующий раз.
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!