Как Шахтер эффективно проверить, что адрес имеет необходимое количество данных?

Я читал этот вопрос.

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

Поэтому Шахтер должен искать всех блоков форма блока 1, который имеет более 500 000 блоков (и будет расти еще больше), по каждой сделке. И блок содержит тысячи сделок. Это звучит для меня невозможно.

"Узел содержит список всех неизрасходованных выходов транзакции". Этот запрос каждый узел, чтобы поддерживать миллиарды адреса и неизрасходованные выходы сделки. Это вообще возможно? Если да, то о будущем?

+993
cryptal 16 дек. 2016 г., 7:54:35
23 ответов

nBits относится к цели. Целью является 256-битное число, и обратно пропорциональна сложности.

Вы можете вычислить сложности от цели по следующей формуле:

трудность = difficulty_1_target / current_target

где difficulty_1_target представляет целевой объект, соответствующий первому сложности на сеть, которая является 256-битное число с ведущими 32 бит установлен в ноль и остаток равен 1. Кроме того, формула работает следующим образом:

сложность = 2^208 * 65535 / current_target.

Обратно в блоки:
В то время как мы часто видим блок хэш-представлены как шестнадцатеричные цифры включают буквы от A до f для числа 10-15, блок хэшей в результате SHA256d хеширования. Выход SHA256 является 256-битное число (отсюда и название). Когда шахтеры ищете действительный блок, они создают множество кандидатов блока. Когда один из этих кандидатов хэш-дайджестов (интерпретируется как 256-битное число) меньше или равен сложности, Шахтер был найден корректный блок.

+850
PriceChild 03 февр. '09 в 4:24

Вы фактически получил его.
создать 2-из-3 multisig-адреса (то есть необходимости две из трех подписей)
1 для покупателя, 1 для продавца и 1-для посредника

  1. покупатель отправляет деньги на multisig-адрес, передающим средства для сделки

  2. если сделка прошла хорошо, покупатель отправляет подписанные транзакции тратить выходной multisig к продавцу и отправляет транзакцию продавец, продавец подписывает TX и транслирует его

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

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

Таковы концептуальные шаги для реализации схемы

+806
codigoyarte 24 дек. 2012 г., 14:01:28

Я только недавно послал две сделки на $2,500 кусочек в кошелек, мне дали переводить деньги. Деньги были переведены, и человек исчез. Мне интересно, как узнать, где деньги взял на.

+788
WilsonHuangJi 1 июн. 2017 г., 14:12:41

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

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

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

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

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

+751
Xanlantos 2 июн. 2017 г., 16:38:03

Не совсем то, что вы ищете, но есть такой сайт, который делает именно это, проверить его.

https://goochain.net/

Фильтр по датам/ найти адрес с частичным чисел и т. д.

+713
dmcscript 9 нояб. 2017 г., 7:12:26

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

+710
Elliot faerber 1 окт. 2019 г., 22:26:33

Он принимает навсегда и день, чтобы иметь биткоин-в Qt синхронизация с блокчейна впервые. Также попробуем выполнить "команду netstat-N-Р протокол TCP | команда grep '.8333" в окне терминала, чтобы увидеть, если у вас есть восемь одновременных подключений в сети Bitcoin.

+697
user73208 10 июл. 2011 г., 21:30:57

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

+627
Obadina Tobi 6 мар. 2011 г., 11:12:53

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

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

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

+585
bobfandango 20 июн. 2019 г., 13:13:05

Нет, это не так.

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

Если вы хотите заставить переаттестация с нуля, начните с -переиндексация-chainstate. Это сдует UTXO набор, и воссоздать его из блоков на диске, и восстановить все в процессе (в том числе все подписи, если -assumevalid=0 имеет значение).

+372
steven allaire 14 февр. 2014 г., 5:16:09

Существуют решения, которые обрабатывают обработку платежей для вас. Вы можете использовать BTCPayServer , который имеет API, который похож на них. API-интерфейс.

+281
rozemarye 30 нояб. 2011 г., 15:39:55

Я смотрел на пожертвования Bitcoin на Фонд свободного программного обеспечения и взглянул на их ПГП подписанное сообщение здесь. Однако, у меня три вопроса по поводу подписанного сообщения.

1.) Когда я читал сообщение, которое я увидел текст ниже говорит "проверять каждый адрес, строка и подпись". Как бы один идти о проверке этих?

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

1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4un [email protected] 20130802
ПГ+OoJaENOBvY2rPqB8s8Vssmb+/aw7SgE/2TLtZVmtVO8be5eYBXt4CTqbQo0YzcN97egz8fv8gpaqhdv2ngrfi=

