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

Я пытаюсь написать программное обеспечение в эликсир, чтобы сделать это. У меня есть исходный код для BitcoinJ, но это довольно кропотливое выяснение того, что он делает. Если я смотрю на bitcoin.info я вижу этот блок

https://blockchain.info/block/00000000000000000028d1186d6dc9191a6ec93624141031e31814e22e75e0c5

осуществляет операции, в том числе 2c1a83d5a511399f151571ff26925764ef73081251c239dd2eb6904304d7bcba

от blockchain.info вывел

1PSfpNCcY9uNh1QEitLLLGaDX5LicnBJhx отправлено 12 BTC на

3PK9abqzd2oK3yWgESSZ6Ps1wPBBu222vw и 0.0789 BTC на

12AE3fQj1CsSGL9c3aZpkSDz991KUxntvb

Я хочу выяснить, как он это вычислил. Спасибо за любую информацию.

+241
C4illin 26 апр. 2014 г., 22:27:12
20 ответов

Как работает система Риппл решить проблемы двойной? Это также использовать некоторые блок-цепи-как организация, которая официально определяет, какие сделки будут подтверждены, а какие нет, или не использовать какой-то другой хитрый механизм?

+974
COvayurt 03 февр. '09 в 4:24

Вы должны добавить

чтобы=8666
выбрать=0.0.0.0/0

Пример конфигурационного файла:

rpcuser=имя пользователя
rpcpassword=strong_pass
выбрать=0.0.0.0/0
слушать=0
демон=1
сервер=1
txindex=1
timestampindex=1
rpcthreads=4
чтобы=8666

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

+951
user9811449 20 мая 2011 г., 22:03:41

биткоин-Кинк помочь listtransactions возвращает:

listtransactions ( "счет", счет от )

Возвращает до "кол-во" последних транзакциях, пропуская первую " с "операции по счету "учетная запись".

Аргументы:
1. учетная запись "" (строка, необязательный) имя учетной записи. Если не включена, это будет список всех операций по всем счетам.
 Если "", то будет список операций для учетной записи по умолчанию.
2. граф (числовое, необязательное, по умолчанию=10) количество сделок, чтобы вернуться
3. от (число, необязательный, значение по умолчанию=0) количество сделок, чтобы пропустить

Результат:
[
{
 "счет":"имя учетной записи", (строка) имя учетной записи, связанных со сделкой.
 Он будет "" для учетной записи по умолчанию.
 "адрес":"bitcoinaddress", (строку) биткоин адрес сделки. Не подарок
 ход операции (категория = движение).
 "категория":"отправить|получить|переместить", (строку) категория сделки. 'перемещение' местный (от блокчейна)
 транзакции между счетами, и не связан с адресом,
 идентификатор транзакции или заблокировать'. Send' и 'получать' сделки
 связанные с адресом, идентификатором транзакции и заблокировать детали
 "сумма": х.ХХХ, (числовое) сумма в BTC. Это является негативной для "отправить" категории, и для
 категория "вперед" для перемещения исходящих. Это позитив для получение категории
 для категории "переместить" для входящих средств.
 "сбор": х.ХХХ, (числовое) сумма гонорара в БТЦ. Это отрицательные и доступен только для
 'отправить' категории сделок.
 "подтверждений": Н (числовое) количество подтверждений для транзакций. Доступны для отправки и
 получение категории сделок.
 "blockhash": "hashvalue, которое", (строку) блок хэш, содержащий сделки. Доступные для 'Send' и 'получить'
 категории сделок.
 "blockindex": Н (числовое) индекс блока, содержащего сделки. Доступные для 'Send' и 'получить'
 категории сделок.
 "txid": "ИД транзакции", (строка) идентификатор транзакции. Доступные для 'Send' и 'получать' категории сделок.
 "время": ХХХ, (числовое) сделки время в секундах с начала эпохи (в полночь 1 января 1970 по Гринвичу).
 "timereceived": ХХХ, (числовое) время, полученное в секундах с начала эпохи (в полночь 1 января 1970 по Гринвичу). Доступен
 для "отправить" и "получение" категории сделок.
 "комментарий": "...", (string) если комментарий связан с транзакцией.
 "otheraccount": "имя учетной записи", (строку) для 'перемещение' категория сделок, счета средств пришли
 От (для получения средств, положительные суммы), или пошел (для отправки средств,
 отрицательные суммы).
}
]

Примеры:

Список последних 10 операций в системах
> биткоин-Кинк listtransactions

Список последних 10 операций по счету Табби 
> биткоин-Кинк listtransactions "Табби"

