Публичные ключи и соответствующие им значения хэш-функции как фильтра BitcoinJ Блум?

В статье, о конфиденциальности положения Блум фильтры в легкие Клиент Биткоин имеет это, чтобы сказать о Bloom фильтров в "СПВ":

...Действительно, в текущих реализациях клиентов СПВ [BitcoinJ], как адреса и их открытые ключи вставляются в аутсорсинг Фильтр Блума. Таким образом, если противник знает адрес и его публичный ключ, то она может легко проверить, является ли адрес это истинно положительные фильтра, проверяя, является ли адрес и его открытого ключа вставляются в фильтр. Если нет, то это сильно вероятно, что адрес является ложное срабатывание фильтра. Мы считаем, что включение адреса и его открытого ключа в фильтре Блума является серьезным недостатком в текущих реализациях—и клиент СПВ может быть легко отменено; таким образом, мы не использовали этот недостаток в нашем анализе. На самом деле, более чем 99% всех биткоин-транзакциях состоят из платежи в биткойн-адреса (или открытый ключ хеш); кроме того, только 4587 из 33 миллионов адресов в системе получил операций, предназначенных для их публичных ключей и публичный ключ хэши. Это означает, что для подавляющего большинства клиентов биткоин, нет необходимости включать как открытые ключи и их хэши (т. е. биткоин адреса) в фильтрах Блума; вставка одной или другой было бы достаточно (более чем в 99% случаев). [мой акцент]

Идея эта атака повторялась в частную жизнь в BitcoinJ:

Уязвимость заключается в том, что если по умолчанию действительно в фильтре, то запросов по умолчанию и pubkeyhash должен возвращать true. Потому что pubkeyhash это просто еще один почти равномерно случайную строку, вероятность ложного позитва для злоумышленника ФП' = ФП^2 = 0.0000000021555. Я получил около 56 миллионов публичные ключи из блокчейна (с середины января), который теоретически результаты в 56 млн * ФП' = 1.29 ожидается ложных срабатываний при сканировании блокчейн.

Другими словами, простой атаки достаточно, чтобы выбрать все открытые ключи от фильтра BitcoinJ Блум.

Нынешний выпуск BitcoinJ добавить открытый ключ и его хэш-значения для фильтров Блума? Если нет, релиз которой остановился его из системы?

Также, почему оба открытых ключей и хэшей, добавлены в первую очередь?

+451
iamdevlinph 7 янв. 2014 г., 10:34:59
15 ответов

Первые две строки-просто предупреждения, которые можно игнорировать. Но ошибка-это известная проблема вызвана биткоина использование устаревшего API, который был удален в версии Boost. То исправить это, чтобы изменить src/ui.cpp по линии 1809 следующим образом:

