Как это возможно, чтобы генерировать блоки без операции?

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

Дополнительный вопрос: если это так легко создавать такие блоки, что мешает шахтерам, чтобы генерировать эти (легкие) блоки как можно больше, чтобы заработать новые биткоины? Спасибо.

+595
KindDragon 9 апр. 2017 г., 11:26:53
15 ответов

После Большого взлом МФ Gox нам всем стало известно, что нет ничего, чтобы предотвратить "вспышки падает". Большинство акций, Форекс и другие биржи, такие услуги, как торговый бордюры или другие рыночные волатильности процедур для предотвращения таких аварий - так что любой биткоин-бирж есть такие бордюры на месте?

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

+956
Artemis Carras 03 февр. '09 в 4:24

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

Он реализован здесь в этот pull-запрос на сипа.

Что это за хэш и чем она отличается от обычной хэш транзакции? Как это может быть построено? Как это попробовать решить проблему ковкость?

+675
Connor Meeks 25 нояб. 2013 г., 16:31:02

Bitcoinj генерирует адреса для получения по запросу и адреса меняются после каждой транзакции. Так как Список всех адресов ? Я думаю, мне придется иметь дело с KeyChainGroup и BasicKeyChain. Я знаю, как получить все оформили, получили ключи

кошелек.getActiveKeyChain().getIssuedReceiveKeys();

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

+655
Daniel Feldman 18 авг. 2012 г., 10:16:31

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

Это DannyHamilton претензий также. См. также.

+444
vipin8169 19 апр. 2019 г., 11:43:02

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