Список операций 100 до 120 со счета Табби 
> биткоин-Кинк listtransactions "Табби" 20 100

В виде JSON вызова RPC
> скручиваемость это --User имя_пользователя --данных-Binary '{"jsonrpc": "1.0", "идентификатор":"curltest", "способ": "listtransactions", "параметров": ["Табби", 20, 100] }' -ч 'содержимое-тип: текст/равнина;' http://127.0.0.1:8332/

Однако, когда я выполнить биткоин-Кинк listtransactions он возвращает:

[
{
 "счет" : "mmfCt5VCQn4CAiv7EbJCuhUH1YbRSTB5zf",
 "адрес" : "mu2agQWK8wrjiDeGaGx6kH6ndMAHZA1spa",
 "категория" : "получать",
 "сумма" : 0.00594422,
 "подтверждений" : 0,
 "txid" : "777aa309142a5ee282996344a67b547098b6beb7cf5f016dd2efc28970a1a4f3",
 "walletconflicts" : [
],
 "время" : 1417431126,
 "timereceived" : 1417431129
}
]

Формат возврата не соответствует описание метода, так что является правильным? Я что-то упускаю?

+912
VanillaPrincess 9 окт. 2018 г., 12:13:20

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

Душок: https://bitcointalk.org/index.php?topic=92416.0

Цветные монеты: https://bitcointalk.org/index.php?topic=106373.0

+894
feedthedogs 14 апр. 2017 г., 14:57:43

Протокол Биткоин не требует никакой пошлины, подлежащей уплате.

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

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

+756
SMS von der Tann 23 янв. 2010 г., 6:23:57

Если мы говорим об умных контрактах и таких (которые мы), то нет никакого текста для поиска контрактов и тому подобное. Цифровой контракта функциональность не работает, как Blockchain.info комментарии.

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

хеш( хеш(блокчейн времени) + хеш(документ))

Думайте его полюбите это: патент в конверте. Конверт запечатан воском и печатью с печатью ссылка:

  • доказательства времени и
  • доказательство содержания конверта

Текст внутри конверта не найти, в то время как комментарии Blockchain.info (по аналогии с пост-он отмечает в бухгалтерии) может быть, хотя полезность не та.

+751
hyperum 29 сент. 2019 г., 4:07:10

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

Так что это все поведение, как ожидалось.

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

Если вы контролируете 51%, вы эффективно контролировать 100%. Это тоже ожидаемое поведение.

+718
IDBUYTHATFORADOLLAR 7 мая 2016 г., 7:04:19

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