{
 если (!fAutoStart)
{
- отсоединить(GetAutostartFilePath().native_file_string().c_str());
+ отвязать(GetAutostartFilePath().c_str());
}
еще
{

(Удалить строки, помеченные - и заменить его с линией отмечены +.)

+925
saxarok83 03 февр. '09 в 4:24

не решить за N^(-1), и, следовательно, Н будет эквивалентно нахождению решения дискретного логарифма?

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

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

+838
AplusKminus 4 июн. 2019 г., 18:10:42

Если вы имеете в виду количество блоков во всей цепочке, getblockcount дает вам, что.

Команды getinfo и getblockchaininfo также содержат "блоки" в своем ответе. Последний также включает в себя "заголовки", который должен показать вам больше, чем число "блоков", когда bitcoind не догнал еще, но слышал про новый блок.

+831
georger 3 окт. 2012 г., 12:48:58

Они утверждают, что вы должны держать BTC на 1 августа и состоится BTC с октября. Потому что август, до октября, вы не имеете любые BTC в кошельке на 1 августа и поэтому не вижу ВСН в свой аккаунт.

+785
TripShock 22 июл. 2016 г., 13:56:14

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

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

+772
Nakini 18 авг. 2012 г., 7:29:43

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

+729
bilal saddal 25 нояб. 2017 г., 14:08:36

Каждый ведущий 1 в адрес после первого 1 является нулем байт в 160-битный хэш от открытого ключа, что делает поиск 256 раз тяжелее. См. вики-страницу в base58check кодирования для деталей. В то время как любой другой персонаж делает всего около 56 раз сложнее поиск.

Каждая версия 0 биткоин-адрес начинается с 1. И 1 в 256 из них начинают с две 1. Однако, я не знаю, где 23 приходит. Возможно, это результат Бенфорда закон - мы меняем на базу 58, и поэтому можно ожидать новых адресов, чтобы начать с '12', чем любой другой 2 символов.

Чтобы убедиться в этом, предположим, что существует 256 адресов, от 0x00 до 0xFF, а что мы превратили их в базу сделать 10 адресов. Есть 256 различных адресов, и 111 256 начать с '1' (1, 10, 11, ..., 19, 100, 101, ..., 199). В кодировке base58 биткоин, стоимость 1 кодируется символ '2'.

Редактировать: приведенный выше, это довольно убедительно, пока не увидите, что:

  • '12' до '16' у всех есть сложности 23,
  • '17' через '1П' есть сложности 22,
  • '1 квартал' имеет сложности 65 и
  • '1Р' через '1З' трудно 1353.
+713
Sitizy 15 мар. 2017 г., 2:19:05

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

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

Спасибо

+645
Sal Alturaigi 2 окт. 2017 г., 5:34:31

Чтобы сбросить одноранговой базе данных в исходное состояние, остановить Биткойн-ядра, удалить сверстников.DAT-файл, и начать все заново ядра биткоин.

+600
Philip Verzosa 19 сент. 2012 г., 10:36:55

Это не так сложно, как вы думаете. Давайте предположим, что у вас есть казино. Вы либо сделать платформу вашей собственной личности, и перенесут игры. Теперь вы готовы принимать Bitcoin депозиты. Вот основные элементы, которые вы должны принять во внимание.

  • Вы можете иметь свой собственный кошелек, размещенных на вашем сервере. Если вы это сделаете, вы сэкономите небольшую комиссию не через третье лицо. Вы должны иметь отличный уровень безопасности, и, соответственно, управлять своими средствами. (Холодный кошелек). Игроки могут снять и внести средства на кошелек.
  • Вы можете использовать третью сторону, как coinpayments.com что взять .5% комиссии. Хорошая вещь об этом является то, что вам не придется беспокоиться о безопасности, потому что они это делают. Что еще более важно, вы можете принять другие формы криптовалюты как Монер, Биткоин казино, пульсации и т. д..
  • Вы экономите около 20%, используя криптовалюты вместо Фиат (CC, Нетеллер, скрилл и т. д.). Вниз сторона в том, что количество игроков, которые используют биткоин гораздо ниже. Многие даже не знают, что биткоин на данный момент.

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

+479
j0cka 11 нояб. 2014 г., 14:15:05

Здесь, Гаро предлагает стандартизации Шнорра подписей: https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki

Например, знак() возвращает сиг{Р,С} , которые могут быть закодированы с 64 байт (Р. Х || С) где R. y могут быть однозначными через квадратичный вычет.

После осуществления входа() и проверить() в соответствии с этим документом, я попытался реализовать слепой подписи.

Однако, проверка моей раскрытием подпись не 50% времени из-за линии возвратит false, если Якоби(Р. г) !== 1 в убедитесь, (), прилагается ниже.

Вот мой pseudocodey осущ:

типа подпись = { ГХ: инт ы: инт }
тип Unblinder = { Альфа: инт: прием инт }
тип BlindedMessage = { задача: инт }
BlindedSignature тип = { с: инт }

blindMessage ФН(код: точка, подписывающего: точка, сообщение: байт): (Unblinder, BlindedMessage) {
 Р = нонсен
 Р = подписанта
 Альфа = слчис()
 бета = слчис()
 Р' = р + Альфа*г + бета*П
 // вызов
 с' = инт(хэш(Р'.х || П || сообщение)) % кривой.Н
 // ослепил вызов
 с = С' + бета
 возвращение (Unblinder(Альфа, Р'.х), BlindedMessage(с))
}

ФН blindSign(подписант: привчной, нонсен: привчной, blindedMessage: BlindedMessage): BlindedSignature {
 с = blindedMessage.вызов
 х = подписанта
 к = нонсен

 З = К + С*Х
 возвращение BlindedSignature(с)
}

ФН unblind(unblinder: Unblinder, blindedSig: BlindedSignature): подпись {
 ГХ = unblinder.ГХ
 ы = blindedSig.с + unblinder.Альфа
 возвращение подпись(ГХ, х)
} 

// реализуемых в соответствии с сипа спец
ФН проверки(по умолчанию: момент, сообщение: байт, подпись: подпись): типа bool {
 ПК = по умолчанию
 м = сообщение
 П = по умолчанию

 (р, с) = сиг
 е = инт(хэш(р || р || м)) % кривой.Н
 Р = С*Г - Е*Р

 возвращает false, если isInfinitePoint(Р)
 возвращает false, если Якоби(Р. г) !== 1 // <-- Не здесь 50% 
 возвращает false, если Р. Х !== Р
 возвращает true
}

Вот тест, который будет не 50% времени:

noncePriv = слчис()
signerPriv = слчис()
noncePub = noncePriv * кривой.Г
signerPub = signerPriv * кривой.Г
сообщение = хэш('мое сообщение')

// слепых
(unblinder, blindedMessage) = blindMessage(noncePub, signerPub, сообщение)

// знак
blindedSig = blindSign(signerPriv, noncePriv, blindedMessage)

// unblind 
сиг = unblind(unblinder, blindedSig)

// проверки
проверено = проверить(signerPub, сообщение, сиг)

утверждать(проверено)

Спец это знак() использует извращенец = Якоби(г) === 1 ? специальное кривой.Н - извращенец в силу квадратичного остатка г, и я предполагаю, что мой тест не удается, потому что 50% времени он создает non-выпарки г. Однако, я не смог выяснить, где и как применить это в моей слепой-связанный код. Никакие мои усилия сказались на моем тарифе 50% пройдет.

+439
Lucas Taulealea 26 июл. 2010 г., 4:28:37

У вас есть хорошее обсуждение в:

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

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

В общем, квантовые компьютеры не в геометрической прогрессии лучше, чем классические компьютеры. Вы не можете получить доступ всех государств в суперпозиции, только глобальные свойства. Вы можете прочитать http://www.cs.virginia.edu/~Робинс/The_Limits_of_Quantum_Computers.PDF файл , чтобы получить хорошее представление о том, что они могут и не могут делать.

+428
Kundan Kumar 28 июн. 2013 г., 13:09:45

Я недавно отправляла моя подруга около $950 в БТЦ от Coinbase чтобы его биткоин кошелек на BlockChain.info.

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

Я не уверен, почему эта проблема возникает. Может кто-то пожалуйста, помогите? Очевидно, с суммой около $950, я просто не могу потерять эти деньги...

+383
Drossd 28 июн. 2019 г., 18:27:12

Большинство параметров в Bitcoin Core файл config может быть изменен во время или после ИБД (начальная загрузка блокчейна) без осложнений.

Однако есть некоторые параметры в файле config, в котором важно, что вы установите их правильно до ВКЗ. Если вам не придется перезагрузить ИБД или это сильно увеличит время для ВБК по полной.

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

+377
ThanksInAdvance 8 июл. 2018 г., 18:07:31

В зависимости от величины и срочности вашего вопроса, Вы могли бы хотеть попробовать обратиться в Фонд биткоин:

Проекта, сообщил в июле, что фонд формируется правовой защиты Комитет которого Брайан Клейн является председателем. Либо его офисе, или в биткоин Фонде юрист Патрик Murck в офисе должны быть в состоянии ответить на правовые вопросы или направить вас к кому-то.

+77
RalphPirker 26 апр. 2013 г., 18:37:04

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