Получить деньги обратно от неправильного префикса адреса

Как правило, p2pkh адреса производит Base58(префикс+ PublicKeyHash + контрольная сумма), и префикс имеет значение 0х00.

А вдруг, случайно, префикс имеет значение 0x05, то префикс адреса становится 3, который становится p2sh адрес.

И, к сожалению, некоторые БТЦ уже посылает на 3 префиксом адрес, что я могу провести остаток при условии, что я собственный закрытый ключ?

Самое плохое здесь заключается в том, что я создал слишком особый тип оплаты для скрипта:
чтобы быть конкретным, <OP_HASH160> <ScriptHash> <OP_EQUAL> в ScriptHash является hash160(открытый ключ). Есть ли способ, чтобы подписать такой сценарий?

+914
incom 21 февр. 2016 г., 8:08:01
25 ответов

Биткоин-адресов может быть создан в любом месте с любым языком программирования. они просто как результат 1 + 1 = 2.

если вы ищете функцию они используют для получения нового адреса здесь вы идете: https://github.com/bitcoin/bitcoin/blob/4ad3b3c72c73d61e0a0cab541dca20acf651320d/src/wallet/rpcwallet.cpp#L135

Когда вы делаете вызов RPC 'getnewaddress', что функция будет вызываться, адреса и ключи уже сгенерированы (keypool) и сохранены в бумажник.дат файл.

+942
dkocich 03 февр. '09 в 4:24
  1. Если у вас есть 10 биткоин, и платить Алиса 9, то 9 будет невозможно использовать какой-либо из сторон до того, как сделка была подтверждена, их Алиса сможет использовать 9 биткоин.

    Поскольку вы только отправили 9, у вас еще есть 1 биткоин в свой аккаунт, который будет практичным и доступным, независимо от того, если сделка 9 биткоин не были подтверждены или нет.

  2. Я не уверен, что вы имели в виду второй вопрос, но blockchain.info есть многие объяснения, как использовать и изменять и импортировать кошелек адреса и другая информация здесь. Вы также можете посмотреть более подробную информацию, если это необходимо.

  3. Иерархической детерминированной кошелек-это только кошелек, который вы можете выполнять резервное копирование и восстановление с мнемосхемой, используя 12 распространенных английских слов. Если вы нажмете "средства резервного варианта", вы можете хранить эти слова в дальнейшем восстановить свой кошелек, если вы его потеряете или др. К вашему сведению, в магазинах бумажник все адреса у вас было раньше, поэтому, когда вы резервное копирование вашего кошелька вы резервное копирование всех ваших адресов на одном аккаунте

  4. Нет, если вы бежите из Bitcoin на свой "холодный" кошелек, вы не будете иметь ничего, чтобы "долить" на. Если вы решили отправить 9 Bitcoin на Элис и пополнить ваш 1 дополнительный БТД достигнет 10, то зачем вам делать 2 отдельных сделок, одна из кошелька и от холода кошелек? Разве вы не хотите просто делать сделки 1 из 10?

Счастливый Bitcoining

+927
Vladimir Zolotov 5 июн. 2018 г., 17:27:31

Добавление к моему комментарию выше, ниже код Scala разобрать весь блокчейн bitcoind и экстракт сырых блоков. Он использует библиотеку Bitcoinj.jar для дальнейшего анализа сырьевой блок.

Блоки хранятся в файлах blkxxxxx.дат. Структура файла выглядит следующим образом:

4 | 4 | 80 | TxData| 4 | 4 | 80 | TxData| 4 | 4 | 80 | TxData | ...
  • Первые 4 байта: магия байт (идентификация сети)

  • Вторые 4 байта-количество байт, оставшихся блока

  • Следующие 80 байт: сам заголовок блока

  • Следующий NumBlockBytes - 80 байт: данные транзакции в этом блоке [ numTx | Тх1 | Тх2 | Tx3 | ... ]

В моей системе, мне удалось перебрать все файлы (1000+) в течение 4 часов (без проверки или обработки блока байт, просто манекен код ниже). Там было около 140 ГБ данных на Blockchain в то время. Возможно, некоторые гуру Scala может сделать это быстрее.

Интересно, что когда я была синхронизация bitcoind впервые, он закончил в течение 6 часов, который включает в себя скачивание и проверка блоков. Так что это будет быстрее в C++.

Также вы будете иметь дело с детьми-сиротами.

