Bitcoin Core - это основное программное обеспечение для работы с блокчейном первой криптовалюты, которое можно использовать как сервер (ноду) или как кошелек. Во времена Сатоши Bitcoin Core был единственным вариантом хранения BTC, но со временем появилось множество других вариантов хранения биткоинов. Но если Вы по старинке все еще пользуетесь Bitcoin Core, то Вам необходимо знать, что с версии 21.0 в Биткоин Кор появились так называемые дескрипторные кошельки, которые в скором времени полностью заменит привычный всем Wallet.dat.
Wallet.dat все еще поддерживается последней версией Bitcoin.Core 29.0, но предупреждает, что этот формат хранения приватных ключей уже устарел и рано или поздно все равно придется переходить на новый формат. Хотя изначально в 2021 году, когда вышла версия 21.0 разработчики Bitcoin Core планировали полностью перейти на дескрипторные кошельки уже в 2023 году.
Чем же так плох Wallet.dat, что его пришлось заменить на новый формат.
В Wallet.dat для каждого адреса (кошелька) храниться собственный приватный ключ, т.е. если Вы используете сразу несколько адресов одного или нескольких стандартов, то для каждого адреса генерируется собственный приватный ключ. На данный момент, к слову, уже существует несколько видов Биткоин адресов: P2PKH, P2WPKH (bech32), P2SH (Segwit), P2WSH, P2TR (Taproot).
Так например если перевести со своего Биткоин кошелька часть суммы, то по умолчанию остатки вернутся не обратно на исходный адрес, а перейдут на новый адрес, так же хранящийся в вашем Wallet.dat. И если Вы заблаговременно не записали приватный ключ к этому новому адресу, то Вы можете потерять доступ к своим Биткоинам НАВСЕГДА. Т.к. записанный приватный ключ даст Вам доступ только к изначальному кошельку, который будет уже пуст.
Собственно из-за этого многие хранят не приватный ключ, а сам Wallet.dat с паролем к нему, что бы не оказаться в подобной ситуации.
Как Вы могли догадаться дескрипторный кошелек решает эту проблему, т.к. зная один дескриптор Вы сможете получить доступ сразу ко всем кошелькам (адресам) независимо от его формата. Что сильно облегчает резервное копирование и восстановление Биткоин кошелька.
Кроме этой насущной проблемы дескрипторный кошелек позволяет так же с помощью скриптов настраивать смарт контракты и создавать мультиподписные BTC кошельки.
Не работает команда importprivkey
Уже сейчас пользователи Bitcoin Core сталкиваются с тем что не работает команда importprivkey для импортирования приватного ключа в Bitcoin Core своего кошелька, т.к. этот формат больше не поддерживается. Что бы импортировать свой приватный ключ в современные версии Bitcoin Core нужно использовать дескрипторные команды:
importdescriptors '[{ "desc":"pkh(PRIVATE_KEY)#CHECKSUM", "timestamp":0 }]'
importdescriptors '[{ "desc":"wpkh(PRIVATE_KEY)#CHECKSUM", "timestamp":0 }]' для Bech32 формата
CHECKSUM генерируется с помощью команды:
getdescriptorinfo
Проверить какие кошельки были импортированы с помощью команды:
listreceivedbyaddress 1 true
Команда Migratewallet
Если Вы хранили не приватный ключ, а файл Wallet.dat, то для перехода на новый формат можно использовать команду: migratewallet
bitcoin-cli migratewallet ("new_wallet_name") (bech32)
Если ваш Wallet.dat защищен паролем, то сначала нужно его разблокировать:
bitcoin-cli -rpcwallet=old_wallet walletpassphrase "your_password" 300
С помощью этой одной команды все ваши средства переведутся на новый адрес формата bech32 (bc1q), при этом за перевод нужно будет заплатить комиссию сети.
Файл Wallet.dat после перехода на дескрипторный кошелек переименовывается в Wallet.dat.bak
Вывод: Развитие Bitcoin не стоит на месте как это может показаться с первого взгляда и иногда инновации затрагивают даже такие базовые вещи как способ хранения приватных ключей, о котором важно знать всем кто использует Bitcoin Core в качестве кошелька. Переходить на дескрипторный кошелек сейчас решать только Вам, т.к. все средства будут переведены на адрес формата Bech32 с которыми могут не работать некоторые кошельки, сервисы или биржи.
Для новых пользователей рекомендуем использовать сразу новый формат хранения приватных ключей, но про Legacy формат кошельков тоже следует знать как он работает.