Jump to content

Вышел Bitcoin Core 0.12: последние доработки перед броском


Recommended Posts

Posted
240216_vishel-bitcoin-core-012_1_8f887a4
 

Команда разработчиков Bitcoin Core сделала подарок на 23 февраля российским биткойнерам. Впрочем, они вряд ли подозревают об этом. Несколько часов назад вышел новый большой релиз официального клиента Bitcoin Core 0.12.0. Конечно, он никоим образом не касается недавно принятого плана работ по внедрению Segregated Witness и хардфорка по размеру блока.

 

В новый релиз вошли плановые нововведения и устранение багов. С другой стороны, его можно считать и "подчищением хвостов" перед начинающимися большими работами: первую версию клиента с функциональностью Segragated Witness команда Core обещает выдать уже в апреле, то есть у них остается на это меньше двух месяцев.

 

Что нового в релизе 0.12

 

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

 

Ограничение mempool

 

Так называемый "mempool" представляет собой пул неподтвержденных транзакций, которые собирает через одноранговые подключения каждый полный узел Биткоина. Эффективно его используют только майнеры, которые "упаковывают" транзакции в блоки, все остальные узлы просто их пересылают, время от времени удаляя из пула старые записи. Неограниченный mempool может просто занять всю доступную память и "подвесить" компьютер с кошельком. В Bitcoin Core 0.12 размер "пула памяти" был жестко ограничен 300 мегабайтами.

 

Обрезка блокчейна

 

Одна из самых ожидаемых функций для домашних пользователей, ограниченных в ресурсах процессора и жесткого диска. На данный момент полный блокчейн, без учета служебных файлов, занимает 55 Гб, и в течение года его размер может удвоиться, даже без увеличения размера блока. В Bitcoin Core 0.12.0 у пользователя наконец появилась возможность выбрать максимальный объем, который блокчейн будет занимать на его жестком диске. Блоки могут быть удалено после того, как клиент их проверит.

 

Минимально допустимый объем для хранения установлен в 2 Гб. Такой кошелек, хотя и будет номинально считаться полным узлом, уже не будет хранить весь блокчейн. Однако, для многих пользователей такой вариант станет хорошим компромиссом.

 

Ограничение исходящего трафика

 

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

 

 

 

Читать полностью

Posted (edited)

Для тех, кто занимается разработкой: полный список изменений здесь - https://github.com/bitcoin/bitcoin/blob/v0.12.0/doc/release-notes.md - очень много различных изменений в RPC.

 

Также скопирую своё сообщение из соседней темы, потому что информацию важно знать тем, кто принимает платежи:

 

RBF и лимит mempool ведёт к тому, что если большинство майнеров перейдёт на 0.12, то двойные траты неподтверждённых транзакций станут очень простыми для обычных пользователей. Как я и говорил ранее, по факту Core усложняют жизнь тем, кто принимает моментальные платежи без подтверждений.

 

Поэтому, если кто-то принимает транзакции без подтверждений, очень внимательно смотрите на:

 

а) Поле sequence во входах - если оно меньше, чем uint4max (4294967295), то ждите, пока транзакция не попадёт в блок (это из-за RBF). Я проводил анализ - за последние два месяца в транзакциях в блоках, в отличие от того, что было раньше, очень много транзакций с меньшими значениями sequence. За этим очень важно следить, потому что увеличить sequence и поменять получателя транзакции теперь сможет каждый. Некоторые кошельки уже собираются в ближайших релизах выводить всё красеньким, если транзакция не финальна;

 

б) Комиссию транзакции. Понятно, что и раньше транзакции с околонулевой комиссией выпадали из-за minrelaytxfee, но теперь в пиковые моменты нагрузки на сеть из mempool могут вываливаться транзакции и с куда большими комиссиями. По умолчанию лимит на память установлен в 300 Мб и вышибаются транзакции с минимальными комиссиями при приближении к лимиту. У меня на одной из нод, где я начал тестировать 0.12 до релиза, и которая уже давно работает в режиме 24/7, сейчас из этих 300 Мб используется 246 (пишут, что часто всё-таки выходит за 300). Здесь конечно вектор уже посложнее чем с RBF, тут нужна высокая нагрузка на сеть и нужно очень тонко подбирать комиссию, но это не отменяет того, что этот вектор существует. Кому интересно подробнее, почитайте статью https://medium.com/@CoinCadence/the-creation-of-a-secondary-fee-market-maxmempool-2531be78a28a#.x5y81usoz (там очень хорошо объяснено и то, как экономически такие новые лимиты влияют на Биткоин).

 