Вероятно, Изменения

  1. Изменен ОП код поведения: нам понадобится ОП код для проверки Подписи Шнорра. С жесткой вилкой, мы можем пересмотреть op_checksigи op_checksigverify также проверить подписи Шнорра. С мягкой вилка, мы можем переопределить один из зарезервированных нет-оп оп коды для проверки Подписи Шнорра.

  2. Увеличение P2SH использования (может быть): я думаю, что это маловероятно новый формат-адрес будет введен, чтобы сделать то же самое по умолчанию скрипты оплате государственной ключей Шнорра, что P2PKH для Открытые ключи алгоритма ECDSA. Это означает, что люди, которые хотят адреса Шнорра даже только с одним ключом (non-multisig) придется использовать P2SH. Конечно, для приложений, которые не нужны адреса (как для добычи полезных ископаемых или при использовании BIP70 протокол оплаты), они могут просто использовать op_checksigverify_schnorr(или все, что угодно) прямо в их скриптах по умолчанию.

  3. Меньше multisig транзакции: одна из самых широко разрекламированные преимущества схемы Шнорра является то, что она может позволить несколько подписанты объединить свои подписи в единую подпись быть проверен на один открытый ключ создается все уполномоченными лицами. Это выполняет то же самое тока биткоин multisig делает, но использует меньшее количество байт. Это может быть особенно полезно, если требовались десятки или сотни подписей, например, в ситуация краудфандинга. Примечание: если я правильно понял, это также можно также с ECDSA, но менее гибкий способ. (2018 Примечание: там сейчас бумагу, что подробно описано, как сделать скрипт-меньше скриптов на уровнем, в том числе 2-из-2 multisig)

  4. Немного меньше для всех операций: при условии Биткоин использует ed25519 кривой, которая имеет подобный ключ прочность кривая secp256k1 уровнем кривой биткоин в настоящее время использует, сжатый Шнорра публичных ключей и подписей (соответственно) 32 байт и до 64 байт по сравнению с текущей сжатого биткоин кривая secp256k1 открытых ключей и (не сжатые) подписей, что составляет 33 байт и до 75 байт.

  5. Правдоподобного отрицания multisig: используя Шнорра порог подписиэто может быть легче предотвратить нескольких участников или третьих лиц, зная, кто еще подписал или не подписал. Это потому, что отдельные подписи слились в единой подписи, что не сразу показывают, кто подписал его. Это может быть использовано в ситуациях, когда подписанты являются боятся репрессий для расходования средств по определенным правилам.

  6. Правдоподобное отрицание уполномоченных лиц, с использованием стороннего организатора (который не должен быть доверенным с частными ключи), можно предотвратить подписанты от зная их закрытый ключ является частью комплекта ключей подписи. Хотя не непосредственное отношение к операции с биткоинами, я припоминаю[1] Грег Максвелл говорил, что он хотел бы увидеть это свойство используется для распределенных модерация форума: выбрать кучу высокопоставленных участников форума, получить открытый ключ от каждого из них, создать порог открытого ключа некоторые отдельные публичные ключи, а потом давай людей подать подпись, когда они думают, что пост должен быть удален. В стороннего организатора (наверное, автоматизированная программа) будет совмещать подписи без утечки, чья подпись фактически способствовало по достижению порога. Если никто не знает, чья подпись на самом деле вопросы и пул возможных модераторов большая, эффективные репрессии против модераторы стали очень дорогими. [1]: #биткоин IRC около 4 месяцев назад; к сожалению, чат не публично регистрируется.

  7. Теоретическое лучше свойств безопасности: эксперты согласны с общими Шнорра подписи лучше теоретико безопасности свойства чем аналогичные подписи ECDSA. Наиболее заметным из этих усовершенствование заключается в том, что хэш-функция, используемая в Шнорра не нужно как стойкость к коллизиям в качестве хэш-функции по алгоритму ECDSA. (Биткойн, вероятно, использовать тот же самый хэш-функции для Шнорра, что это используются для алгоритма ECDSA: и SHA256.) Кроме того, ed25519 странице, ссылка выше описывается несколько способов он устойчив атакам по сторонним каналам, которые позволит аппаратные кошельки для безопасной работы в менее безопасной сред.

  8. Быстрее проверки подписи: он, вероятно, требует меньше процессорного времени для проверки ed25519 подпись Шнорра, чем кривая secp256k1 уровнем подпись. Это, пожалуй, единственное крошечное улучшение для биткоин: Биткоин ядро проверяет подписи перед добавлением сделки до ее mempool. Когда блок получал, содержащих операции уже в местные mempol, биткоин Core не повторно проверять те сделки, так как локальный узел и узел добыча одинаковые mempools, без проверки подписи должны быть выполнены. (Напомним, сделки компания не имеет подписи.) Однако, подпись в настоящее время проверка является ограничивающим фактором для узлов во время начальной блокчейн скачать (предполагая высокоскоростное соединение и Bitcoin Основной 0.10.0), так что "быстрее было бы лучше."

  9. Мульти-крипто multisig: с два (несколько) разных криптосистемы на выбор, с высоким уровнем безопасности пользователи могут создавать 2-из-2 multisig по умолчанию скрипты, которые требуют как ECDSA и Шнорра подписей, так их биткоины не могут быть украдены если только один криптосистема сломан. Если мы hardfork в Шнорра (см. пункт #1), они не смогут использовать стандартные op_checkmultisig---но они могут сделать что-то вроде <уровнем по умолчанию> OP_CHECKSIGVERIFY <Шнорра умолчанию> OP_CHECKSIGVERIFY_SCHNORR

Неопределенность (Для Меня)

  1. Может быть изменен TXIDs: я не знаком достаточно с Шнорра подписей, чтобы знать, как они могут быть податливы (переменчивый третьи лица без нарушения их), но крипто эксперт Адам снова кажется, что они очень податливы. Его решение будет меняться, как TXIDs вычисляются хэш(<всей транзакции>) , чтобы хэш(<почти все, кроме подписи>). Это позволит исправить некоторые нынешние пластичностьоснове проблем, таких как медленный микроплатежей канала создание, но и быть крупным хард-форк, который затрагивает фактически всех биткойн. Последние вилки такого масштаба---софт-форк P2SH реализации---до сих пор не поддерживают его со всех Биткоин программы, после трех лет обсуждения двух лет реализации, и довольно широкое применение.
  • Открытый ключ восстановления из подписи: я не знаю, будет ли Шнорра открытый ключ может быть извлечен из подписи Шнорра пути является уровнем по умолчанию могут быть восстановлены из алгоритма ECDSA подпись. Это может быть важно: ядра биткоин verifymessage ЭКП использует ключ восстановления, чтобы проверить сообщения, подписанного с signmessage ЭКП или другого клиента подписать сообщение реализации. (Примечание: этот пункт оставили ненумерованных, потому что она была добавлена после оригинальной публикации.)

Не Меняется

Просто чтобы быть ясно, вот некоторые вещи, которые не меняются.

  1. Детерминированные подписи: наблюдается стремление к детерминированные подписи ECDSA в биткойн. Например, ядра биткоин начнет использовать их в предстоящем выпуске 0.10.0. Подписи Шнорра также может быть созданный детерминировано. С помощью детерминированных подписи, вы не нужен качественный источник энтропии (хаотичности) для создания безопасной подписей. Однако, вы все еще нуждаетесь в качественной энтропии для генерации закрытых ключей или корень семена (см. пункт ниже).

  2. HD-кошельки: для меня это выглядит как иерархические детерминированные (HD) и генерация ключей протокол будет работать для ключевых пар Шнорра с несколько небольших изменений. Вы даже можете использовать один и тот же корень семя для ECDSA и Шнорра иерархии.

  3. Ключ (адреса) использовать: как правильно реализуемого алгоритма ECDSA, это можно надежно создать несколько подписей для разных Шнорра сделки, означает, что это безопасно, чтобы получить несколько выходов же адрес или открытый ключ. Это в отличие от некоторые подписи схемы, которые только позволит вам безопасно использовать одну подпись для каждого открытого ключа. Однако, повторное использование ключа все-таки может быть менее безопасно, чем использование уникальных ключей для каждой сделки, и повторное использование ключа всегда будет гораздо меньше для вас и ваших торговых партнеров.

Приоритет

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

P. S. Извините за длинный пост, но спасибо за предложение такой забавный вопрос!

+406
Boyd Merriman The Ugly Apple G 5 февр. 2018 г., 9:37:49

Так что я читаю это (отличный ресурс) на биткоин Меркле дерева для сделки.

Дерево Меркле строится снизу вверх. В следующем примере мы начнем с четырех сделок, А, B, C и D, которые образуют листья дерева Меркла, как показано в расчете узлов дерева Меркла. Транзакции не сохраняются в дерево Меркле; скорее, их данных хэшируется, а полученный хэш хранится в каждом листовом узле, как га, НВ, НС и HD:

ХА = и SHA256(SHA256 и(сделки))

Последовательные пары конечных узлов затем сводятся в родительский узел, за счет объединения двух хэшей и перемешивания их вместе. Например, чтобы построить родительский узел хаб, два 32-байтный хэш дети объединяются, чтобы создать 64-байтовую строку. Эта строка дважды хэшируется для получения родительского узла хэш:

ВЦВ = И SHA256(SHA256 С(ГА + ГВ))

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

В этом есть смысл, но у меня есть несколько вопросов. Первый-как сделки, как сделки, в хэшируется, и что входит в сделки на практике. Например, если это JSON-объект, строковые, или ByteArray в JavaScript, или если данные должны быть в определенном формате и т. д.. хотелось бы увидеть например, как запись будет хешированный, как { а: 'фу', в: 'бар', ц: 123, ... } или что-то подобное.

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

Наконец, какой пример набор проводок будет выглядеть в едином блоке, где они говорят, что в среднем у них 1900 сделок. Это будет очень глубокое Дерево Меркла, и я хотел бы, чтобы увидеть, какие сделки на самом деле называется и еще какая-то информация на их структуру данных. Например, если они пройти весь путь вниз к ISA (архитектуре) операций, или они являются гораздо более высоком уровне. Вот в принципе и все, что я хочу знать. Я не вижу, что в книге выше, но будем принимать пристальный взгляд.

+403
Gowtham Sadasivam 2 нояб. 2013 г., 3:09:30

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

На самом деле, как работает биткойн, что вам действительно нужно-это список неизрасходованные выходы сделки (UTXOs). Когда вы создаете новую транзакцию, чтобы потратить монеты, вы не просто дебетовая адресу; вы должны ссылаться на один или более конкретных результатов от предыдущих операций, которые вы проводите. Тогда те предыдущие выходы в негодность, так что вы не можете потратить их снова.

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

После того как вы сделали это, вы можете удалить блок цепи себе и просто держать UTXO базе; то есть в основном что -сливовый вариант (см. Как я могу запустить bitcoind в обрезке режим?). Однако следует помнить, что Биткоин-это одноранговая система. Так вы сохраните блок цепи так, что новые пользователи могут скачать его у вас.

+402
angelo valdelamar 8 сент. 2017 г., 10:10:41

Да. Однако, вы потеряете все новых закрытых ключей в текущем кошелек.дат. Даже если вы не создавали никаких новых адресов и Bitcoin-Qt создает адресами меняться, если вы отправляете деньги. Так, чтобы быть безопасным, вы должны сбросить частная ключи для вашего кошелька.DAT и стоп биткоин-на Qt. Заменить текущий кошелек.DAT с сохраненной кошелек.дат. Перезагрузка с Bitcoin-Qt, а потом опять сваливают в частные ключи. Если у вас есть такой же набор, все хорошо. В противном случае, вам придется импортировать недостающие личные ключи.

Для того чтобы сбросить частная клавиши с помощью биткоин-Qt в консоли отладки:

  1. listaddressgroupings
  2. walletpassphrase ваш-пароль 300
  3. dumpprivkey биткоин-адрес
  4. walletlock

Шаг 1 список адресов Bitcoin на ваш кошелек. Шаги 2 и 4 нужны только если кошелек зашифрован и открывает ваш кошелек максимум на 300 секунд. Повторите шаг 3 для каждого биткоин-адрес.

Для импорта закрытого ключа с помощью биткоин-Qt в консоли отладки:

  1. walletpassphrase ваш-пароль 300
  2. importprivkey с закрытым ключом "ключ-метка"
  3. walletlock

Шаги 1 и 3 нужны только в том случае, если кошелек зашифрован. Повторите шаг 2 для каждого отдельный ключ, который вы импортируете. Ключ-метка-это все, что вы хотите определить ключ.

+228
srijan 7 июн. 2012 г., 13:17:15

Они уже нашли более быстрый способ. Сейчас майнинг биткоинов-работать на специализированных микросхемах ASIC, но это не всегда так. В первые дни было ЦП или GPU.

Так ничего не происходит на самом деле, трудность будет отрегулировать так, что новые блоки находятся каждые 10 минут на среднем.

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

+197
Joyce Hernandez 21 мар. 2016 г., 2:53:25

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

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

+151
Mossi 7 янв. 2013 г., 1:50:49

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

+107
Tomas 4 окт. 2015 г., 10:08:19

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

Это префиксы: YPUB = 0x049D7CB2 и YPRV = 0x049D7878

Есть несколько схем для получения P2WPKH вложенных в P2SH?

Вы путаете две. 77429938 , что вы связали в Трезор используется для получения ypub. Если вы прокрутите вниз на самурая код вы увидите 0x049D7CB2 для ypub , который так же, как 77429938 в десятичной. xpub стенды для расширенного публичного ключа и позволяет генерировать адреса и просканировать все фонды, связанные с ними, а не тратить их. ypub точно как xpub, Кроме " у " обозначает, с уверенностью, что этот конкретный расширенный публичный ключ принадлежит кошелек, который тоже после BIP49 биткоин стандарт. Это указывает кошелек, чтобы наверняка сканирования для P2SH(P2WPKH) адреса. Также zpub, и что предписывает кошелек для только сканирования для bech32 адресов, который начинается с БК.

+102
anu1982a 20 янв. 2019 г., 6:20:13

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

+41
joshlrrc 1 янв. 2018 г., 5:51:38

это, по сути, не связанного с биткоин вопрос... это "общее наилучший подход к работе с ценностями". Вам нужно сделать резервные копии. На Mac это тааааааак легко! Всего по 50€ - 100€ внешний USB жесткий диск, и запустить машину времени. Да, действительно. Это займет 3-5часов, в зависимости от размера данных и скорости внешнего HDD (время на основании моего порта USB2 внешний HDD и ~400Gig данных). Я сделал это несколько раз, и также восстановил весь Mac и OSX (он даже открыл документы, когда последняя резервная копия была запущена). Я не могу утверждать, насколько важно иметь резервные копии: лучшим решением является Машина времени.

После того, как вы настроили ваш мак с новым/правильное OSX, вы можете восстановить деталями машины времени резервного копирования, особенно пользователей каталог, все данные кошельки обычно хранится.

+23
sarah smiley 25 дек. 2014 г., 14:41:08

Сделки-сирот

"Сиротка сделки" - это сделки, для которых родитель отсутствует и, следовательно, по меньшей мере, один входной неизвестных в узле. Это может произойти, когда узел получает операции в неправильном порядке, или когда родитель был doublespent и поэтому один из входов этой новой сделки не будет проявляться. До тех пор, пока условия сделки соблюдены, такая сделка, по сути, появляются недействительными, так как узел будет признать, что сделка будет тратить деньги, что узел не знает. В mempool не хранит потерянных транзакций, но он собирает их в отдельный бассейн-сирот в случае, если родитель все еще передается.

Сиротка блок

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

Спертый блок

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

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

В случае, если я потерял смысл вашего вопроса, пожалуйста, обновите ваш пост и расскажи мне в комментариях.

+15
Sabs 22 нояб. 2015 г., 2:41:24

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