импорт Java.Ио._
импорт Java.НИО._
импорт скала.коллекции.Мутабельный.Буфер ArrayBuffer
импорт орг."Апач".общин.Ио.Пакета fileutils
импорт орг.bitcoinj.ядро._
импорт орг.bitcoinj.параметры._
импорт скала.коллекции.JavaConversions._

объект утилит {

 // Используется неявно для закрытия файлов 
 деф, используя[а <: {деф закрыть(): блок}, Б](парам: а)(ф: А => Б): б = попробовать { Ф(парам) }, наконец, { парам.закрыть() }

 // это метод, который на самом деле разбирает файл
 деф parseFile(имя:строка) = { 
 Системы.ГХ // больших файлов (около 140 МБ каждый, нужно очистить память)
 используя(новый FileInputStream(имя)) {ФИС =>
 используя(новый BufferedInputStream(ФИС)) {бис =>
 ВАР currBlkByte = -1 // какой байт сырого блока мы читаем?
 ВАР currBlk = 0 // который в настоящее время блок читается?
 currBlkSize ВАР = -1л // каков размер блока (в байтах)
 ВАР endBlkByte = -1 // которых является окончание байт из текущего блока?

 blkSizeBytes Вэл = новый буфер ArrayBuffer[байт] // хранит байты, содержащие сведения о размере блока 
 blkBytes Вэл = новый буфер ArrayBuffer[байт] // хранит байты блок

 Поток.постоянно(бис.читать).takeWhile(-1 !=).по каждому элементу{инт =>
 currBlkByte += 1 
 Валь байт = инт.toByte 
 // игнорировать первые 4 байта (магия байт), следующие 4 байта-магазинах предстоящей блока размером в прямом порядке байтов
 если (currBlkByte >= 4 && currBlkByte < 8) blkSizeBytes += байт
 если (currBlkByte == 7) { // этот байт-это размер последней кодировки блока 
 currBlkSize = ByteBuffer.обертывание(blkSizeBytes.метод toArray).приказ(ByteOrder.LITTLE_ENDIAN).для данного locale & 0xFFFFFFFFL; 
 endBlkByte = currBlkSize.toInt + 7 // первые 8 байт для информации, остальные кодировки блока
 blkSizeBytes.четкий // ясно для следующего блока
}
 если (currBlkByte > 7) blkBytes += байт // блок данных 
 если (currBlkByte == endBlkByte) { // мы дошли до конца блока
 // последний блок байт
 currBlk += 1 // увеличение числа блоков
 currBlkByte = -1 // сброс
 endBlkByte = -1 // сброс
 parseBlk(blkBytes.метод toArray) // у нас есть блока в байтах, позволяет разобрать его
 blkBytes.очистить // сброс
 } 
}
}
}
}

 Вэл контекст = новый контекст(MainNetParams.получите) // необходимых для Bitcoinj в 0.13 и выше

 деф parseBlk(байт:массив[байт]) = { // используется Bitcoinj 
 новый блок(MainNetParams.вам, байт).getTransactions.команда foreach {ТХ =>
 вал хэша = ТХ.getHashAsString
 Вэл входов = ТХ.getInputs
 выходы Вэл = ТХ.getOutputs
 // сделать что-то с выше
}
}
 деф getAllFiles(реж:строку, расширения:массив[строка], рекурсивный:логическое) = 
 Пакета fileutils.файл-список(новый файл(реж), расширения, рекурсивный).метод toArray.карте(_.метод toString)

}
импорт здесь_.

BlockParser объекта {
 Вэл Дир = "/главная/пользователя/.биткоин/блоков"
 //файлы имеют имена, как blk00000.дат ..., blk01096.дат (последняя на момент написания)
 Валь файлов = getAllFiles(реж, массив("дат"), ложь).собираем {
 имя, если имя.содержит("БЛК") => // собирать только те файл с имена как "blkxxxxx.дат"
 Вэл Нум = имя.падение(с"каталог$dir/чер".размер).сдавать(5).toInt // (принять 5 основан на реальных именах файлов)
 (имя, число) 
 }.sortBy(_._2).распаковать._1 // сортировка по номер файла 

файлов.еогеасп(parseFile)
}
+906
lhagan 13 февр. 2012 г., 12:40:01

Это может быть проблема:

Как мой Zebpay кошелек обеспеченные?
"[...] Zebpay представляет собой биткоин-кошелек. Это частная ключи от ваших биткоинов с Zebpay. Мы управляем безопасности вашего кошелька. [...]"

Единственный способ получить свой ЛТК связаться Zebpay и состояние вашей проблемы:
https://zebpay.zendesk.com/hc/en-us/articles/205420211-Contact-Us