Хоть и Replace-by-fee может быть полезной функцией для отправителей, у которых застревают транзакции, для получателей без подготовки она опасна.

Edited by Har01d
Posted

Хоть и Replace-by-fee может быть полезной функцией для отправителей, у которых застревают транзакции, для получателей без подготовки она опасна.

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

Posted

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

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

 

P.S. И вообще я очень сомневаюсь в глобальной полезности этой функции. По сути - это аукцион за место в блоке, который будет вышибать пользователей из Биткоина (кстати, я бы снизил вашу оценку в "миллионы" на порядок - у Биткоина нет такого количества активных пользователей). На мой взгляд, куда проще увеличить лимит на размер блоков, разрабатывать параллельно off-chain решения, в общем - заниматься масштабированием, а не созданием таких вот "кто больше заплатит - тот и попадёт" схем.

Posted

У кого нибудь получилось размер кошелька уменьшить? не нашел в строке отладки обещанный "prune". Или не там ищу?

Posted (edited)

У кого нибудь получилось размер кошелька уменьшить? не нашел в строке отладки обещанный "prune". Или не там ищу?

 

это не в консоли. Запустите кошелек с этим параметром, можно ярлык отредактировать. Всё работает. Пишут что минимальный размер 2Гб, я пока поставил 30Гб.

 

post-24705-0-87177500-1456319667_thumb.pngpost-24705-0-90348900-1456319755_thumb.png

Edited by hardsign
Posted

Только это нужно делать с уже синхронизированной базой, если нужно чтобы локальный кошелек остался работать. Так как изначально prune исключал возможность использования wallet.dat . Сейчас использование возможно, но импорт нового приватного уже не получится в prune mode, так как при импорте проверяется весь блокчейн и считаются входы и выходы.

 

Также prune (как и другие опции) можно прописать в bitcoin.conf файле.

 

prune=4096 работает как и должно еще в 0.11.2, но свежую версию с кошельком не проверял.

Posted (edited)
а не созданием таких вот "кто больше заплатит - тот и попадёт" схем.

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

 

слишком много косвенных последствий от ЛЮБОГО шага - не предугадаешь все =))

 

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

Edited by commodore64
Posted (edited)

Только это нужно делать с уже синхронизированной базой, если нужно чтобы локальный кошелек остался работать. Так как изначально prune исключал возможность использования wallet.dat . Сейчас использование возможно, но импорт нового приватного уже не получится в prune mode, так как при импорте проверяется весь блокчейн и считаются входы и выходы.

 

Также prune (как и другие опции) можно прописать в bitcoin.conf файле.

 

prune=4096 работает как и должно еще в 0.11.2, но свежую версию с кошельком не проверял.

Спасибо! На маке немного геморнее получилось, но сработало! ( 0.12 версия кошелька)

post-28142-0-83056100-1456387945_thumb.png

Edited by stikko
Posted

Нужно писать не в консоли, а  в конфиге или в параметрах командной строки.

Нет никакого смысла ставить 30 Гб, так как база будет уже порезана.   4 Гб более чем достаточно с запасом.

 

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

Конечно, подразумевается что вы его сохранили :)

Posted

после не продолжительного времени кошелек свернулся на панель и больше не хотел открываться, никак вообще, удалял и переустанавливал - толку 0, как быть, что делать? 

Posted

Привет!

Знает ли кто нибудь способ обновить кошелек сохранением адресов?

 

У меня установлен кошелек версии BitcoinOfficial0.9

Полностью скачана вся база. Размер ее 65 гигов.

КАк теперь обновить кошелек, чтоб 1) База была 4 гига только. и 2) чтобо стались мои кошельки

Posted

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

 

слишком много косвенных последствий от ЛЮБОГО шага - не предугадаешь все =))

 

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

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

 

В блок помещается около 2.500 P2PKH/P2SH транзакций, а если говорить про более сложные скрипты (например, те, что планируются для открытия/закрытия каналов в Lightning) - это, думаю, около 1.500. Тут не так важны точные цифры, как важен их порядок. Segregated Witness даёт некоторую скидку, но в пределах порядка.

 

