Как я могу получить доступ к моему биткоин-основной платеж, если заголовки не синхронизация из-за недостаточного хранения

Мой Mac ноутбук не имеет достаточно памяти для синхронизации более чем 51.57% необходимых заголовков, И я не могу получить доступ к моей платежной системы Bitcoin. Я пробовал создавать пространство, пытаясь изменить данных каталога и импорта моего ядра биткоин кошелек онлайн. Биткоин ядра приложение закрывается сразу после открытия из-за мой диск почти полный.

+795
Zerthimon 4 июн. 2015 г., 13:16:03
31 ответов

Какие источники информации есть, где вы можете следить за возможными изменениями, объявления вилки, протокол обновления и т. д...

+987
Nisha 03 февр. '09 в 4:24

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

+878
Elnaz91 29 мар. 2015 г., 23:42:48
Другие ответы

Связанные вопросы


Похожие вопросы

Я где-то читал, что биткоин может обрабатывать только 7 транзакций в секунду.

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

Мне трудно поверить, что так много людей будут покупать в систему, которая настолько неэффективна / отрогам.

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

Кроме того, если мое предположение верно, то предположим, что есть (в среднем) 700 транзакций в секунду в течение определенного периода 10 мин (я.е, в 70 раз максимальная выходная частота) это значит нам придется подождать 70 * 10 мин. Для всех этих операций должны быть подтверждены? Если да, то почему не может какой-то злой актер завалят (я.е отложить) система отправляя тысячи мелких операций в сети?

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

+872
Prashant Srivastava 15 янв. 2013 г., 13:31:13

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

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

  • (опционально) разрешить блоки без вознаграждения.
  • (опционально) есть еще один особый тип сделки, что разрешает новый мастер-ключ, чтобы попытаться гарантировать, что вы не останетесь без действительными хозяевами в будущем.
  • (опционально) сделать авторизацию ограничено по времени и/или количество успешно добывают блоки, так что нужно периодически обновлять.
+831
Dusty52 7 нояб. 2012 г., 12:27:50

Я читал, что человек-в-браузере (MITB) способен украсть учетные данные, изменять HTML-код, и изменять данные. Действительно, MITB является одним из самых больших угрозы биткоин онлайн кошельки как правило, при использовании закрытого ключа онлайн пользователей бумажник зашифрован и расшифровывается с помощью java скриптов в браузере пользователя

Теперь мне интересно, как MITB способен украсть закрытый ключ после того, как он был зашифрован в браузере ?

+813
rodneymoya 31 янв. 2015 г., 5:46:55

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

Как мне подтвердить стоимость сделки является правильным ?

Есть два способа:

  1. Настроить и запустить свой собственный полный somecoin* узле, и написать модуль оплаты для вашего магазина\сайта, чтобы взаимодействовать с ним. Этот модуль должен обеспечить способ запроса информации о транзакции, запрос адреса для платежей и так далее.

* somecoin - Bitcoin или любой альткоины

Есть ли в API я могу использовать, чтобы достичь того, чего я ищу ?

  1. Можно использовать сторонний сервис. Они владея полной узлов и предоставляет API. Вы можете создать модуль оплаты на вершине этого API.

Если бы мне пришлось вернуть пользователю как бы я сделать это ?

Это зависит от реализации модуля оплаты, вам нужен способ для создания операции возврата в адрес пользователей.

+798
Vipin Alakkadan 24 окт. 2016 г., 15:53:20

Когда иду на пве, на 80+ уровне сертификации крайне важно, если вы хотите, чтобы ваша добыча снаряжения, чтобы прожить дольше. Всегда идти для золота и выше.

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

+741
jannej 31 дек. 2012 г., 15:56:26

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

+735
agnesk 4 авг. 2010 г., 2:04:53

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

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

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

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

Планируемые M из N подписей. Таким образом, вы могли бы перечислить, скажем 3 открытых ключей, такие, что любые 2 из них могут претендовать на биткоины.

К сожалению, некоторые компоненты сценариев являются опасения, что риски безопасности, поэтому многие из них в настоящее время отключены.

+731
Yazan Rawashdeh 20 нояб. 2011 г., 13:42:28

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

Нет папки в поддержку приложения, где этот файл должен идти, так что я сделал один:

Пользователь/библиотеки/application поддержки/Bitcoin - и поставить загрузчик.DAT-файл в там.

Еще когда я запустить биткоин-Qt, это не использовать бутстрап, и просто пытается синхронизировать нормально.

