Author

Topic: Неподтвержденные транзакции - ГДЕ они (Read 23779 times)

member
Activity: 181
Merit: 12
Приветствую, может кто подскажет, сколько максимально долго может не подтверждаться транзакция Биткойн, уже прошло более 10 суток, а она висит в неподтвержденных до сих пор, была отправлена с биржи с комиссией 0.0004 BTC. Может быть биткойны уже вернулись отправителю? Если так, то меняется ли статус транзакции в публичном блокчейне? в данный момент она имеет статус как неподтвержденная. До этого сталкивался с задержкой подтверждения в трое суток, но более 10 дней мне кажется это слишком долго ужеSmiley
ссылку на транзакцию или номер транзы если можно, какая биржа? пробуй эту штуку https://bitcointalksearch.org/topic/--1839175  если получится впихнутся лучше конечно ближе к вечеру пробовать, и что биржа говорит по этому поводу?
Что делать если viabtc пишет что транзакция не существует? В блокчейн.инфо ее тоже нет.
member
Activity: 119
Merit: 11
Если вы хотите, чтобы ваши транзакции подтверждались быстрее, очевидное решение состоит в том, чтобы добавить более высокую комиссию к этой транзакции.
newbie
Activity: 100
Merit: 0
У меня 20 собак где-то уже месяц гуляют , ни в питомник не прибежали ни в будку не вернулись  Grin
member
Activity: 69
Merit: 14
Если столкнулись с тем что завис платеж - можете писать мне в telegram - @volevanya помогу получить подтверждение транзакции
member
Activity: 420
Merit: 12
Подскажи как...мне на будущее пригодится, не буду же я вечно задра****ть других своими просьбами
что тебе подсказать? как проталкивать или как ставить комиссию по больше? как проталкивать тебе я думаю никто не расскажет так как многие на этом зарабатывают, вот тут тема https://bitcointalksearch.org/topic/--1839175 была там есть способ но там нужно знать момент что бы впихнуть транзу, но большинство проталкивают не этим способом
А что если знаешь способ как проталкивать транзакции задешево то это может означать что ты можешь любые свои транзакции отправлять практически даром ? Так получается ?
legendary
Activity: 1778
Merit: 1098
Подскажи как...мне на будущее пригодится, не буду же я вечно задра****ть других своими просьбами
что тебе подсказать? как проталкивать или как ставить комиссию по больше? как проталкивать тебе я думаю никто не расскажет так как многие на этом зарабатывают, вот тут тема https://bitcointalksearch.org/topic/--1839175 была там есть способ но там нужно знать момент что бы впихнуть транзу, но большинство проталкивают не этим способом
newbie
Activity: 2
Merit: 0
Подскажи как...мне на будущее пригодится, не буду же я вечно задра****ть других своими просьбами
legendary
Activity: 1778
Merit: 1098
Подскажите, что делать?!завел на битрикс Биткоинов и сумма висит в pending deposit уже трое суток, в блокчейн написано неподтвержденная транзакция...что делать?
нужно ставить комиссию по больше что бы не зависала сеть сейчас нагружена сильно сейчас что бы прошла транзакция нужно мин ставить 760сат\байт, кинь в личку номер транзакции толкну
newbie
Activity: 2
Merit: 0
Подскажите, что делать?!завел на битрикс Биткоинов и сумма висит в pending deposit уже трое суток, в блокчейн написано неподтвержденная транзакция...что делать?
member
Activity: 105
Merit: 14
Я так понял полоникс намеренно задерживает транзакции на другие биржи.
member
Activity: 84
Merit: 10
Интересный вопрос
legendary
Activity: 1778
Merit: 1098
кто нибудь может мне объяснить- отсылаю транзакцию с кошелька на другой кошелек и она не подтвержена уже неделю а с полыни на коель и обратно дело 20 мин.как это понять?нужно меньше подтверждений?или я дурак?
нужно комиссию ставить больше как отправляешь с кошелька как этого не знать если ты работаешь с биржей(что бы дальше не возникало вопросов читай мат часть)? кстати с какого кошелька отправляешь?
sr. member
Activity: 602
Merit: 250
кто нибудь может мне объяснить- отсылаю транзакцию с кошелька на другой кошелек и она не подтвержена уже неделю а с полыни на коель и обратно дело 20 мин.как это понять?нужно меньше подтверждений?или я дурак?
newbie
Activity: 25
Merit: 0