Уровень обеспечения безопасности сети измеряется не в каких-то терахешах или попугаях, а только в стоимости этих попугаев. До того момента, как награда упадёт почти до нуля, остаётся не так много времени. Если через 10 лет мы считаем, что уровень безопасности должен быть хотя бы таким же, каким он является сейчас, нужно, чтобы выбывшие 22 биткоина награды заняли комиссии.

 

Исходя из простых математических расчётов получаем около (более) 0,01 биткоина за транзакцию, т.е., по текущим ценам, минимум $4,2. И это, ещё раз, если мы не хотим, чтобы за 10 лет не выросла ни цена на биткоин, ни уровень безопасности сети. Если он вырастет, например, в 5 условных раз, то цена будет $2.000, а стоимость транзакции - $20. Но тут возникает вопрос - а действительно ли кому-то будет нужна такая защищённая сеть с 20-баксовыми транзакциями?

 

Тут варианта два - либо оставлять блоки маленькими и получить мало транзакций с огромными комиссиями, либо увеличивать блоки и получить много транзакций с маленькими комиссиями. В первом варианте безопасность сети будет зависеть от стоимости комиссий, во втором - от размера блоков. Сейчас полным ходом идёт развитие первого варианта, и надо понимать, что делается это вовсе не для простых пользователей, а для корпоративных структур (никакой обычный пользователь не будет платить столько за транзакции, его полностью выдавят в off-chain). С другой стороны, последнее время я всё больше думаю, что при первом варианте дело просто закончится тем, что Биткоин проиграет, потому что он находится на крайне высококонкурентном поле.

Posted

prune можно прописать в bitcoin.conf

 

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

 

кроме того, уже второй раз (на новой версии кошелька с обрезанной базой) после отправки битков получаю таку красоту на blockchain.info - "Transaction rejected by our node. Reason: The transaction is not final". при том что на принимающей стороне транзакция уже видна

 

вот и чешу репу - не откатиться ли на 0.11 с полной базой

Posted

@Tenchi, у меня вчера точно такое же было, минут 30 в блокчейне не было видно транзакции, потом появилась с высоким приоритетом и подтверждалась 9 часов, в 11 версии это занимало не больше часа, база полная не обрезанная 

Posted

следующий раз попробую с 0.12 на необрезанной базе, благо сохранил полный блокчейн на серваке

 

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

Posted
Еще одной интересной новинкой стала возможность замены транзакции на аналогичную, но с более высокой комиссией. На данный момент из-за высокой загрузки блоков, транзакции с низкой комиссией могут надолго зависать без подтверждения. Теперь пользователь может на локальном кошельке "отменить" ранее отправленную транзакцию и создать новую с тех же входов, но с более высокой комиссией. При этом, кошельки с версией 0.12 не будут воспринимать это как попытку даблспенда, а просто заменят в своих пулах транзакций старую запись на новую. Эта функция названа opt-in replace-by-fee. Правда, это делает операции с неподтвержденными транзакциями еще более рискованными. Процессорам, которые обрабатывали платежи в биткоинах без подтверждения, придется корректировать свою политику.

Вопрос к знатокам: как на практике воспользоваться данной функцией? Есть какая то консольная команда? 

Кстати, сейчас если отправлять перевод с версии 0.12 и транза еще не включена в блоки, в блокчейне ее нет и появляется сообщение типа "Транзакция была отвергнута нашим нодом, т.к. не является финальной". Запись появляется в блокчейне только когда транза имеет 1 подтверждение. Это исключительно на версии 0.12, в старых релизах Коре все по старинке. 

Posted

@Tarik, это появляется если комиссия мала, проходит через 30 минут и более, если комса как минимум 0,0005 то видно запись, вот тут можно посмотреть какую лучше комиссию добавлять https://www.blocktrail.com/BTC  -  Optimal Fee / Kb

Posted

@Tarik, это появляется если комиссия мала, проходит через 30 минут и более, если комса как минимум 0,0005 то видно запись, вот тут можно посмотреть какую лучше комиссию добавлять https://www.blocktrail.com/BTC  -  Optimal Fee / Kb

У меня комиссия большая, выше рекомендуемой в 2 раза

0.0002 за 260 байт, в кошеле стоит 80 тыс сатош за 1 Кб.

 

И подверждается мгновенно такая транза за пару минут и тут же на блокчейне появляется. Так что тут проблема в другом.

 

По замене транзакции в 0.12 кто подскажет?