2.) Если бы я отправил несколько биткоинов в Фонд свободного программного обеспечения, и хотели бы, чтобы они знали, что они пришли от меня, я бы предоставить какое-то доказательство. Следующий отрывок из послания говорит о том, как сделать это; однако, я еще не совсем понимаю как выполнить это:

Заявки на получение пожертвования
===========================

Если вы хотели бы знать, кто вклад внес, и
чтобы иметь возможность подтвердить получение вашего пожертвования, то, пожалуйста, напишите
<[email protected]> с вашим именем, адрес, и вклад
информация, включая ваш txid. Подписи txid с одним из отправка
ключи, как видно в блоке проводника не является обязательным, но он может служить
доказательство того, что ваш вклад действительно пришли от вас.

Мы 501(с)(3) благотворительность.

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

3.) Я использовал программе Gpg4win, чтобы проверить все сообщения, импортируя Джон Салливан ГОБ открытого ключа здесь и нажав кнопку "Проверить" кнопку. Но как это работает и что делает PGP подписи в нижней части служить сообщение?

+221
user1092697 16 янв. 2014 г., 1:37:06

Я использую Электрум и при отправке биткоинов у меня есть небольшое окно с "подождите..." сообщение, проблема в том, что он был более чем за 1 час и ничего не произошло! Окна все еще есть и я могу сказать blockchain.info что биткоины не поступает в пункт назначения.

  • Это нормально?
  • что такое правильное поведение?
  • Я должен закрыть "Пожалуйста, подождите... окне" и повторно отправить монеты?
+219
user68712 16 июл. 2019 г., 2:48:44

Не будет ли это значить, что каждый раз, когда новая транзакция добавляется в блок (до его добычи), что всех идиотов, а ранее попытку нужно еще раз пробовали?

Да, но "нужно" - это слишком сильное слово в данном контексте. Потому что вы не можете предсказать результат хэш-функции без выполнения хэш, хэш каждой новой попытке, как обычно, для достижения цели, как и предыдущий. Как таковой, да, вполне возможно, что сейчас уже попытки будут успешными, учитывая, что Меркле корень изменилось...но это не более вероятно, чем пока вы были попытка перед добавлением новых операций. Нет реальной причины, чтобы вновь попробовать идиотов. Шансы не лучше.

Не будет ли это препятствовать шахтеры с добавление транзакции в блок, если им придется снова хеш все с идиотов?

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

Кроме того, возможно, что нет идиотов, мог предъявить успешной/победа хэша?

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

+213
Grigor Gevorgyan 5 янв. 2018 г., 18:40:32

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

+213
Vadim1980 23 мая 2015 г., 9:42:17

Текущие версии Абэ поддерживают API getdifficulty вызова. Например, http://yacexplorer.tk/chain/Yacoin/q/getdifficulty возвращает текущие легко с внутренними трудностями. Проблема с лайткоин является то, что оба explorer.litecoin.net и litecoinscout.com управлением устаревших версий Абэ.

Для этих старых версий Абэ, затруднение в момент решена блок доступен; он обычно должен быть достаточно близко к текущей трудности. Вот альтернативный подход я реализовал, чтобы получить трудность лайткоины:

  1. получить высоту блокчейн (/услуги/наименование/г/getblockcount)
  2. сделать блок Информация (/поиска?вопрос=blocknum)
  3. получить сложности

Шаг 2 возвращает HTML, который вам придется наскрести. Вот некоторые c# я сколачиваются:

частная двойной GetDifficultyAbeAlt(url_prefix строку, строку chain_name)
{
 Вебклиент сан. узел = новый Вебклиент();
 инт blockcount = конвертировать.ToInt32(душевая кабина, туалет.DownloadString(url_prefix + "/цепь/" + chain_name + "/м/getblockcount"));
 строки blockinfo = туалет.DownloadString(url_prefix + "/поиск?м=" + blockcount.Метод toString());
 двойные трудности = 0;
 (строки foreach в blockinfo.Сплит(новый тип char[] { '\Н' }))
 если (строка.Содержит("Трудность") && !линии.Содержит("Накопительный"))
 трудность = конвертировать.Метод todouble(линия.Сплит(новая Чаре[] { '' })[1]);
 возвратить сложности;
}

Для блока награда, этот подход я взял, что должен работать с любой версией Абэ:

  1. получить высоту блокчейн (/услуги/наименование/г/getblockcount)
  2. сделать блок Информация (/поиска?вопрос=blocknum)
  3. получить значение из поколения сделке; вычесть из нее взносы и другие операции в блоке

Как указано выше, Шаг 2 возвращает HTML, который вам придется наскрести. Вот некоторые c# я сколачиваются:

