Идея возможной фальсификации доказательств в реальности?

Я когда-то читал это в Твиттере, который сказал Люк Dashjr, один из основных разработчиков:

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

Так интересно, будет ли идея фальсификации доказательств на самом деле возможно? Если нет, то почему?

+870
Timur Nurmagambetov 3 дек. 2017 г., 15:48:17
22 ответов

это можно сделать с биткоинами.

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

Виола. Один человек блокчейн.

+973
Kirby110 03 февр. '09 в 4:24

Ваш блокчейн поврежден и нужно будет загрузить повторно. Перейти на биткоин основной переменной datadir (это /дома/дома/.биткоин для вас) и удалите блоки и chainstate папки внутри него. Это приведет к bitcoind, чтобы загрузить весь блокчейн.

+946
om p 22 окт. 2013 г., 9:06:37

экспериментируя с JSON API-интерфейс RPC, используя bitcoinrpc.authproxy для Python.

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

я создал вспомогательные методы для создания моих входов/выходов такой:

деф getTransactionJsonInput(самовыдвижение, sourcetransaction) -> ул.: 
 возвращение {"txid": sourcetransaction['txid'] ,"Uвых":sourcetransaction['Uвых']}

деф getTransactionJsonOutput(самовыдвижение, new_address, суммы, returnaddress, returnamount) -> ул.: 
 возвращение {
 new_address: сумма,
 returnaddress: returnamount
}

и когда я напечатать мой призыв к createrawtransaction это представляется правильным

 печать('сделки входов', [ввод], типа([ввод]))
 печать('результаты операции', выход, тип(выходное))
 возвращение ВПВ.createrawtransaction(вход, выход)

Входы сделки [{'txid': 'sourcetransactionid', 'Uвых': 1}] <класса "список">

Выходы транзакций {'destinationaddress': 0.012, 'changeaddress': 2.56559703} <класс 'дикт'>

ошибка:

bitcoinrpc.authproxy.JSONRPCException: -3: ожидается тип массива, есть объект

решение

спасибо @m1xolyd1an я повернул в нужном направлении. Все это отсутствовало в моей реализации было добавлять [] вокруг входов. я добавил их в заявление для печати, но не в реальный вызов!

перед

возвращение ВПВ.createrawtransaction(вход, выход)

после

возвращение ВПВ.createrawtransaction([ввод], выход)

новый результат:

новая сделка: 0200000001005134d493cb536a5000b491b0b6dbca6c5187eec67ffb8769fdedac9ec25db40100000000ffffffff02804f12000000000017a914190150e1a961a2509b1d48c4d6cf6b644454cd968757ca4a0f0000000017a91496711dceda7240a6c492b2fabc5d44ab5d4bd19e8700000000

+799
Christy Hayes 16 июл. 2019 г., 1:57:39

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

+767
Rosie Compton 2 авг. 2011 г., 14:52:11

Что такое краткое описание того, что доказательство резервов и подтверждение обязательств означает?
В чем их разница?

Я искал и читал, но я его еще не получил.
Это сделано аудитором? Это ревизия?

+721
ShaneMit 11 окт. 2018 г., 21:16:38

В каталоге данных для монет (/реж/для/yourcoin/.yourcoin) вы будете иметь файл конфигурации. В этом конфигурационном файле, вы хотите поместить строку подключения=IP-адрес:порт

Это сделает ваш клиент автоматически пытается установить соединение с узлом(ы) вы укажете.

Пример: в myaltcoin.конф поместить строку подключения=192.168.49.50:9332 Очевидно, просто подставить нужный IP-адрес и порт.

+624
Elya Si 13 мар. 2012 г., 9:30:34

Я думаю, что у вас есть два варианта:

1) патч биткоин-ядра и сделать getrawmempoolentry вернуть mempool сделки, отсортированный после entry_date. Есть импульс, мульти индекс, который будет способен быстро сортировать mempool сделки (https://github.com/bitcoin/bitcoin/blob/master/src/txmempool.h#L303)

2) Вы можете попытаться улучшить ваш PHP вроде скорость. ИМХО Arsort не лучший выбор.

+594
Juha Autero 23 янв. 2011 г., 11:47:11

Молния, сеть кошелек может быть совместима с ГК нано созданный кошелек, но не должны быть.

ГК нано генерирует семенами (24 слов), используя бип 32/39 бип/бип 44.

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

Если вы хотите сделать это, вы можете попробовать импортировать свои семена книги в эклер, который не descructive действий (т. е. это не повлияет на ваш кошелек/фонды).

+565
Harmon Ferrell 28 дек. 2011 г., 18:41:12

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

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

https://bitcoin.stackexchange.com/a/2139/894

Это точно?

+544
zora martin 25 июл. 2018 г., 1:04:37