+905
Italiano 6 июн. 2017 г., 3:43:58

Сатоши в основном по имени Гэвин проекта, поставив его контактная информация на bitcoin.org, дав ему копию ключа оповещения, давая ему контроль над проектом на SourceForge и т. д. Не у многих людей есть проблема с этим, так как Гэвин проделала большую работу. Я не думаю, что кто-то еще в биткоин-сообщества могли бы сделать лучше.

Гэвин не иметь эксклюзивный контроль над многими активами, поэтому развитие может продолжаться без особых проблем, если он исчезнет без "назначения преемника". Релизы уже сейчас могут быть созданы и опубликованы на bitcoin.org без Гевина. bitcoin.org и биткоин форум принадлежит Сириус, не Гэвин. У меня есть копия ключа оповещения.

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

+866
nizaamir 3 сент. 2012 г., 11:05:00

Блок 138725

Сделки 930a2114cdaa86e1fac46d15c74e81c09eee1d4150ff9d48e76cb0697d8e1d72

+839
zzh1996 13 авг. 2017 г., 3:27:56

Так что я думаю ответ "да, узлы принимают фильтров Блума, потому что фильтрация не сделать существующие DoS-атак хуже и не вводить никаких новых атак".

+802
mirat126 8 мар. 2019 г., 3:30:12

потому что число поддерживающих бассейнов является постоянным

а процент рассчитывается последних 2016 блоков после начала сигнализации

+772
Sean Hollender 12 мар. 2012 г., 23:56:32

У меня есть интернет-магазин, где пользователи могут платить с помощью Bitcoin. Я хотел бы их послать общую сумму они должны выплатить в QR-код. Оттуда, отправленные монеты должны быть перераспределены на два разных адреса-кошелек на 90%:10% соотношении. Как я могу это сделать?

+736
givanse 4 дек. 2014 г., 19:37:11

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

+726
doitjay 24 окт. 2016 г., 6:20:53

Я читаю о SegWit и бип 141 , в частности, и я не понимаю, что такое мотивация P2SH вложенности.

Сначала я думал, что P2WPKH не действует на non-обновленные узлы, так P2WPKH вложенные в P2SH способ, чтобы сделать это мягкой вилки (с P2WPKH используется только после обновления всех узлов). Но, как я искал в определение P2WPKH я пришел к заключению сделки ANYONE_CAN_SPEND на старых узлов.

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

+637
Kars 7 янв. 2018 г., 5:23:19

Я новичок в этом API. В новом blockchain.info API, существует местная служба запущена, и мы можем создать кошельки. Но как использовать этот API, чтобы проверить баланс и совершать платежи, используя существующие blockchain.info кошелек. Спасибо.

+511
Cosmic Ossifrage 30 апр. 2018 г., 6:45:24

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

http://www.newscientist.com/article/mg21328476.500-bitcoin-online-currency-gets-new-job-in-web-security.html

По статье:

Пара использовала метод, известный как CommitCoin, чтобы закрыть лазейку в системе голосования они помогли разработать. В Scantegrity система, избиратели получают код подтверждения из списка, который криптографически связан с выбранным кандидатом и может быть использовано для проверки на избирательном сайте, что их голос учитывается.

+502
Lisa Gatlin 1 февр. 2014 г., 13:01:56

Со стандартным биткоин установка ядра под Window 7, каталог данных находится в разделе:

{Пользователь}\Папка AppData\Роуминг\Биткоин

Биткоин.conf файл, содержащий строку "тестовом режиме=1" идет.

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

Используйте эту процедуру для изменения расширения, и ваш Bitcoin.файл conf следует читать:

http://www.ehow.com/how_8134776_delete-file-extension-windows-7.html

+483
user56674 26 окт. 2012 г., 23:51:13

Это уже, по сути, портативный. Просто:

  • Скачайте и распакуйте zip-пакет.
  • Работать с Bitcoin-Qt с аргументом -переменной datadir=.
+450
spb 13 июл. 2019 г., 2:34:32

Здравствуйте, когда ядра биткоин кошелек загрузке показывает: биткоин основной версии 0.14.2. Когда кошелек загружается, заголовок по-прежнему ядра биткоин кошелек. но об этом показывает версию Qt 5.7. Я не пользовался кошельком с 2017 года, и я уверен, что я использую правильный пароль (записал), но пароль не работает. Благодарен за любые предложения и помощь.

+354
Torstein Opperud 28 нояб. 2016 г., 1:11:04