Вот сообщение об ошибке (представленное #145):

======================================================================
Незачет: test_all (__основной__.TestTransaction)
----------------------------------------------------------------------
Обратная трассировка (самый недавний призыв последнего):
 Файл "/private/var/mobile/Containers/Shared/AppGroup/AA78F2EC-3EE8-40F4-A318-8A9AB1BCB5FF/Pythonista3/Documents/pybitcointools-vbuterin/test.py"линия 179, в test_all
 самовывоз.assertTrue(verify_tx_input(тх1, 0, mscript, sig1, пабы[1]), "проверка ошибок")
AssertionError: Ошибка Проверки 

======================================================================
Незачет: test_all (__основной__.TestTransactionSignVerify)
----------------------------------------------------------------------
Обратная трассировка (самый недавний призыв последнего):
 Файл "/private/var/mobile/Containers/Shared/AppGroup/AA78F2EC-3EE8-40F4-A318-8A9AB1BCB5FF/Pythonista3/Documents/pybitcointools-vbuterin/test.py"строка 133, в test_all
 "Ошибка контроля"
AssertionError: ошибка проверки 

----------------------------------------------------------------------
Побежал 18 Тесты в 6.944 с

Сбой (сбои=2 ошибки=2)

Мне кажется, это связано с введением low_s (т. е. С = Н-S Если s>Н//2 еще сек) для алгоритма ECDSA подпись, но не могу быть уверен.

Может кто-нибудь указать, где дела идут в заблуждение?

+649
Daisy222 8 авг. 2012 г., 16:12:35

Это общие для сайта, чтобы сразу же отправлять полученные монетки в свою superwallet (мастер-узел) при Х подтверждений?

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

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

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

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

+573
SeeBeyondMusic 10 авг. 2017 г., 6:44:06

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

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

Например, в PHP интерпретатор вы можете сделать что-то подобное, чтобы выяснить, где ваши математические начинает ломаться:

в PHP > Эхо 10000.00000001 * 2;
20000.00000002
в PHP > Эхо 100000.00000001 * 2;
200000.00000002
в PHP > Эхо 1000000.00000001 * 2;
2000000

Я под управлением 64-разрядной версии PHP тоже. Если вы работаете в 32-разрядной версии PHP ситуация становится довольно остро.

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

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

/** Обменять Сатоши на строку, которая может быть видна пользователям.
 * вход: $значение целое число или строку, которая может быть получена как int.
 * выход: строку (например: "1.00400000")
*/
convertToBTCFromSatoshi функция($значение){
 возвращение bcdiv( intval($значение), 100000000, 8 );
}

Если вы хотите обрезать нули с конца выходного, можно использовать обрезки() функции:

функция rtrim($значение, "0"); // убираем нули с правой стороны
+543
89516566097 12 февр. 2017 г., 16:33:37

Так насколько я понимаю, биткоин военнопленных склонен к 51% атаки, но как распределенной системы, также склонны к 1/3 право БФТ нападение? Я думаю, что это математически доказано, что в распределенной системе, если у вас есть более чем на 1/3 плохие узлы сотрудничать, тогда вы не сможете благополучно выйти на правильный консенсус, несмотря ни на что?

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

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

Так что мое понимание правильное?

+504
Rob Sonke 11 янв. 2016 г., 0:01:16

В биткоин Вики описывает трудности целевое представление следующим образом:

Как затруднение, хранящихся в блоках? Каждый блок хранит упакованные представление (так называемый "бит") для своих фактических шестнадцатеричном цели. В цели могут быть выведены из него через предопределенные формулы. Например, если упакованные цели в блоке 0x1b0404cb, шестнадцатеричной цель

0x0404cb * 2**(8*(0x1b - 3)) = 0x00000000000404CB000000000000000000000000000000000000000000000000

Обратите внимание, что значение 0x0404cb-это значение со знаком в данном формате. В большое юридическое значение для этого поля 0x7fffff. Чтобы принять большее значение необходимо сдвинуть вниз на один полный байт. Также 0x008000 самый маленький положительное действительное значение.

Почему 0x008000 наименьшее положительное действительное значение?

+474
Bright Varghese 28 нояб. 2011 г., 9:29:20

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

Спасибо!

+468
Kyle Maxwell 5 сент. 2017 г., 6:10:46

65000 сделок вычитается. Они все-таки есть (55441+14199) так долго они не отменили. Причина вычитания, кажется, слишком низкая плата, менее 30 сатоши. Может blockchain.info не хочу считать "спам" и "атак" в статистике? Это произошло около 12:00 здесь, в Швеции. И пробой +200$в Bitcoin цене следуют около 15:30.

Бассейны только в узлах. Что они делают, когда он заполняется до них.

https://bitcoinfees.21.co

+421
ben vanhuyse 20 сент. 2013 г., 17:47:57

Я пытаюсь создать транзакцию БТЦ с одним входом и двумя выходами, один для и один OP_RETURN для привязки данных. И я делаю все, что в моих регтест бэкэнда. Сырые неподписанные сделки

01000000018be9d0e99e74d69d915e105db1328707f713d42a894909b18a78fe68e1d8290c0000000023210340165231215a98e7a32abce9d410ecd09ac505938b25f9451defa051d591ebf8acffffffff0218ee052a010000001976a9143eb52fb0be4be87edc74848b371547f663e26c7e88ac0000000000000000226a408973d6b447bdda5312b1ef1b5509668672296301dd328d4e55317def98f165d200000000

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

500: {"результат":null, то"ошибка":{"код":-26,"сообщение":"16: обязательные-скрипт-проверить-флаг-не (неканонические дер подпись)"},"идентификатор":2}

Я следил за шаги, описанные в как активировать базовые ТХ? а также подписание сырьевой сделке с Python уровнем (или OpenSSL) , а также пытались использовать pybitcointools в знак Вход без успеха.

Адрес и секретный ключ, которые я использую

адрес: "mmEXEzUGcMmmiLsfxxM8gB8TQSTkuR1drf"
ПК: "cTyF9pebH3kwwzUt5gzaxSDQ1DbqYfx4p1i4d1tyjtsdeeufgysk"

и stragely, хотя PK-это один дал мне ./биткоин-Кинк -регтест dumpprivkey <адрес> не в полной мере соответствуют адресу и я не уверен, почему или что мне нужно сделать, чтобы его (это в WIF формат и сжимается, т. е. 0х01 добавляется в конец

Оригинальный ТХ включает scriptPubKey из utxo. Я тогда двойной SHA256 с сыром Техас (показано выше) и заменить scriptPubKey часть с sigScript | по умолчанию , используя следующий код:

private_key, compressed_pk = wif_to_private_key(private_key_wif)
ТХ = объект ByteArray.fromhex(raw_unsigned_transaction) + инт(1).to_bytes(4, 'маленький')

double_sha256_tx = hashlib.и SHA256(hashlib.и SHA256(Техас).дайджест()).дайджест()
signing_key = уровнем.SigningKey.from_string(объект ByteArray.fromhex(private_key), кривая=уровнем.Кривая secp256k1)
открытый_ключ = объект ByteArray.fromhex(privtopub(private_key_wif))
подпись = signing_key.sign_digest(double_sha256_tx, sigencode=уровнем.утиль.sigencode_der) + инт(1).to_bytes(1, 'маленький')
scriptSig = to_varstr(подпись) + to_varstr(открытый_ключ)

to_varstr просто печатает [лен]|[данные] и privtopub является функцией от pybitcointools, поскольку я не мог выяснить, как перейти от сжатого закрытого ключа на адрес вручную. Стоит отметить, однако, что открытый_ключ вот что privtoaddr из pybitcointools не возвращает правильный адрес или что может быть причиной проблемы?

Я был бы признателен за любые указатели или вещи, чтобы попробовать

ура Крис

ПС: еще одним интересным аспектом является то, что подписал сделку я генерирую много больше, чем созданный signtransaction вызова RPC:

ЭКП: 01000000018be9d0e99e74d69d915e105db1328707f713d42a894909b18a78fe68e1d8290c0000000023210340165231215a98e7a32abce9d410ecd09ac505938b25f9451defa051d591ebf8acffffffff0218ee052a010000001976a9143eb52fb0be4be87edc74848b371547f663e26c7e88ac0000000000000000226a40ac4f0818b683eeeaa1fbf2f508af2fc22cc814e69025152c70d7c414ebbfc30a00000000
руководство: 01000000018be9d0e99e74d69d915e105db1328707f713d42a894909b18a78fe68e1d8290c000000006b483045022100d6e538aa819f3162d5c6a0e4d9ee0323395df89e943c769d96ae939baec5c6920220083a311cb35df3c98d7a6bd0bc80d98a71fbdf8e325ba908ea4b721a4eac8bb301210343395a6e84c7f2b1d50c11f96783664a6f04d66b51befb3befcc57334e2a9abcffffffff0218ee052a010000001976a9143eb52fb0be4be87edc74848b371547f663e26c7e88ac0000000000000000226a40ac4f0818b683eeeaa1fbf2f508af2fc22cc814e69025152c70d7c414ebbfc30a00000000
+421
liberforce 27 нояб. 2018 г., 7:08:13

В последние несколько часов я получаю 100% отказов связи с Элигия. Я использую Mac и графический интерфейс Шахтера астероидов. У меня тоже есть Установка MacMiner. как не не после месяца успешно работают. Но это не суть вопроса.

Проверить вашего провайдера, проверить резьбу люка на btctalk и на Элигия или их ИЦИ Чан #Элигия на Freenode. Они могут дать вам лучшую помощь, поддержку. А клиент StackExchange, к сожалению, не страница поддержки на сайте.

Мой вопрос пытается понять бассейном url, вот что Элигия обеспечивает: прослойка хозяин: страту.добыча полезных ископаемых.Элигия.Санкт-порта: 3334 | Getwork Ведущий: getwork.добыча полезных ископаемых.Элигия.ст порт: 8337 ББТ узла: ББТ.добыча полезных ископаемых.Элигия.Санкт-порта: 9337

Я использую "http://gbt.mining.eligius.st:9337"

Спасибо за некоторые характеристики.

Вопрос 1: Почему в схеме отсутствует, что является "HTTP://" и т. д. Это должен быть введен как часть URL-адреса, что если какой-либо схема должна вводиться?

рогового TCP://Стратум.добыча полезных ископаемых.Элигия.ст:3334

Я считаю, я объяснил остальным вопрос ниже.

Также есть какая-то причина в схеме не предусмотрено? Или это просто ленивый веб-разработчик?

Предполагается, что в bitcoin-майнинга вы имеете представление о том, что прослойка это протокол и требования/параметры для него. Плюс некоторые новые майнер программы автоопределение затем слой/ББТ вернуться к getwork, если нет такого шаблона. Я бы не назвал это ленивый веб-разработчик. Просто тот, кто техничнее и не делая что n00b дружественные, как это.

Вопрос 2: прошу направить меня на некоторые сведения о типах узлов: Стратум Getwork и GBT. Позвольте мне дать легкое объяснение каждого вместе с некоторыми ссылками

Getwork был оригинальный биткоин майнинг протокола. Он по-прежнему вокруг, но не очень часто используется, за исключением некоторых бассейнах на поддержку устаревших (в основном asicminer лезвия/кубики). Getwork использует стандартные команды RPC для подключения, чтобы получить новую работу. С третьей стороны Шахтера не имеет блочной цепи, он должен обратиться за новое произведение для хэширования. https://en.bitcoin.it/wiki/Getwork

Пласт горно-накладка протокол тонких клиентов, а также способ отправки шаблонов через протокол слоя. https://en.bitcoin.it/wiki/Stratum

ББТ (getblocktemplate) Это просто позволяет сделать весь шаблон блока. Шаблон-это весь перечень операций, необходимых для хэш-блока. Это, как правило, обновляется каждую минуту. Это позволяет ASIC майнеры не иметь проблем с, как многие отвергли акции и неактуальные акции (как они с GetWork) https://en.bitcoin.it/wiki/Getblocktemplate

Источник: Меня. (Я азц-цепь ОП бассейн и давний комментарии)

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

+415
Ceylon 5 мая 2015 г., 16:14:48

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

+173
countunique 9 июл. 2018 г., 13:18:55

Я обнаружил, что причиной.

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

Спасибо!

+152
Drunk Cynic 14 дек. 2013 г., 7:51:55

В Электрум:

  1. Выберите Файл > Новый/восстановить, введите имя и нажмите кнопку Далее.
  2. Выберите стандартный бумажник , а затем следующий.
  3. Выберите у меня уже есть семя и затем следующий.
  4. Введите 12 слов семя, которое ты получил от blockchain.info (из Настройки > Безопасность > резервное копирование фразы.
  5. Нажмите кнопку "Параметры" кнопку и включить BIP39.
  6. Примите значение по умолчанию деривации ключа и нажмите кнопку Далее.
  7. На следующем шаге Задайте пароль бумажник и включить шифрование.

Теперь у вас есть ваш бумажник импортные.

если я посылаю фонд / Фонд получит в новом Электрум кошелек, эти операции отображаются в blockchain.info кошелек?

Да, они будут.

+82
Rifqi Al Fatih 20 мая 2010 г., 18:49:01

Может сложность добычи корректировать в реальном времени, а не только когда нашли блоки?

(Примечание: не прошу о retargetting после каждого блока, но непрерывно как функция времени.)

Я беспокоюсь о том, как биткоин (и многих других криптографирования) изменить сложность. Основная идея заключается в том, что сложность регулируется автоматически каждые N блоков (Н=2016 для Bitcoin и N=1 для Монер). То есть, сложность может измениться только тогда, когда найден блок. Проблема в том, что если мощности вдруг заметно падает, скажем 99%, то это займет в 100 раз больше времени, чем обычно, чтобы достичь нового низкой сложности. Падение может произойти, если цена падает монета и, следовательно, добыча не выгодна. Сеть тормозит и цена пойдет еще больше вниз, и таким образом еще больше шахтеров прекратить добычу полезных ископаемых, и таким образом монета может умереть. Это кажется очень неустойчивым ко мне. Я не вижу особого стимула для любого, чтобы добывать Bitcoin, если цена резко падает. Единственным стимулом для некоторых людей мог бы быть Моим, что у них много монет и они не хотят, чтобы система, чтобы умереть. Не уверен, если это достаточно.

Чтобы избежать этой проблемы, может сложность регулировки в реальном времени, а не только когда нашли блоки? То есть, требование сложности по уважительной блока будет зависеть от времени он был найден. Сложность будет уменьшаться как функция времени, следовательно, в конечном итоге блок будет найти очень легко. Например, если 2 часа прошло с последнего блока, эта проблема могла бы уже упала до 1%, что это было для предыдущих блоков.

Требование сложность блока N в момент времени t будет убывающей функцией от T, а зависит от времени и трудности прошлых кварталах как-то. Например, трудности могут быть экспоненциально затухающей функцией времени с 10 последний блок и средней сложности из 10 блоков. Трудность блок должен быть не менее так велик, как дается эта функция для того, чтобы быть действительным. Поэтому метка времени блока становится важной частью блока данных.

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

+22
sociospiral 2 янв. 2015 г., 6:57:06

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