частная десятичных GetRewardAbe(url_prefix строку, строку chain_name)
{
 Вебклиент сан. узел = новый Вебклиент();
 инт blockcount = конвертировать.ToInt32(душевая кабина, туалет.DownloadString(url_prefix + "/цепь/" + chain_name + "/м/getblockcount"));
 строки blockinfo = туалет.DownloadString(url_prefix + "/поиск?м=" + blockcount.Метод toString());
 инт tx_index = 0;
 десятичные награда = 0;
 (строки foreach в blockinfo.Сплит(новый тип char[] { '\Н' }))
 если (строка.Содержит("<тр>") && !линии.Содержит("<таблица>"))
{
 строка[] поля = линия.Сплит(новый строка[] { "<тд>", "</тд>", "<тр>", "</тр>" }, StringSplitOptions.RemoveEmptyEntries);
 если (tx_index == 0)
{
 вознаграждение = конвертировать.ToDecimal(поля[3].Сплит(новая Чаре[] { '' })[1]);
 если (поля[3].Содержит("+"))
перерыв;
}
еще
 награда -= конвертировать.ToDecimal(поля[1]);
tx_index++;
}
 возврат вознаграждения * (десятичный)100000000;
}

Возвращаемое значение находится в сатоши, соответствует тому, что blockexplorer.com или blockchain.info обмен на биткоин.

+186
Errolwesson 17 нояб. 2014 г., 17:08:07

Одной из причин сделки, сборов, чтобы сделать спам-атак дорого. Без платы, злоумышленник может создать большое нет-плата за операции по DoS-атаку на blockspace. И без платы за Шахтер не быть простимулирован, чтобы включить самую высокую плату транзакций в блоке. Он может атаковать сеть по добыче пустые блоки или нежелательной операции. (например, количество транзакций с четко и исключительно существуют для того, чтобы закоптить UTXO-набор или завалить блоки).

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

Это может быть интересно читать по этой теме: Рыночный сбор пояснил Джимми песня

+181
YagorGreat 13 июл. 2016 г., 16:31:09

что действительно требуется от кошелька Blockchain для того, чтобы успешно связать его с Шахтером, его ID или адрес añd как я знаю точно, что он успешно подключен

Это не так, как горных работ, звучит так, как будто вы участвуете в обычный лохотрон

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

Не разделяю ваш бумажник ID, пароль, семя фразы, закрытые ключи и т. д.

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

+169
Grod Samuel 29 янв. 2017 г., 12:11:52

У меня альткоины с 10 шахтеров.

Я хочу обновить некоторые изменения в код. с новыми правилами blockreward.

Я создал новый код тоже.

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

+138
Anurag Mittal 30 мая 2010 г., 16:00:35

Есть сайт, который позволяет торговать несколько разных криптовалют (биткоины, Namecoins, SolidCoins, RuCoins, лайткоины и т. д.) Все в одном месте?

+126
Vincent Williams 13 дек. 2013 г., 5:53:23

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

Хотя несколько моментов ограничить угрозы:

  1. Сумма вреда шахтеры могут не ограничена. Они не могут просто украсть деньги или создать больше денег из воздуха. Ущерб будет в порядке двойные расходы (разрешение: подождем еще подтверждений) или избавляться от сделки (что Шахтер не будет стимула делать если заплатили много по кому-либо или вынужден по закону).

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

  3. Операторы бассейном будет рыть себе могилы, если они делают зло: цена Bitcoin резко снизится, стоило им много денег и потерянных инвестиций.

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

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

+121
fiiiga 7 нояб. 2019 г., 7:24:55

Сегодня я видел вопрос о том, что биткойн-ядра будет делать, если вы установили чернослива=1. Документация по bitcoin.org государств:

Значение 0 отключает обрезку. Минимальное значение выше 0 - это 550.

Видимо, отчет по установке чернослива=1 гласит:

2017-03-11 10:51:блок обрезку 03 включен. Использовать вызов pruneblockchain ЭКП(высота), чтобы вручную избавляться заблокировать и отменить файлов.

Будут ядра биткоин чернослив к минимуму использование дискового пространства, или это просто включить ручную обрезку?

Автор вопроса был запущен биткоин ядра 0.14.0, если это делает разницу.

+58
Jackie Mosekoa 23 янв. 2012 г., 14:53:05

Итак, я пошел к localbitcoin, я встретил случайный парень в Старбаксе дал ему деньги и он перешел 1BTC с его телефона на мой счет Blockchain.info . Я думал, что придется ждать по крайней мере 10 минут или Поэтому прежде, чем сделка будет включать в блокчейн и есть первое подтверждение, а не парень ее послал и буквально через секунду после того, что Bitcoin был там в моем blockchain.info кошелек, как это возможно?

+37
Matthew Ratzloff 14 мар. 2016 г., 10:29:39

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