Адрес БТЦ вы перевели монеты, он принадлежит вам или binance? Если это твое, то вы можете быть в состоянии восстановить его без необходимости binance.

+271
mesmerize 4 апр. 2010 г., 10:16:06

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

Допустим, у меня есть этот простой кодированием называется кодирование Base4. В моей кодирования:

0->а
1->Б
2->с
3->Д
Если у меня число 134 (1000 0110 или 0x86) и я хочу, чтобы закодировать ее в Base4, то, что я делаю это раз делим на 4 и использовать кодировку. Вот так:

134 / 4 = 33 остаток 2 -> с
/
-------
|
 33 / 4 = 8 остаток 1 -> Б
/
-------
|
 8 / 4 = 2 остаток 0 -> а
/
-------
|
 2 / 4 = 0 остаток 2 -> с

Поэтому Base4 кодировки для этого байта будет "CABC". Биткоин делает то же самое, но через 58 числа, а не 4, и имеют различный характер для каждого. Персонажи выбраны в кодировке Base58 просто, чтобы избежать путаницы, когда люди транспонирует ключ. Например, нет я герой, потому что уже есть 1 персонаж, и может быть очень легко спутать.

Есть еще одна вещь, которая немного сложнее. Если бы я был кодирования данных 0x0086, я, возможно, захотите кодирования незначительно отличаться от приведенных выше кодировки для 0x86, чтобы показать, что у меня был лишний 0х00 байт в начале. Для этого все, что вам сделать, это добавить дополнительную информацию в левой стороне кодирования. Так, в нашем Base4, 0x0086 кодируется как ACABC. Аналогичным образом от 0x0000 0086 кодируется как AAACABC. В стандартный биткойн-адреса, версии байта префикса 0х00, 0х00 и кодируются как 1, так что адреса всегда начинаются с 1.

+263
Nicolas Henin 29 дек. 2018 г., 16:07:51

Я думаю, что процесс добыча с использованием стохастической выборке из большого набора данных будет соответствовать требованиям, которые вы наметили. Блокчейн даже предоставляет большой набор данных для этого. Например, давайте говорить друг извращенец требует от вас случайно образца блокчеин, чтобы выделить несколько байт. Так как вы используете много идиотов, в то время как добыча и не мог предсказать, какие данные вам нужно из цепочки блоков, вы в основном должны иметь всю цепочку блоков (публично согласованный набор данных, на самом деле), доступный в то время как добыча. Тогда решение может быть проверена с небольшую выборку из набора данных и некоторые доказательства того, что данные в наборе. При использовании блокчейна пример, вы, вероятно, нужна цепь блока заголовков и Меркле филиал для выбранных данных транзакций.

Другой способ сделать это было бы использовать большие случайные Меркле дерево. Допустим кто-то создал дерево Меркле из 2^31 32 байта случайных значений. Принимая во внимание, что Меркле ветви должны быть сохранены так же, это (1 + 2 + 2^2 + 2^3 + ... + 2^31) * 32 байт, или (2^32-1)*32 ~= 137.4 ГБ данных во всех. Эти данные публично доступны для тех, кто действительно хочет скачать и проверить Меркле корень. На мерклый корень будет известен как горный корень меркла, и это хорошо известен и согласован постоянной. Добыча включает выборку случайным Меркле дерева и хеширования, а также найти успешное решение, филиала Меркле дерево при условии, доказывая, что данные, которые были отобраны на самом деле в публично согласованы дерево Меркле.

В этой схеме, она занимает ~137.4 ГБ памяти в шахту, но только ~1 кб данных, чтобы подтвердить решение против публично согласованы добыча Меркле корень.

И цифры, очевидно, может быть изменен здесь, чтобы позволить людям добывать, не давая 137.4 ГБ своего жесткого диска. Баланс должен быть достигнут.

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


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

http://www.hashcash.org/papers/momentum.pdf

Соответствующее bitcointalk обсуждение алгоритма импульса:

https://bitcointalk.org/index.php?topic=313479.0

Я думаю, что это смешно, как 'импульс' аспект (не будучи в состоянии обновить Меркле после создания) рассматривается как определяющая характеристика алгоритма, хотя на самом деле это довольно существенный минус, задерживая подтверждения всех операций в 1 квартале. Оно также может усугубить проблемы, где рудокопы не хотят добывать крупные блоки, потому что они быстро распространяются. т. е. это может быть более выгодно, чтобы продолжить добычу с ваших крошечных блок даже после того, как вы слышали про новый блок в сети, потому что обороты у вас уже есть делает его легче. Я думаю, тот факт, что алгоритм биткоина PoW не иметь любой импульс-это на самом деле отличная функция, позволяет совершать сделки с быстро подтвердили.

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