Binance объявили, что они делают свои собственные блокчейн. Но это значит совершенно новый блокчейн или будет по-прежнему сидеть на вершине Эфириума? Или он будет иметь свои узлы?

+510
Hugo Romano 5 сент. 2012 г., 4:13:17

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

Ниже ссылки-то я читал

Какой вес блока и чем он отличается от размера блока?

После активации Segwit, что максимальный размер блока?

Понимание Segwit Размер Блока

Вес блока

Но мне например нужно clearfy о вес блока Т_Т

В Понимание Segwit размер блока статьи, писатель сказал, что

В Segwit блоков ограничено нечто, называемое блока вес. Вес блока представляет собой новую концепцию в Segwit, и он вычисляется на основе объема транзакций. Каждая сделка имеет “вес”, который определяется следующим образом:

(размер TX с свидетель данные содрали) * 3 + (Техас размер)

Я думаю, что размер Техас

Техас = транзакций + данные свидетеля 

Затем я застрял в рекурсию... я не могу undetstand.

Мне, кажется, противоречат друг другу.

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

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

Например, некоторые люди говорят(особенно биткоин Вики - вес блока)

вес = 1Мб * 3 + 1 Мб = 4 МБ

А другие говорили, что(какой вес блока и чем он отличается от размера блока?)

Даже в этом посте, Сэм Йоун сказал 4,000,000 ВУ, но блок все равно 1Мб

вес = 1Мб * 3 + 1Мб = 4,000,000 вес устройства(ВУ) или 4mWU

какое точное выражение?

а если нет свидетелей, данных то, что осталось 3Мб или 3mWU заполнены? он пустой?

В блоке #577639, размер блока 1158.038 КБ

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

Право 1Мб данных операций + свидетель...?

или

1Мб блок является общим для сделок и данные свидетеля?

Основная концепция segwit держать размер блока в 1Мб для сделок и добавить данные свидетель...?

Это означает, что размер сделки(данные свидетель-основе) является 1158.038 КБ? или сделок + данные свидетель 1158.038 КБ?

Как мы знаем, максимальный вес блока 4mWU или 4Мб. Поэтому, если операции без данных свидетелей составляет около 1,1 МБ, то это кажется странным

вес блока = 1.1 Мб * 3 + (1,1 Мб + witnessdata)

Потому что это больше, чем возможный максимальный размер.

Если сделки + данных свидетелей составляет около 1,1 Мб

вес блока = (1.1 Мб - witnessdata) * 3 + 1,1 Мб

этот расчет кажется более разумным. Но если данные свидетель-то меньше, чем 0,1 Мб вес блока составляет более 4 МБ. Возможно ли, что так мало данных свидетелей?

А если есть только данные транзакции и нет свидетелей данных, как 1 Мб данных транзакций и 0 свидетелей данных(блок вес-4 Мб или 4mWU который теоритическая максимальный размер) Тогда как пластичность транзакции проблема решена?

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

Спасибо за чтение

+483
GlaIZier 19 июн. 2017 г., 3:36:47

Пытаясь сделать слой работает на моем сервере.

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

***** Это service_repository не хватает? Добавить модуль service_repository на вашем пути Python!

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

Я не могу показаться, чтобы найти любой service_repository - так что не знаю, что добавить в мой PYTHONPATH?

Любые идеи?

+446
Zyki 5 февр. 2015 г., 23:27:27

Они мои пустые блоки. Сложность блока останется прежним.

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

  1. Клиенты будут держать добычи.
  2. Клиенты будут остановить добычу, потому что нет никаких сделок.

Я признаю, что это бесполезный ответ (может они, а может-нет) но я надеюсь, вы понимаете трудность предсказать, что добыча клиентов будет как в 5-10 лет.

+398
simriti 19 нояб. 2013 г., 18:33:03

Я надеюсь, что "цепь longestt" на самом деле означает "самое доказательство работы", а не "большинство блоков"!

Это точно, что: "самая длинная цепь" является одним из самых работы, не самая большая высота блока.

Если это не так, то нападение, как вы описали, может работать.

+370
Newuser 18 мар. 2010 г., 9:20:44

Есть "Decred кросс-цепь атомной замена". Это позволяет двум людям для обмена криптовалют (в настоящее время БТЦ/ЛТЦ/Vertcoin/Decred), не доверяя третьим лицам, ни друг друга.

Обновление: также сети освещения по атомной своп.

Вы можете прочитать об этом на Decred блог или на GitHub

+290
MrKoch1985usa 30 дек. 2015 г., 22:11:41

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

Если да, какое минимальное количество шахтеров необходимо добавить поддельные транзакции в цепочке блоков?

+271
alexjhart 4 окт. 2013 г., 8:24:20

Вашего открытого ключа составляет 65 байт данных: ведущий 0х04 байт затем по 32 байта на координату X и 32 байта на координату Y точки, которую он представляет. Он занимает 130 шестнадцатеричных символов в 4 бита на символ, чтобы отобразить полный ключ.

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

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