пока не примут Segregated Witness с Lightning Network проблема с комиссией будет, в ускоритель нужно проталкивать или в 11 утра или в 10-11 вечера у меня в это время получалось добавить транзакции

это просто волшебство! Я хз когда оно 1 подтверждение было, я не следил, но в 18.00, спустя 7 чаов, их было 53+! Ахренеть!

А на счёт того, что вы сказали вначале, то я вообще, ни слова не понял, сорри... и пошёл гуглить)
Видимо, должно что-то поменяться, иначе быть не может, ну полнейшее безобразие и произвол, если без матов))
legendary
Activity: 1778
Merit: 1098
здрасьте)
Блин, это невыносимо, они чё там охренели с такими комиссиями ?? Чем дороже биткоин, тем выше комиссия, а по идее, - должно быть плюс-минус наоборот...
А неподтверждённые транзакции по две недели - это вообще жесть. Ну как так-то?
И что, оно бесконечно и будет так?
Я уже боюсь куда-либо их отправлять, я хз как мы до этого докатились.., а ведь так хорошо всё начиналось...
omfg!!
Я 4-5 дней пытался пропихнуть свою неподтв. транзакцию от 9 мая(С Днём Победы!) в этом драном акселераторе и тут, когда совсем надежд не оставалось, оно мне выдало Acceleration succeeded
и я чуть не сдох от неожиданного счастья, свалившегося на меня))Месяц почти висит ... 
Ура!
Короче, микроотчёт: ровно в 11.00 утра по Москве, за секундами я не следил, но было ровно 11, и, пока я вводил капчу, скорее всего стало 11.01. вот.
Всем терпения и удачи!  Всё будет BTC!
пока не примут Segregated Witness с Lightning Network проблема с комиссией будет, в ускоритель нужно проталкивать или в 11 утра или в 10-11 вечера у меня в это время получалось добавить транзакции
newbie
Activity: 25
Merit: 0
здрасьте)

Блин, это невыносимо, они чё там охренели с такими комиссиями ?? Чем дороже биткоин, тем выше комиссия, а по идее, - должно быть плюс-минус наоборот...

А неподтверждённые транзакции по две недели - это вообще жесть. Ну как так-то?

И что, оно бесконечно и будет так?
Я уже боюсь куда-либо их отправлять, я хз как мы до этого докатились.., а ведь так хорошо всё начиналось...

omfg!!
Я 4-5 дней пытался пропихнуть свою неподтв. транзакцию от 9 мая(С Днём Победы!) в этом драном акселераторе и тут, когда совсем надежд не оставалось, оно мне выдало Acceleration succeeded
и я чуть не сдох от неожиданного счастья, свалившегося на меня))Месяц почти висит ... 
Ура!

Короче, микроотчёт: ровно в 11.00 утра по Москве, за секундами я не следил, но было ровно 11, и, пока я вводил капчу, скорее всего стало 11.01. вот.

Всем терпения и удачи!  Всё будет BTC!
newbie
Activity: 61
Merit: 0
получил ответ от пула btc.com
Hey,

The transaction is marked as a double spend only for a short period of time, as we had to restart some of our infrastructure.
It will confirm and I can assure you it is not a double spend. Smiley

There is a current backlog of transactions on the network.
Bitcoin transactions can currently take a little while to confirm on the blockchain, but they'll be listed once the network first sees them and credited as soon as they are confirmed.