+236
david van brink 9 мая 2012 г., 15:27:21

Это не ответ на ваш вопрос, но альтернативный способ.

Где я живу я могу получить карточки в банкомате бесплатно (без годовой платы), но с снять плату, если за рубежом ($5?). Я транфер этой карты и ее кода в относительный, что нужны деньги (я принес его со мной, когда я посетил в прошлый раз); это, скорее всего, не утверждена/юридические с точки зрения банка.

Теперь родственник может получить ~200 $(максимальная сумма вывода за снятие) за ~$5, а "сбор" в размере 2,5%.

+184
abla 4 июл. 2010 г., 9:46:31

У меня была небольшая сумма в BTC до развилки на мой Blockchain.info кошелек. Я получил ту же сумму в ВСН пост вилкой. До тех пор, пока блокчейн начал принимать ВСН в главной панели (ноябрь 2017?), Я использовал, чтобы быть в состоянии видеть мой баланс ВСН в меню настроек. После блокчейн принимая ВСН на главной панели управления, мой баланс ВСН, кажется, исчез из меню настроек. Я отправил билет на Blockchain и не было ответа в 2 недели.

Кто-нибудь еще с этой проблемой? Любой идеи, как получить мой МПБ?

Спасибо

+170
O Hi 8 окт. 2013 г., 22:39:53

Я знаю, что максимальный размер транзакции для блока составляет 250 000 байт. Мой вопрос немного отличается.

Что такое рекомендуемый размер сделки для лучший выбор сделки бассейны? К примеру сказать, у меня есть 500 000 байт транзакции для отправки по сети. Как я кусок этих сделок? 50,000 байт сделки? 10,000 байт операции?

+160
Nirav Sheth 11 июн. 2011 г., 8:04:32

Мне нужно, чтобы захватить и хранить необработанные транзакции через мой локальный полный узел биткоин экземпляр. Я читал здесь , что это возможно, но нет никакого упоминания о конкретных вызовов RPC. Я также вижу сырьем, операции с JSON-RPC в АПИ, но все равно не понятно, как использовать это, чтобы периодически запрашивать необработанные транзакции.

Похоже, биткойн-Нюхач (написанный на Python) - это то, что я пытаюсь сделать и нужно, и поскольку я с помощью Java, кажется, bitcoinj на самом деле может прослушивать входящие транзакции, но я не вижу примеров кодов, как это сделать.

Мой вопрос, как я могу использовать обратно в мой локальный биткоин, например, HTTP-запрос POST с JSON API-интерфейс RPC запрос к операции? Есть ли учебник?

Я представляю, что я бы быть запущена в непрерывную нить и периодически запроса bitcoind (демон) за последний пакетных операций. Это возможно?

+89
David Gilbertson 25 июл. 2013 г., 22:33:02

Я хочу отсоединить оба узла друг от друга.

Из консоли Элис, я использую:

добавление узла 127.0.0.1:18445 удалить

Это неверно. Эта команда позволяет удалить только узел Боба из списка операцию addnode бы сверстники. Правильные команды на самом деле отсоединить узел Боба

disconnectnode "127.0.0.1:18445"

На узле Элис, пир:

127.0.0.1:18445

Однако, на узле Боба, пир

127.0.0.1:57594

но я ожидал, что это будет:

127.0.0.1:18444

Исходящие подключения не сделали из Порт Р2Р. А случайные высокая нумерованный порт выбирается для привязки и исходящая связь оттуда. МСИО это сделано самим ядром, а не программного обеспечения. Такое поведение является стандартным для большинства программ, которые делают исходящие подключения.

Затем я пытаюсь отсоединить узел Боба из узла Алисы с помощью вкладки сверстников. Щелкните правой кнопкой мыши на сверстников (Боб) и выберите Отключить.

Узел отключен в течение примерно 45 секунд, потом переподключается.

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

Правильный способ сделать это было бы использовать onetry вариант, так как это означает, что узел не добавил сверстниками базе данных, а попробовал один раз. Чтобы отключить, вы должны использовать disconnectnode команды.

+28
jars99 11 февр. 2015 г., 11:07:07

Самый простой способ купить биткоины в Канаде, чтобы перейти на биткоины в Канаде - https://www.bitcoinscanada.ca

+10
nothingInTheName 11 авг. 2018 г., 23:54:32

Показать вопросы с тегом