Кто-нибудь знает, если я делаю что-то неправильно здесь? Или если есть способ обойти эту проблему?

Я под управлением OSX 10.9 Маверикс.

Спасибо

+644
Slacs 12 сент. 2015 г., 20:57:54

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

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

+613
Nicholas Petersen 19 янв. 2019 г., 5:45:22

Было подсчитано (со многими допущениями) будет где-то около 1-4% от общего объема торговли. Это выглядит плохо, пока вы не узнаете, что спекуляции на рынке для доллара США составляет 5 триллионов долларов в день.

+589
Juke228 3 авг. 2017 г., 23:17:10

Адреса/форматы ключи одинаковые и ведут себя одинаково. Если у вас есть закрытый ключ для адреса пункта назначения, то вы все еще имеют доступ к фондам, независимо от того, если это BTC или ВСН.

Вопрос если отправить BTC на ВСН-адрес (или наоборот), которые вам не принадлежат (например, перечисления обмену), поскольку обмен не искать TX на услуги вы утверждали, что посылали его на.

+577
Shaneannigans 12 окт. 2016 г., 12:51:56

Я предполагаю, слякоть. В любом случае, всегда иметь свой Namecoin отправке средств вы должны написать хороший код. TL;д-р его такова: нужно менять блок Coinbase чтобы его направили на кошелек по вашему выбору.

+497
Patrick Bergner 29 апр. 2011 г., 4:04:57

Вы скачали Linux-версии cgminer, что не собирается работать на X. ОС

Я не думаю, что есть готовый построенный двоичный файл для cgminer на X. ОС

+478
teslac 1 июл. 2016 г., 2:56:13

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

Повторение:

На мой вопрос заявил, что API общественное давление Техас не давая жизнеспособное сообщения об ошибках после отказа моего наговора формате сырьевых операций. Ответ от г-на Чоу указала, что проблема ошибки подписи, которую он получил после попытки толкнуть моего искаженного TX через свой личный узел. Что указал мне в правильном направлении.

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

Вот отрывок из моего кода, который преобразует закрытый ключ открытый ключ:

открытый класс BTCUtils2{
 публичный статический байт[] DerivePublicKey(байт[] привчной,боол isCompr){
 ECPoint pubPt=ComputePublicECPoint(привчной);

 //байт[] xCoord = pubPt.Х.ToBigInteger().ToByteArrayUnsigned(), //2015: работала в С после установки BouncyCastle 1.7.4114.6375
 // yCoord = pubPt.Г.ToBigInteger().ToByteArrayUnsigned();

 //байт[] xCoord = pubPt.XCoord.GetEncoded(), //2019-07-01: обновлен до 1.8.5; генерирует неверные данные
 // yCoord = pubPt.YCoord.GetEncoded();

 PublicParams ECPublicKeyParameters = новый ECPublicKeyParameters(pubPt,ECParams); //2019-07-16; правильное использование 1.8.5
 байт[] xCoord=publicParams.Вопрос.XCoord.GetEncoded(),
yCoord=publicParams.Вопрос.YCoord.GetEncoded();

 если(xCoord.Длина!=32 || yCoord.Длина!=32){бросить новое исключение applicationexception("проверка на вменяемость: ожидается, что 32 байта для Х/Y координаты");}
 байт[] байт=новый байт[isCompr?33:65]; //публичный ключ состоит из одного байта префикса (0х04=разархивироваться,0x02=сжатых Ж\ Г=даже, 0x03=сжатых ж\ г=нечет.) до нагрузки
если(isCompr){
 байт[0]=((yCoord[31] & 0х01)==0)?(байт)0x02:(байт)0x03; //сжатый; набор префикса зависимости Y является четным или нечетным
 Массив.Копия(xCoord,0,байт 1,32); //х коорд
}
еще{
 байт[0]=0х04; //без сжатия; набор префикса 0х04
 Массив.Копия(xCoord,0,байт 1,32); //х коорд
 Массив.Копия(yCoord,0,байт,33,32); //г коорд
}
 возвращает байт;
}
 частная статические ECPoint ComputePublicECPoint(байт[] привчной){возвращение ECParams.Г.Умножение(нового типа BigInteger(1,привчной));}
 частная статические ECDomainParameters только для чтения ECParams=нуль;
 статические BTCUtils2(){
 Сrv X9ECParameters = орг.После установки BouncyCastle.Является asn1.Сек.SecNamedCurves.GetByName("кривая secp256k1");
 ECParams=новый ECDomainParameters(ВСР.Кривой, сrv.Г, сrv.Н НСВ.Ч);
}
}