Posted

Парни подскажите, что за ерунда в папке roaming нет вообще ни каких данных по биткоину ни wallet.dat ни базы блоков. Старый Wallet.dat не знаю куда пихнуть для синхронизации. Блоки загружались дня 4 не выключая комп. Попробывал переустановить клиент и снова такая же фигня ни чего нет, но при запуске клиента уже не загружает блоки. На жестких дисках занятости памяти хоть на ГБ не заметил. Куда они установились черт его знает. Подскажите пожалуйсто.

Posted

Парни подскажите, что за ерунда в папке roaming нет вообще ни каких данных по биткоину ни wallet.dat ни базы блоков.

Помощь -> Окно отладки -> кнопка "Открыть".

Откроется debug.log, в нём сделать поиск "Using data directory" (без кавычек!).

В найденной строке будет путь к папке с базой данных и рабочему wallet.dat.

Posted

Нубский вопрос.


Какой ключ нужно прописать для обновления клиента до версии 0.12.0?


Posted

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

 

В блок помещается около 2.500 P2PKH/P2SH транзакций, а если говорить про более сложные скрипты (например, те, что планируются для открытия/закрытия каналов в Lightning) - это, думаю, около 1.500...

Где-нибудь на русском можно прочитать про разные типы (P2PKH/P2SH) транзакций?

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

    • Курс Bitcoin (только про Bitcoin)

      В данной ветке предлагаю вести обсуждение курса Bitcoin Общее обсуждение курсов криптовалют происходит в топике Курсы криптовалют  Также у нас есть ветка по обсуждению "справедливого курса" Bitcoin     Несколько полезных инструментов для отслеживания курса: bitcoin.clarkmoody отображает стакан Mt.Gox и строит в реалтайме японские свечи bitcoinchain сравнение курсов на разных биржах на одном графике bitcoincharts курсы на различных биржах в табличном представлении  

      in Биткоин

    • Компания American Bitcoin объявила о покупке биткоинов на $163 млн

      Компания American Bitcoin, сооснователем которой является сын американского президента Эрик Трамп (Eric Trump), сообщила о приобретении 1414 BTC на сумму $163 млн. После сделки совокупный объем активов компании увеличился до 3865 BTC. По словам исполнительного председателя American Bitcoin Эшера Дженута (Asher Genoot), добыча первой криптовалюты позволяет создать конкурентное преимущество в сравнении с фирмами, приобретающими монеты только на рынке. Это обеспечивает устойчивость бизнес-моде

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

    • Основатель Bitcoin.com Роджер Вер заплатит Налоговой службе США $50 млн

      Основатель компании Bitcoin.com Роджер Вер (Roger Ver), получивший прозвище Биткоин-Иисус за продвижение криптовалют, согласился заплатить Налоговой службе США (IRS) $50 млн, чтобы урегулировать ее претензии и прекратить уголовное дело. Исполняющий обязанности федерального прокурора США Билл Эссейли (Bill Essayli) заявил, что Роджер Вер признал ответственность за свои действия и согласился выплатить полагающуюся американским властям задолженность по налогам. Эссейли предупредил, что прокура

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

    • В управлении iShares Bitcoin Trust оказались рекордные суммы — Ларри Финк

      Гендиректор BlackRock Ларри Финк (Larry Fink) в интервью каналу CNBC объявил, что сумма активов в управлении принадлежащего его компании спотового биржевого фонда iShares Bitcoin Trust (IBIT), привязанного к биткоину, превысила $100 млрд. Рекордная сумма была достигнута менее чем через два года после запуска биткоин-фондов в США. Сейчас крупнейший в мире управляющий активами владеет 804 944 биткоинами, которые оцениваются в $89 млрд. На прошлой неделе, когда биткоин достиг исторического м

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

    • Компания Block Джека Дорси запустила криптокошелек Square Bitcoin

      Платежная компания Block, основанная создателем Twitter Джеком Дорси (Jack Dorsey), представила новый криптокошелек Square Bitcoin, предназначенный для небольших компаний, использующих систему Square POS. С 10 ноября продавцы смогут принимать платежи в биткоинах и конвертировать до половины своей ежедневной выручки в BTC. Через панель управления Square, продавцы смогут самостоятельно управлять своим встроенным кошельком для хранения, торговли и вывода средств. Однако эта опция доступна толь

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

×
×
  • Create New...