В транжира выходных сделки:

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

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

+225
Baoyuan 28 сент. 2019 г., 23:06:24

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

+163
Jacob LaChance 6 апр. 2011 г., 14:30:45

Сообщение, чьи численно интерпретировать хэш, Z, используется для создания подписи ECDSA (р,с) строится следующим образом:

  1. Начните с ваших неподписанных транзакций.
  2. Удалить все scriptSigs (например, если у вас несколько txins, некоторые из которых уже может быть подписан, удалить эти подписи). Для вашего примера это действие не имеет никакого эффекта, так как существует только один txin.
  3. Для txin вы собираетесь подписать, найти scriptPubKey соответствующий UTXO, и установить scriptSig текущего txin по значению scriptPubKey в UTXO по.
  4. Сериализовать транзакции.
  5. Добавить SIGHASH тип, серийный номер, как 32-битный прямой порядок байтов целое число (по умолчанию SIGHASH_ALL имеет значение 1).

Результирующий поток байтов двойной ша-256 хэшируется и интерпретировать как обратный порядок байтов целое число (используется для алгоритма ECDSA по з параметр).

На вашем примере scriptPubKey вставить исходит из UTXO на txid bf6c1139ea01ca054b8d00aa0a088daaeab4f3b8e111626c6be7d603a9dd8dff индекс 0, а конкретно это OP_DUP OP_HASH160 d951eb562f1ff26b6cbe89f04eda365ea6bd95ce OP_EQUALVERIFY OP_CHECKSIG. Сериализован, это 76a914d951eb562f1ff26b6cbe89f04eda365ea6bd95ce88ac. Сделки, построенные после завершения шага 3:

"txid" : "a80d616ca30a003448157b92df511ad5294e225fd77fc3f2d5dc367a4d27f375",
"версии" : 1,
"locktime" : 0,
"Альвин" : [
{
 "txid" : "bf6c1139ea01ca054b8d00aa0a088daaeab4f3b8e111626c6be7d603a9dd8dff",
 "Uвых" : 0,
 "scriptSig" : {
 "АСМ" : "OP_DUP OP_HASH160 d951eb562f1ff26b6cbe89f04eda365ea6bd95ce OP_EQUALVERIFY OP_CHECKSIG",
 "наговор" : "76a914d951eb562f1ff26b6cbe89f04eda365ea6bd95ce88ac"
},
 "последовательности" : 4294967295
}
],
"Uвых" : [
{
 "значение" : 0.49990000,
 "н" : 0,
 "scriptPubKey" : {
 "АСМ" : "OP_DUP OP_HASH160 7865b0b301119fc3eadc7f3406ff1339908e46d4 OP_EQUALVERIFY OP_CHECKSIG",
 "наговор" : "76a9147865b0b301119fc3eadc7f3406ff1339908e46d488ac",
 "reqSigs" : 1,
 "тип" : "pubkeyhash",
 "адреса" : [
"1Bybuago2EGrB7Z6jJG2GAFDojp6Njr8fa"
]
}
}
]

Это может выглядеть странно scriptPubKey-стиль скрипта в поле scriptSig, но это так оно и есть. После сериализации, это становится:

1: 0100000001ff8ddda903d6e76b6c6211e1b8f3b4eaaa8d080aaa008d4b05ca01ea39116cbf0000000019
2: 76a914d951eb562f1ff26b6cbe89f04eda365ea6bd95ce88ac
3: ffffffff0170c9fa02000000001976a9147865b0b301119fc3eadc7f3406ff1339908e46d488ac00000000
4: 01000000

Выше, линия 2 сериализованный scriptPubKey, и линия 4 является добавленным SIGHASH_ALL. Это полное сообщение хэшируется и интерпретировано как интервал, в результате чего з=78289050778760245857840977078575435990304898491073736369300700378208907476567, который вместе с секретным ключом используется, чтобы наконец-то создать по алгоритму ECDSA подпись.

Обратите внимание, что Шаг 2 выше предполагает подпись SIGHASH_ALL. Другие подписи видах удалить дополнительные детали сделки перед подписанием, пожалуйста, смотрите SIGHASH типов ссылке для более подробной информации.

+161
Artur Biesiadowski 3 янв. 2013 г., 16:35:33

По этой WikiPage, а MultiSigTransaction, что не включает комиссии могут никогда не попасть в блок.

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

+107
morning star payment 13 июл. 2010 г., 8:41:47

Это происходит, когда bitcoind переработано большое количество блоков в dbcache, но не написано на диске до того, как процесс завершился.

См. здесь для более подробной информации.

+29
gpu3d 6 дек. 2013 г., 17:22:51

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

+12
Oh Liang Panther 6 сент. 2014 г., 21:07:28

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