You can compare the transaction fee rate to the current "optimal fee" which is based on how much transactions there are currently pending to be included (you can see this here: https://btc.com/stats/unconfirmed-tx)

Транзакция будет подтверждена говорят, только вот 2 недели уже прошло.
legendary
Activity: 1778
Merit: 1098
а что касается сбора за перевод 0.000403 BTC, то вполне такая стандартная комиссия была вплоть до последнего времени даже меньше на кошельке blockchain.info
комиссия платится за размер в байтах, да это была бы приемлемая комиссия если бы транзакция весила где то 250 байт то при твоей комиссии 0.0004BTC было бы около 150sat/b при этой комиссии транза прошла бы где то в течении суток, но у твоя транза весит 1256 байтов вот и получается что 32sat/b и это мало, что за биржа ты можешь сказать? или все таки сам отправлял от себя и накосачил? пиши в саппорт и мол какого хрена так долго, и почему пишет дабл сенд в некоторых блок эксплорерах если ты через биржу отправлял
кстати транза отображается только blockchain, на других не находит ее
newbie
Activity: 61
Merit: 0
а что касается сбора за перевод 0.000403 BTC, то вполне такая стандартная комиссия была вплоть до последнего времени даже меньше на кошельке blockchain.info
newbie
Activity: 61
Merit: 0
то есть если я эти деньги не получал, поскольку транзакция не подтверждена, то эти биткойны не могли исчезнуть "вникуда", они остались в распоряжении биржи и были потрачены ею, правильно ли я понимаю?
legendary
Activity: 1778
Merit: 1098
Вот эта танзакция https://blockchain.info/tx/1e2629c17950bc5660c0973c2e91dfe7844e43bd8637589378031a2cce2a4acd
Интересная штука, вот если сюда подставить txid https://pushtx.btc.com/#/ то в ответ "This is a double-spent tx, unavailable for acceleration". Что это значит, что деньги уже вернулись на биржу и были потрачены, а эта транзакция так и осталась висеть в неподтвержденных навсегда?
да с комиссией печаль всего лишь 32.245 sat/B это очень мало, возможно что кому то отправляла биржа и ушла сумма которая была и тебе оправлена с большей комиссией и из за этого получился дабл сенд, так что за биржа? пиши в саппорт пусть решают проблему мы тут ничем не поможем если была двойная трата
newbie
Activity: 61
Merit: 0
Вот эта танзакция https://blockchain.info/tx/1e2629c17950bc5660c0973c2e91dfe7844e43bd8637589378031a2cce2a4acd
Интересная штука, вот если сюда подставить txid https://pushtx.btc.com/#/ то в ответ "This is a double-spent tx, unavailable for acceleration". Что это значит, что деньги уже вернулись на биржу и были потрачены, а эта транзакция так и осталась висеть в неподтвержденных навсегда? или все-таки она будет подтверждена
legendary
Activity: 1778
Merit: 1098
Приветствую, может кто подскажет, сколько максимально долго может не подтверждаться транзакция Биткойн, уже прошло более 10 суток, а она висит в неподтвержденных до сих пор, была отправлена с биржи с комиссией 0.0004 BTC. Может быть биткойны уже вернулись отправителю? Если так, то меняется ли статус транзакции в публичном блокчейне? в данный момент она имеет статус как неподтвержденная. До этого сталкивался с задержкой подтверждения в трое суток, но более 10 дней мне кажется это слишком долго ужеSmiley
ссылку на транзакцию или номер транзы если можно, какая биржа? пробуй эту штуку https://bitcointalksearch.org/topic/--1839175  если получится впихнутся лучше конечно ближе к вечеру пробовать, и что биржа говорит по этому поводу?
newbie
Activity: 44
Merit: 0
Приветствую, может кто подскажет, сколько максимально долго может не подтверждаться транзакция Биткойн, уже прошло более 10 суток, а она висит в неподтвержденных до сих пор, была отправлена с биржи с комиссией 0.0004 BTC. Может быть биткойны уже вернулись отправителю? Если так, то меняется ли статус транзакции в публичном блокчейне? в данный момент она имеет статус как неподтвержденная. До этого сталкивался с задержкой подтверждения в трое суток, но более 10 дней мне кажется это слишком долго ужеSmiley
небось с полоникс выводил? Smiley там сейчас все транзы долго обрабатываются
newbie
Activity: 61
Merit: 0
Приветствую, может кто подскажет, сколько максимально долго может не подтверждаться транзакция Биткойн, уже прошло более 10 суток, а она висит в неподтвержденных до сих пор, была отправлена с биржи с комиссией 0.0004 BTC. Может быть биткойны уже вернулись отправителю? Если так, то меняется ли статус транзакции в публичном блокчейне? в данный момент она имеет статус как неподтвержденная. До этого сталкивался с задержкой подтверждения в трое суток, но более 10 дней мне кажется это слишком долго ужеSmiley
legendary
Activity: 1554
Merit: 1008
Ребят, подскажите пожалуйста как повторно отправлять монеты из не подтвержденных транзакций
их кошелек сам отправляет - подожди 2 дня
newbie
Activity: 4
Merit: 0
Ребят, подскажите пожалуйста как повторно отправлять монеты из не подтвержденных транзакций
legendary
Activity: 2317
Merit: 2318
Из mempool'а корректные транзакции, похоже, не удаляются вообще до принятия их в блок.
В Bitcoin-Qt список транзакций в mempool можно посмотреть командой getrawmempool.

Кошелёк с аптаймом двое суток выдал количество транзакций в mempool примерно 2500.
Свежезапущенный кошелёк выдал 7 транзакций.

Получается, клиент при каждом перезапуске очищает mempool.
full member
Activity: 216
Merit: 100
Посмотрел исходники текущей trunk версии оф. клиента.

- Клиент не придерживает транзакцию в случае её некорректности, например, при вызове sendrawtransaction генерирует исключение (файл rpcrawtransaction.cpp, функция sendrawtransaction):
Code:
        if (!fHave) {
            // push to local node
            CValidationState state;
            if (!mempool.accept(state, tx, false, NULL))
                throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX rejected"); // TODO: report validation state
        }
    ...
    RelayTransaction(tx, hashTx);
Судя по всему, где-то выше по стеку исключение перехватывается и выводится сообщение об ошибке. Однако mempool.accept не проверяет минимальность комиссий, если третий параметр fLimitFree == false. В случае корректности транзакция передаётся соседям (RelayTransaction).

- При приёме транзакции от соседа mempool.accept проверяет допустимость комиссий (main.cpp, ProcessMessage, fLimitFree == true):
Code:
    else if (strCommand == "tx")
    {
        ...
        bool fMissingInputs = false;
        CValidationState state;
        if (mempool.accept(state, tx, true, &fMissingInputs))
        {
            RelayTransaction(tx, inv.hash, vMsg);
            ...
        }
        else if (fMissingInputs)
        {
            AddOrphanTx(vMsg);

            // DoS prevention: do not allow mapOrphanTransactions to grow unbounded
            unsigned int nEvicted = LimitOrphanTxSize(MAX_ORPHAN_TRANSACTIONS);
            if (nEvicted > 0)
                printf("mapOrphan overflow, removed %u tx\n", nEvicted);
        }
        int nDoS;
        if (state.IsInvalid(nDoS))
            pfrom->Misbehaving(nDoS);
    }
Никаких ответных сообщений не отсылается, просто если транзакция не принята в mempool, то сосед, её приславший, увеличивает свою "негативную карму" (pfrom->Misbehaving(nDoS)) и при превышении последней порогового значения отправляется во временный бан.

- Из mempool'а корректные транзакции, похоже, не удаляются вообще до принятия их в блок. По крайней мере "grep -n mempool.remove *" выдал только случай получения нового блока (main.cpp, функция SetBestChain). Т.е. транзакции в memory-пуле ждут до победного. Единственное исключение - orphan-транзакции, т.е. такие, чьи входы клиенту ещё не полностью известны (либо транзакции, чьи выходы тратит orphanная, ещё не получены, либо вообще ещё не отправлены в сеть - есть такая фича у оф. клиента). Для таких транзакций буфер ограничен (LimitOrphanTxSize) и отделён от mempool'а.

- Свои транзакции периодически перепосылаются соседям (wallet.cpp, CWallet::ResendWalletTransactions).

Хотя это довольно поверхностное копание в исходниках. Например, я пока не выяснил, перепосылаются ли периодически чужие корректные транзакции соседям, что такое фильтры (межклиентские команды filterload/filteradd/filterclear), не углублялся в вопрос, что такое inventory (CInv). Да и политики могут отличаться от версии к версии и даже от узла к узлу (наложением своих патчей). Но на первый взгляд так.
newbie
Activity: 28
Merit: 0
Так все-таки, как вы думаете (или точно знаете) - какое описание более всего подходит для данной ситуации?
:
- Транзакция вообще не ушла дальше моего клиента (т.е., это именно он принял решение не ретранслировать ее дальше). Тем не менее, транзакцию клиент "придерживает" - видимо, на случай изменения соглашения о минимальной комиссии, в результате чего транзакция может оказаться подходящей и ее можно будет повторно ретранслировать. (Кстати, где-то вычитал, не помню, про то, что клиент (официальный) все-таки делает повторные оповещения о ранее принятых, но еще не подтвержденных подходящих транзакциях).
Сам я склоняюсь к этой версии. Раз уж минимальная сумма "допуска" (та, которая сейчас 0,0001, в отличие от рекомендуемой 0,0005) зашита в код, ничто не мешает клиенту юзать ее не только при ГУИшном создании транзакции, но и при обрабтке консольной команды отправки.

- Транзакция ушла в сеть и болтается в мемори-пулах [некоторых] клиентов и майнеров. Только не обрабатывается. Тут две подситуации:
-- Транзакция остается в мемори-пулах, но постоянно игнорится майнерами при запросе текущей очереди. (Маловероятно. Тогда получается, что мемори-пулы попросту забиты таким мусором)
-- Транзакция уничтожается при извлечении ее из пула. То есть, вначале в пул попадает все подряд, затем все же и извлекается, но вот обрабатывается только часть, остальное исчезает.
full member
Activity: 216
Merit: 100
Однако получается, что согласно каким-то дополнительным правилам (кстати, где они возникают и проверяются - "вкладываются" в очередную версию клиента?) клиент-ретранслятор (или даже клиент-инициатор) отклоняет транзакцию (не сообщает о ней далее по сети), при этом никак не уведомляет о том, что транзакция отклонена. Разве это невозможно по каким-то фундаментальным причинам?
В уведомлениях нет особого смысла. В транзакции не записано, какой узел является её инициатором (т.е. даже соседние с инициатором узлы не будут знать, принимают они транзакцию от инициатора или ретранслятора), а ретранслятору такое пришедшее уведомление нафиг не сдалось, он уже включил транзу в memory pool (не удалять же её оттуда только из-за того, что у соседа другая политика ретрансляции). Получается только лишний трафик. Проверка на допустимость сборов возложена на узел-инициатор, и при обычном использовании оф. клиента он не даст создать перевод со слишком малой комиссией (вроде; переспросит-то уж обязательно). А по поводу raw transactions явно сказано:
Quote
You must be careful to include an appropriate transaction fee, or the sendrawtransaction method is likely to fail (either immediately or, worse, the transaction will never confirm).
newbie
Activity: 28
Merit: 0
ага.
вроде как въехал.
Что ж, в целом все ожидаемо и логично, единственная нелогичная вещь - сохранение данных об отправленных транзакциях в wallet.dat официальным клиентом. В самом деле, не место им там Smiley. Исходя из идеологии сети - думаю, кошелек должен хранить только ключи, остальная инфа должна либо выцепляться из сети, либо (если нужна только локально) - храниться в служебных файлах. Ну да это ладно. Как уже говорил - есть экспорт/импорт ключей.
legendary
Activity: 1120
Merit: 1069
То что blockchain.info запомнил эту транзакцию, это его личная фича, никаким боком к самой bitcoin сети не относится (точно так же как время поступление транзакции у них, в сети такого понятия нет, есть только время блока, в который эту транзакцию включили).

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

Да, в сети есть только простое правило - непротиворечивость (чтобы небыло двойной траты), все остальное - пожелания пулов майнинга. Поэтому и говорят, что пулы майнинга создают большую опасность централизации валюты и чем их больше (и чем меньше их отдельные мощности) тем лучше для сети в целом, так как это не позволит им легко договариваться друг с другом против всех пользователей сети (например если сейчас 5-6 основных крупных пулов манинга и солистов договорятся и сделают комиссию в 0.1 btc, то никуда народ не денется, будет платить либо ждать свои транзакции сутками, пока не согласные с политикой этого соглашения майнеры, коих останется очень мало, не обработают вашу транзакцию).
newbie
Activity: 28
Merit: 0
вот что нашел на blockchain.info в разделе "Не подтвержденные транзакции":
https://blockchain.info/ru/tx/c9dbf14695e423488a8702adc7afdf53cd1428f5bbf88da6b1d7987e3def9d18

транзакция без адресов отправителя и получателя (другой способ?) на 0 BTC. Без комиссий :-D.
Торчит в очереди с расчетным временем на обработку.

Моей транзакции в этом списке вроде нет.
Все страньше и страньше.
newbie
Activity: 28
Merit: 0
То, что пул имеет полный произвол не обрабатывать невыгодные ему транзакции - это его святое право. Размеры комиссий и их оправданность, справедливость и т.п. не обсуждаются.
Но с другой стороны и пользователь имеет полное право подсовывать сети любые валидные транзакции - как сознательно, так и неосознанно.
Вопрос плавно перемещается к тому, а предусмотрен ли какой-то механизм для нормального отсеивания непринятых/неподходящих транзакций - то есть однозначно и с какой-то информацией о причинах отсеивания?
В системах с централизованным процессингом попытка отправить неподходящую транзакцию останавливается на уровне приема к исполнению - строго говоря, в таких системах собюдение минимальных сумм платежа и размеров комиссий входят в понятие валидации. В биткоин мы имеем распределенный процессинг, в котором потенциально существуют майнеры, готовые обработать любую транзакцию. Однако получается, что согласно каким-то дополнительным правилам (кстати, где они возникают и проверяются - "вкладываются" в очередную версию клиента?) клиент-ретранслятор (или даже клиент-инициатор) отклоняет транзакцию (не сообщает о ней далее по сети), при этом никак не уведомляет о том, что транзакция отклонена. Разве это невозможно по каким-то фундаментальным причинам?
Как-то непонятно все еще.
hero member
Activity: 742
Merit: 500
Как только клиент создает транзакцию, она почти тут же рассылается на ВСЕ кошельки, в т.ч. майнеров (каждый пул, каждый майнер p2pool, каждый соло майнер), если транзакцию решит удалить какой то пул... это никак не повлияет на решение других пулов это сделать.. т.е. все они работают независимо.
Транзакция, имеющая хотя бы один выход менее чем на 0.01 BTC должна иметь комиссию. Да, владелец пула может разрешить приём и таких транзакций, но это вряд ли случается часто. Кроме того, если, допустим, минимальный размер комиссии обычно составляет 0.0005 BTC, то многие узлы откажутся просто распространять такую транзакцию, если комиссия будет менее 0.0001 BTC и она может просто не доехать до того пула, который принял бы её без комиссии.
newbie
Activity: 28
Merit: 0
Я понял так:
С одной стороны, если транзакция признана подходящей, то она попадает в мемори-пулы клиентов и майнеров в сети, то есть, проще говоря - "запоминается сетью", существует в ней и ждет своей очереди на обработку - следовательно, будет обработана в течение пусть и долгого, но разумного времени.
С другой стороны, получается, что подходящей признается не каждая валидная транзакция. Причем, фундаментально в сети биткоин существует только проверка на валидность, а вот оценка подходит/не подходит - происходит по неким дополнительным правилам.
Таким образом, все-таки возникает та "некрасивая" ситуация, которую я предполагал: технически правильные и, в общем, незапрещенные действия пользователя приводят к отказу в обработке, причем об отказе внятно никак не сообщается, и откатить непризнанную транзакцию штатным образом нельзя (или я ошибаюсь насчет шатных способов?).
Насчет исправления.
Из рекомендации "восстановить wallet.dat из бэкапа или править его утилитой" я прихожу к выводу, что инфа об отправленной, но зависшей транзакции хранится в самом wallet.dat?
Я вообще надеялся на то, что где-то в другом месте - на уровне служебных файлов клиента, - и хотел попробовать запустить конкурентную транзакцию с этим же кошельком, но с другого клиента. Хотя, как крайний вариант еще существует возможность выгрузить-импортировать ключи для адреса.
Xtc
legendary
Activity: 1973
Merit: 1028
;u
Транзакции с суммой перевода меньше какого-то  значения(0.1 биткойн вроде) и не имеющие комиссии отбрасываются другими клиентами и не передаются по сети, до пула они даже не дойдут.
Можно отправлять бОльшие суммы без комиссии, они дойдут в течение суток обычно.
Эта транзакция зависла и уже никогда не обработается, монеты можно повторно включить в другую транзакцию с комиссией.
legendary
Activity: 1120
Merit: 1069
Как только клиент создает транзакцию, она почти тут же рассылается на ВСЕ кошельки, в т.ч. майнеров (каждый пул, каждый майнер p2pool, каждый соло майнер), если транзакцию решит удалить какой то пул... это никак не повлияет на решение других пулов это сделать.. т.е. все они работают независимо.

Работа пулов заключается в том что они каждый момент времени (как майнер запросит работу getwork, это в конце концов происходит ежесекундно ну или как майнер настроит майнер или прокси) выбирают из СВОЕГО memory pool транзакции, собирают из них блок и пытаются для него решить задачу (найти nonce или extraNonce перебирая хеши).

Логика выбора транзакций из memory pool (а так же удаление их от туда) - у каждого может быть своя, с другой стороны обычно майнеры стараются оперативно обновлять клиент своего кошелька, т.е. фактически этим алгоритмом рулит ведущий программист Гэвин (он конечно работает с оглядкой на других программистов и мнение майнеров, точнее топовых пулов майнинга).

Это значит если какой то пул решит сделать логику выбора другой (более неудобной для клиентов, например повысив требование к комиссии) то транзакции, не подходящие под эти требования будут обрабатываться другими пулами... поэтому говорят, транзакция висит в memory pool и ждет (правда в текущий алгоритм всех пулов уже встроен алгоритм игнорирования дешевых или бесплатных транзакций, пока они не наберут некоторый вес.. не вылежатся некоторое время, кажется сейчас реализуется какой то иной алгоритм, что то про аукцион, не изучал пока)


Даже если пул решит удалить транзакцию, без сохранения какой либо информации о ней, то транзакция может снова приехать к нему, например за счет того, что новые подключаемые клиенты так же получают информацию о транзакциях в memory pool и так же рассылают ее остальным (повторяю. точный алгоритм мне не известен, но вроде бы вместе с транзакцией не рассылается никакой информации для уменьшения ее постоянного дублирования, но какие то средства для этого реализованы, иначе бы сеть была под постоянным прессингом этой дублированной информации)
newbie
Activity: 28
Merit: 0
моя беда в том, что я не особо еще уяснил себе понятия "сеть знает о транзакции" и "сеть обрабатывает транзкцию".
С учетом того, как я понял предыдущее сообщение, попробую описать процесс таким образом:
1. Я создаю транзакцию и даю клиенту команду сообщить о ней.
Как следствие, мой клиент об этой транзакции "знает". Так же он оповещает тех клиентов, с которыми связан непосредственно, те оповещают своих соседей и т.д. Рано или поздно о транзакции узнаёт клиент, который умеет генерить блоки и может зафиксировать транзакцию.
Первый этап окончен. Опустив промежуточные звенья, можно сказать так: о транзакции знают клиент-инициатор и клиент-генератор (пул).
2. Пул принимает решение не обрабатывать транзакцию. Вот здесь первый вопрос - означает ли это, что в этом случае пул "забывает" мою транзакцию? Собщает ли он о том, что транзакция им отвергнута и забыта? И кстати, как поступают промежуточные клиенты (не пулы), которые использовались только для ретрансляции транзакции от моего клиента в сеть - забывают и молчат?
У меня аж несколько гипотез:
а) либо какого-то механизма обратной связи нет - и в этом случае возникает ситуация, когда спустя какое то время лишь только мой клиент знает об отвергнутой транзакции и она действительно будет висеть вечно - ведь остальные клиенты и пулы о ней забыли. Но этот вариант какой то некрасивый - клиент считает средства заблокированными и разблокировать их штатно не получится.
б) либо существует механизм оповещения об отказе, а транзакция висит долго потому, что не все еще пулы узнали о транзакции и, соответственно, не сообщили об отказе/принятии к обработке.
в) либо все-таки существует какая-то отложенная очередь и транзакция принята к обработке в принципе, но помещена в "дальний ящик".
legendary
Activity: 1120
Merit: 1069
Если никто о транзакции не знает, значит либо она слишком долго висела у 'этих других' в mempry pool и выкинута как 'попытка флуда', либо по каким то иным причинам она не принята сетью (ошибочные/потраченные входы например).