Проблема возникает в верхней части, где я преобразования секретного ключа, выраженное в байтовый массив, с открытым ключом, выражается через его X и y координаты. Увидеть мои комментарии. Код 2015 прекрасно работали в течение года с 2011 года выпуска после установки BouncyCastle.

В июле 2019-07-01, мне пришлось обновить до версии 1.8.5 в надувной замок. Код не компилируется. Я подумал, что эй, они должны быть переименованы несколько вещей, или что таким образом я применил две линии обозначается как 2019-07-01, полагая, что я был сделать то же самое. ГЛАВНОЙ ОШИБКОЙ. Я не уверен, что именно те функции, звонки вернуть, но они не коорд Х/Y открытого ключа. Они что-то совсем другое.

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

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

Надеюсь, что это полезно для кого-то.

Лучшие,

Фестус

+461
user3727099 23 сент. 2013 г., 10:40:19

Здесь легко пройти через На Как проверить подлинность в Bitcoin-Qt на системы GNU/Линукс (как Trisquel, Федора, Убунту, Дебиан и т. д.):

  1. Откройте терминал
  2. Скачать основные разработчики PGP ключ (https://bitcoin.org/en/development)

(Гэвин Андресен)

  1. Импорт основных разработчиков PGP ключ с GPG:

Гоб --импорт gavinandresen.АСЦ

  1. От https://bitcoin.org/en/download страницы нажать на "Линукс (тгз)" файл для загрузки.

  2. С биткоин загрузки страницы нажмите на кнопку "Проверить выпуск сигнатур" ссылка для скачивания подписи.

  3. Проверка подлинности файла релиза был составлен основной разработчик:

Гоб --проверьте SHA256SUMS.АСЦ

Самые важные линии, чтобы убедиться, что вы видите:

GPG: действительная подпись от "ключ Гэвин Андресен (подписывание кода) "

2-ой строке вы увидите это:

у GPG: внимание: данный ключ не заверен доверенной подписью!

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

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

+459
Eis 23 мар. 2014 г., 20:33:48

Я не знаком с Java API, который вы используете, но вот шаги и C# пример кода, который я использовал для создания действительной сделки по регтест. Образец и шаги от моей грубой и готов Дев отмечает, так что причин может быть несколько препятствий (надеюсь нет).

Вам необходимо настроить указанные ниже действия для вашего собственного пути/ОС/настройка.

  • Шаг 1: в командной строке используется для местного биткоин полный узел в регрессионный тестовый режим (https://bitcoin.org/en/developer-examples#regtest-mode):

    • "C:\Program файлы\биткоин\демон\bitcoind" printtoconsole -переменной datadir=Ф:\темп\bitcoind -сервер -регтест -отладка=1
  • Шаг 2: в командной строке используется для запроса демон биткоин для создания 101 блокчейн высота:

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест генерировать 101
  • Шаг 3: Если биткойн-узел сервера был инициализирован с пустой блокчейнами команду метода getbalance теперь должны отображать 50.00000000 который представляет монету базовая сумма первого блока следующие генезис блока.

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест метода getbalance
  • Шаг 4: Чтобы найти проводки, которые доступны для расходования.

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест listunspent
    • ["C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест getrawtransaction правда]
  • Шаг 5: Чтобы узнать закрытый ключ, чтобы подписать проводить операции (убедиться-регтест указан в противном случае вы можете экспортировать ваш текущий секретный ключ и потенциально потерять $$$).

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест dumpprivkey
  • Шаг 6: После отправки проверить сделки, даже если она была принята как допустимое и добавлено на mempool.

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест getrawmempool
  • Шаг 7: Если сделка успешно проверен и принят в mempool тогда следующий шаг-создать блок, который включает его.

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест генерировать 1
  • Шаг 8: адрес, что монеты были отправлены, чтобы затем могут быть проверены, чтобы убедиться, что монеты были получены (не вы не можете использовать метода getbalance если отправить на отдельный ключ адрес импортируется в кошелек).

    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест mssuKhM1CMDgcCm3LyGunA1o6129FnkHyk importaddress пересканировать
    • "C:\Program файлы\биткоин\демон\биткоин-Кинк" -переменной datadir=Ф:\темп\bitcoind -регтест getreceivedbyaddress mssuKhM1CMDgcCm3LyGunA1o6129FnkHyk

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

используя системы;
используя системы.Резьбонарезание;
используя NBitcoin;
используя NBitcoin.Протокола;
используя такой как log4net;

SpendTransaction_WithCli пространства имен 
{
 программа класс 
{
 статические выйти из кратера регистратор = такой как log4net.LogManager.GetLogger("по умолчанию");
 статические сети _network = сеть.Регтест;

 статическая строка _unspentTxId = "5d1db816efc865ab33eb8d5c9f0238501dfd849fc67cc941565236b36e43b234"; // нужно, чтобы получить это от биткоин-интерфейс командной строки (см. Шаг 4 выше).
 статическая строка _unspentScriptPubKey = "03c1a1a614c8549373b2ec35f586aa8b33a3bf5ac3e0a1b8cf27e650bdb5a126f0 OP_CHECKSIG"; // нужно, чтобы получить это от биткоин-интерфейс командной строки (см. Шаг 4 выше).
 статическая строка _sendFromPrivateKey = "cQYdUpoeJZP7FmxUeiaKSLPo9eHsDAYbws17dgy44yhx2satk2cw"; // нужно, чтобы получить это от биткоин-интерфейс командной строки (см. п. 5 выше).
 статическая строка _receiveToPrivateKey = "cR7X4Nd5WqA5mNwgX67th4Jo3K9vTTm28w8njll9jt8hhpdbstl8"; // это произвольный ключ, который используется, чтобы отправить несколько монет.

 статический недействительным основные(string[] аргументы)
{
такой как log4net.Конфиг.XmlConfigurator.Настроить();

 // Установить личные ключи и адреса отправителя и получателя.
 Ключ sendFromPrivKey = ключ.Разобрать(_sendFromPrivateKey, _network);
 BitcoinPubKeyAddress sendFromAddr = sendFromPrivKey.Умолчанию.GetAddress(_network);

 Ключ receiveToPrivKey = ключ.Разобрать(_receiveToPrivateKey, _network);
 BitcoinPubKeyAddress receiveToAddr = receiveToPrivKey.Умолчанию.GetAddress(_network);

 логгер.DebugFormat("отправка от {0} до {1}"., sendFromAddr, receiveToAddr);

логгер.Отладка(sendFromPrivKey.ScriptPubKey);
логгер.Отладка(sendFromPrivKey.По умолчанию);

 // Создания транзакций потратить биткоин.
 Минус расходы = новый минус(uint256.Разобрать(_unspentTxId), 0);
 SpendScriptPubKey скрипт = новый скрипт(_unspentScriptPubKey);

 ВАР spendTx = новую транзакцию();
 spendTx.Входы.Добавить(новый TxIn(расходы, spendScriptPubKey));
 spendTx.Выходы.Добавить(новый TxOut(деньги.Разбор("49"), receiveToAddr.ScriptPubKey)); 

 spendTx.Знак(sendFromPrivKey, ложь);

логгер.Отладка(spendTx.Метод ToString(RawFormat.BlockExplorer));

 // Отправки транзакций на местных биткойн-узел.
 используя (ВАР узел = Узел.ConnectToLocal(_network))
{
узел.VersionHandshake();
 узел.Метод SendMessage(новый InvPayload(InventoryType.MSG_TX, spendTx.GetHash()));
 узел.Метод SendMessage(новый TxPayload(spendTx));
Нить.Сон(500);
}

 Консоль.Метода WriteLine("нажмите Q, чтобы выйти...");

 в то время как (правда)
{
 ВАР нажатие = консоли.ReadKey();
 если (нажатие клавиши.Ключевой-символ == 'д')
{
перерыв;
}
}

Консоль.Метода WriteLine("Выход Из...");
}
}
}
+446
Jose Kj 11 мая 2011 г., 19:57:47

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

+345
pyhap 9 июн. 2018 г., 16:45:30

Я также считаю, я читаю, что подпись часть может составлять 65% от размера блока.

Это не совсем правильно. Типичный размер блока зависит от операций в этом квартале. Размер подписи общий размер блока будет зависеть от количества входов в сделки. Более количество входов в сделки, высшее компонентами и выше соотношение размер подписи до размера блока. Кроме того, больше количество мульти-сиг входов, более подпись компоненты на вход. Кроме того, нужно отметить, что обе подписи и redeemScript виде свидетеля, и не просто подпись.

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

Да, теоретический максимальный предел размера блока 4,000,000 у. Чтобы вычислить размер в байтах, это будет очень, очень близко до 4000000 байт. Рассмотрим блок, состоящий из всего одной сделки, только с одним OP_TRUE выход anyonecanspend в этой операции и только один вход. Предположим redeemScript и подписи такие большие, что они занимают максимальное пространство в блоке (биткоин поддерживает пользовательские скрипты, поэтому я могу теоретически создать сценарий в ту сторону). Теперь, стандартные компоненты блока являются:

размер = 4 байта / 16 ВУ
заголовок блока = 80 байт / 320 ВУ
счетчик транзакций = 1-9 байт (1 байт в нашем случае, поскольку мы используем 1 Техас) = 4 ВУ
Операции = переменная

Так что это оставляет 4,000,000 - (16 + 320 + 4) = 3,999,660 ВУ для нашей сделки.

Стандартные компоненты сделки являются:

nVersion = 4 байта / 16 ВУ
количество входов = 1 байт / 4 ВУ
предыдущие сделки txid = 32 байт / 128 ВУ
предыдущая транзакция индекс = 4 байта / 16 ВУ
длина сценария = 1 байт / 4 ВУ
скрипт = 0 байт
nSequence = 4 байта / 16 ВУ
рассчитывать выход = 1 байт / 4 ВУ
размер количество = 4 байта / 16 ВУ
длина сценария = 1 байт / 4 ВУ
сценарий (OP_TRUE) = 1 байт / 4 ВУ
nLocktime = 4 байта /16 ВУ

поэтому размер свидетель: 3,999,660 ВУ - 228 ВУ = ВУ 3,999,432

Теперь, чтобы преобразовать традиционные байтов, которые будут ретранслироваться на проводе:

340/4 + 228/4 + 3,999,432 = 3,999,574 байт

Примечание: стандартный вес сделки составляет 400000 ВУ, что означает полную узлы не реле сделок выше, чем эта шапка. Однако, правилами консенсуса позволяет транзакций до размера блока, что означает, что ничто не остановит Шахтер из включая эту транзакцию в блок и тогда мой блок с его.

+325
rsinclaire 13 мар. 2016 г., 7:43:36

Слова, которые вы запишите используются Трезор для создания биткоин ключи и адреса. Если у вас есть слова, вы можете повторно сгенерировать ключи в другом Трезор или совместимость кошелек (говорю это, чтобы восстановить существующий кошелек и введя слова, вместо создания нового). И наоборот, если кто-то другой твои слова, они также могут получить доступ к ваши биткойны, поэтому они должны быть надежно автономном режиме.

+323
Jefferson Hernandez 4 мая 2014 г., 6:47:37

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

Заказ по почте, как только транзакция будет обнаружено, также нет никакого риска.

+322
Oleksii Shapovalov 26 авг. 2010 г., 6:40:33

Вы не сможете найти API, который поддерживает PayPal, кредитные карты и Google кошелька, так как есть проблема с оплатой платежа за биткоины в этих методах. Подробнее об этом здесь. Каждой основной обмен, как правило, имеет свой собственный API. Просто Google "БТЦ-е по API", например. Нет никакого "одного окна" решения для этого.

+260
paipai 7 сент. 2013 г., 11:46:19

Это возможно, но очень сложно. Если кто-то добывали блок, вы в основном должны добывать свои версии, что займет некоторое время. Тогда вы будете отдавал борьбе против часы, как и другие шахтеры пытаются добывать другой блок. Если блок добывается, все блоки раньше, в основном, снова шифруется. Чтобы изменить блок, вам придется ремайн он и все после него.

Можно ли будет нападать на блокчейн, создавая сломанный блок?

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

+254
Pooja Karki 13 июн. 2016 г., 22:02:48

Я буду решать свои точки в отдельности:

  • Добыча Bitcoin в будущем будут поддерживаться операционные издержки, а не блок награду, обратитесь к этому вопросу для более подробной информации: что будет с добычей после 20 999 999-й биткоин?
  • Не уверен, что вы имеете в виду здесь, почему бы возрастающей сложностью привести только один шахтер? Если люди перестали майнингом, сложность пойдет снова вниз, потому что хэшрейт бы уменьшалось, так что нет равновесия, основанные на том, как выгоднее майнинга в любое время
  • Сложность-это просто алгоритм, который на основе времени, требуемого последние 2016 блоков (технически только 2015, из-за ошибки, но это не важно). Так что все согласны на трудности, каждый может рассчитать текущую сложность, глядя на блокчейн. Ни один человек задает сложности, каждый делает.
  • Масштабирование-это вопрос, который является большая тема на данный момент, потому что да блокчейн становится очень большой. Но обратите внимание, что это возможно, чтобы запустить обрезают узел, который сохраняет только некоторые из последних блоков, а не весь путь обратно в генезис блоке. Полные узлы, не использовать исторические данные в любом случае другой, нежели при обслуживании абсолютно новые узлы с блоками, чтобы получить их и работает, и при восстановлении их UTXO набор, который обычно делается только один раз, когда узел первый начинает и не должны быть сделаны снова.
+243
Zaynu Cat 23 апр. 2019 г., 14:26:20

Я использую биткоин на Qt версия v0.7.0-бета, и когда я попытался отправить транзакцию (1.5 биткоинов) я получил сообщение

создание транзакция

что может быть причиной? Несколько минут назад я послал 0.1 биткоины и это было принято. Три часа назад я отправил 0.3 биткоины и это было принято и получено на другой стороне.

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

P. S. У меня есть более чем в 1,5 биткоины, когда я пытаюсь направить их.

Просто несколько замечаний. Я пытался отправить 0.3 и 0.5 биткоина еще один раз и он работает с ними обоими.

Просто не один раз пытались передать Bitcoins на другой счет в Bitcoin интервала QT (версия v0.8.3-бета - новейшая на момент написания).

На этот раз я получаю некоторые дополнительные сообщения об ошибках, которые еще не пригодится.

Сделки слишком большой

и сразу после этого еще один

Ошибка: создание транзакции!

П. С. Несколько дней назад я обновил клиент до версии v0.8.5-бета , но проблема все еще существует. Я очень хочу потратить свои биткоины, но не может этого сделать. Я тоже пробовал разные адреса.

+221
AnonymousCoward 8 авг. 2016 г., 20:33:05

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

+202
Tapas 15 окт. 2010 г., 5:04:34

Если вы установите Электрум на Windows, у вас будет две программы, которые вы можете начать. Одна из них называется "Электрум тестовом режиме".

+197
zlemear 8 сент. 2019 г., 20:45:30

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

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

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

+139
will wiebe 29 июн. 2010 г., 19:34:08

Ты в принципе интересно, как кодировке 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.

+137
drastega 7 нояб. 2014 г., 0:26:28

Ниже приведен мой код:

константный bip39 = требуют("bip39");
ВАР HDKey = требуют('hdkey');
ВАР bip32 = требуют("bip32");
ВАР биткоин = требуют bitcore-Либ ('');
ВАР EthereumBip44 = требуют Эфириума-bip44 ('');
константный названием secp256k1 = требуют('кривая secp256k1')
ВАР и SHA256 = требуют("SHA256 с")

ВАР мнемоника = bip39.generateMnemonic()
семян ВАР = bip39.mnemonicToSeedSync(мнемоника).метод toString('Хекс');
ВАР hdkey = HDKey.fromMasterSeed(семя);
ВАР HDkey = hdkey.privateExtendedKey
ВАР узел = bip32.fromBase58(HDkey)
ВАР ребенок = узел.derivePath("м/44'/0'/0'/0/0");
bitcoinKey = ребенок.toWIF();
ВАР ключ = биткоин.HDPrivateKey(HDkey);
ВАР кошелек = новый EthereumBip44(ключ);
ВАР ethereumKey = кошелек.getPrivateKey(0).метод toString('Хекс')
консоль.отчет (ПК: на %S',ethereumKey)
ВАР заново = кривая secp256k1.publicKeyCreate(буфер.из(ethereumKey,"наговор"), ложь).фрагмент(1)
ВАР cicAddress = "СХ"+и SHA256("0х"+электр.метод toString("шестигранник")).функцию substr(24,64)
консоль.журнала('публичный ключ: %с',ре);
консоль.адрес журнала('МГИ: %ы',cicAddress)

Это дает мне следующий результат:

Семя: 3eef6daf3a65b84448a699837a476033a792f413041d080da2a18a77f462cd9a2f76ca4e922dfb8de0d2817a3b092a098d7f335993a0554e3e997e1eab22daaa

ПК: f4c06b254d5ac46b6db9baf0fbdfb4b58aa392002f0808d54dfd3ceed5697967 �*ключ X���: с�б�!��^�Вопрос �����Р��9��2$7К�+��)М����Г�К5�Ǽ=]��е�����м МГИ Адрес: cxb2d307b96327e2e535a52f93c23751417520398d

Почему открытый ключ генерируются symbollically? Как я могу решить это?

+113
dvjz 29 окт. 2010 г., 1:38:48

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