Алгоритм передачи данных по mesh сети мне не известен, но скорее всего он избыточен, т.е. каждый клиент получив транзакцию:
1. проверяет ее на непротиворечивость в соответствии со своими данными (в т.ч. проверяет, не принял ли он ее от кого то еще)
 - сюда добавляются какие то алгоритмы с оценками, для выявления флудеров и лже-кошельков, которые набирают оценку клиентам и банят их по условию.
2. помещает в свой memory pool
3. и транслирует эту транзакцию всем остальным клиентам, к которым он на данный момент подключен (кошельки за NAT-ом обычно подключены максимум к 8-рым,.. а кошельки соло и пулов майниинга стараются подключиться к сотням клиентам и по возможности ко всем другим пулам)
 - этот момент трансляции для меня под вопросом... рассылается ли транзакция повторно (скорее всего нет), но ничто не мешает иннициировать эту расссылку самостоятельно.
При использовании офф. клиента можно восстановить кошелек из бакапа (копия до создания транзакции) либо отредактировать wallet.dat утилитами вида pywallet и повторно сгерерировать транзакцию.
newbie
Activity: 28
Merit: 0
А с другой стороны, если в конце концов ответят - то все правильно будет. Будет тема, растолковывающая про то,"где они нах"
full member
Activity: 212
Merit: 101
Quote
а заголовок темы убойный вышел :-D
Ага, вопрос без вопросительного знака - самое то...
newbie
Activity: 28
Merit: 0
Сделал транзакцию руками. Без включения комиссии (потому что в порядке эксперимента, да и вся транзакция - 300 мкБиткоин).
Киент (официальный v0.8.1.0-g34d62a8-beta) транзакцию принял. Теперь она висит в неподтвержденных - то есть висит в клиенте, а в сетевых сервисах информации о ней по ID не обнаруживается.
Соответственно, вопрос знатокам на уровне кишков системы - ГДЕ находится эта транзакция сейчас? Перефразируя вопрос - знает ли о ней только мой клиент, или существует некое виртуальное "место" в общей сети биткоин, где кучкуются такие вот транзакции, ожидающие включения в блок?
Следующий вопрос практический: Что с данной транзакцией произойдет дальше?
Перелопачивая инфу, пришел к выводу, что транзакции, при создании которых пожадничали включить комиссию - все-таки включаются в блок, но с задержкой. Но не уверен, что это актуально к настоящему времени. Плюс, не совсем ясен механизм такого отложенного включения - ведь если транзакции с включенной комиссией имеют приоритет - они, образно говоря, при появлении вклиниваются в середину всей очереди на обработку, отодвигая нищебродов назад. При достаточной активности появления новых транзакций нахождение бесплатных транзакций в конце очереди - практически бесконечно.
У меня два варианта развития событий - либо эта транзакция будет "бесконечно" висеть в неподтвержденных, в надежде, что когда-то и до нее дойдет очередь, либо существует некий временной лимит, после которого "заявка на обработку" транзакции будет отменена.
Есть вариант с попыткой повторной траты этих же самых денег - с включением комиссии, чтобы повторная трата получила высокий приоритет и "обогнала" первоначальную зависшую(правда, подозреваю, что тут мне понадобится другой экземпляр клиента - этот запрещает повторную трату уже на этапе создания транзакции). Но тут я тоже не совсем понимаю кишки - ведь конкурентная борьба между двумя тратами одних и тех же денег имеет смысл только в том случае, если обе траты включаются в разные варианты блоков - а здесь, вроде как, никакого включения в блок нет.
В общем, растолкуйте, пожалуйста.
ЗЫ.
ID транзакции (из клиента)
abcdd48f7dbdc355ee917fa5edaec54ce7ecb925282696709d299f736321790e

ЗЗЫ
а заголовок темы убойный вышел :-D
Jump to: