Что, если же сделка будет добавлен в более чем один блок разные шахтеры?

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

Допустим есть 5 сделок Тх1 и Тх2 Tx3 с TX4 tx5 в пул памяти,

Есть 3 шахтеров М1 М2 и М3

М1 создал блок с Тх1 Тх2 и Tx3

М2 создала блок с Тх2 Tx3 и TX4

М3 создала блок с Тх2 и tx5 не вызовет затруднений

==

М1 успешно решает блок и получить награду в плане биткоинов и комиссия за транзакцию

в то же время М2 и М3 успешно решает блока, В этом случае, M2 и M3 получает вознаграждение и плата за сделку? как Тх2 уже часть блока М1, который уже был подтвержден.

+934
Elenna 19 апр. 2017 г., 11:16:59
25 ответов

Да, это возможно.

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

Однако блоки не обязательно появляются в чер*.DAT файлы в правильном порядке, а в порядке, в котором они были загружены. Если A,B являются двумя блоками, и prevBlockHash Б это-хэш, это все-таки возможно, что б появится перед в файл. В этом случае транзакции могут ссылаться на выходах из сделки, который появляется позже в файл, хотя раньше в цепочке блоков.

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

+993
amitlicht 03 февр. '09 в 4:24

Я читал документацию разработчиков, другие источники и хорошие книги о биткойне. Но ни один из этих ресурсов показывает дерево Меркле с 5 и более листьев. Я в замешательстве, не биткоин сердечник дерево Меркле операций (А,B,С,D,Е,F,г,H,я) такие как:

Ч( Ч( Ч( Ч(а,б), час(С,D) ), Ч( Ч(е,е), з(г,ч) ) ), Ч(я,я) )

или это неправильно?

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

_____/\______
 / \ / \
 / \ я
 / \
 / \
 / \
 / \
 / \ / \
 / \ / \ / \ / \ 
 А Б В Г Д Е Ж З 

Спасибо

+897
luggage chariot 31 окт. 2016 г., 11:01:51
Другие ответы

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


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

биткоин-CLI, в настоящее время не поддерживает сброс сырые JSON-RPC в ответ. В соответствующем разделе ядра биткоин-кода здесь https://github.com/bitcoin/bitcoin/blob/2753285be72dd051cf2987ca5c80d0b149914020/src/bitcoin-cli.cpp#L455 .

+851
antonkronaj 31 дек. 2011 г., 2:52:39

В протоколе правила государства,

Для каждого входа, если указанный выход транзакция blockchain кошелек (т. е. только 1 вход, с хэш=0, п=-1), то оно должно иметь по крайней мере COINBASE_MATURITY (100) подтверждения; иначе отвергнуть эту сделку

Зачем всех сделок с менее чем 100 подтверждений быть unspendable? В чем смысл этого правила?

+842
Scott Williamson 22 мая 2011 г., 5:38:57

Я вижу, что есть около 9000 неподтвержденные транзакции прямо сейчас, и что пять из последних шести блоков-по 1/2 Мб и 15 блоков в ряд по 750 КБ. Это наводит меня на мысль, что больший размер блока не помогла бы облегчить отставание неподтвержденные транзакции. По какой-то причине (возможно, низкая стоимость транзакций), майнеры не в том числе много доступных операций.

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

+807
Ngawang Trinley 31 авг. 2018 г., 1:05:28

Спасибо всем гостям, которые думали об этом. Я нашел решение для этой проблемы. Я использую blockchain.info API-интерфейс. Есть вариант отправить на несколько адресов одновременно. https://github.com/blockchain/api-v1-client-python/blob/master/docs/wallet.md

+726
Hong Meng 28 февр. 2014 г., 6:55:47

Есть зародыш патч на GitHub, который был именно призван решить эту проблему. Было объявлено в списке рассылки разработчиков, но никогда не получал много внимания. Теперь она немного устарела (в последний слияния с Master от 26 сентября). Может быть, вы можете начать отсюда.

+643
Brandon Axtmann 19 мар. 2014 г., 10:44:23

Я читал здесь, что hardforks являются точки, где бассейн с самой большой палкой будет решать, какой курс блокчейн будет принимать. Имеет hardfork только начинается? Когда вилка в конечном счете решил, и это одно уже вынес решение в большой бассейн? Большинство бассейнов на основе открытого исходного кода P2Pool вы это? Это P2Pool вы призывая к развилке, что в конечном итоге может не случиться? Или они работали в коде с другой стороны вилкой в свой собственный код? У бассейна тяготеют к различным стандартам или вообще найти какой-то консенсус? Это слово атака в мелкий шрифт. Это шаг к ликвидации подвиг? Есть атаки, которые могут использовать утяжеления и сроки систему?

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

+589
Robobenklein 20 апр. 2013 г., 11:31:06

сейчас P2WPKH и Bech32 синонимы?

Нет. Bech32 также используется для адресов P2WSH. Родной segwit и Bech32 являются синонимами.

Есть такая вещь, как адрес P2WPKH Base58?

Нет.

+588
Jaspal Singh 30 янв. 2015 г., 16:30:15

Я купил несколько биткоинов на MtGox. Теперь я хочу их потратить. Как я могу реально потратить эти монеты я купил на MtGox?

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

Ура!

+560
Carlos Horowicz 20 мая 2018 г., 21:12:31

ЛНД экспериментирует с новым нейтрино BIP157 стиле СПВ на данный момент. Проверьте свои РЕПО на новости.

Оба биткоин кошелек молния и Эклер на Андроид использование надежного сервера для синхронизации с сетью.

Бип-37-стиль " СПВ " - это не лучший выбор для тех, кто (из-за вопросов конфиденциальности), но особенно не на молнии кошельки, потому что это очень легко для противника, чтобы помочь партнеру в измене путем удержания важнейших операций, что вашему кошельку придется отвечать.

+548
thelaw 25 февр. 2018 г., 3:24:47

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

Я думаю, что сценарий, который вы описываете это:

Боб должен заплатить, чтобы Алиса стоит 1000 $биткоинов долларов. Боб 1000 долларов США, чтобы отправить Алисе, но пока не купил биткойны. Какие способы доступны для Боба, что позволяет ему отправить средства на Элис без влияния валютного риска.

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

Поскольку нет никакого "официального" курса, что, по всеобщему мнению, точную и справедливую цену в любой момент времени-это то, что "последний" выставки с рынка пара BTC/USD на МТ. Гора Gox.

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

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

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

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

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

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

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

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

Есть даже возможность использовать долларов ваучеры (коды погашены) для этого. Боб делает банковский перевод на свой счет при этом обмене, что Алиса использует. Затем он отсылает Алисе обменять код на 1000. Некоторые биржи позволяют, но, как правило, существуют ограничения в обмен предлагает эти коды ваучеров presumng клиента в целом, используя эти средства для торговли биткоинами, а не только снятия Фиат после активации кодов.

Итак, подведем итог, сделки крупные сделки составляет причину проскальзывания и нет в настоящее время эффективным методом, который использует преимущества поставок из внебиржевые рынки, чтобы минимизировать рыночные неэффективности, похожими на ВАЗ и другие, более зрелые, финансовый экосистемы. Что может прийти, он просто недоступен сегодня.

+537
antisniper 7 дек. 2018 г., 20:31:44

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

+472
Tony Montanna 11 окт. 2017 г., 10:13:12

Лимит долларов США только для средств удаляется как USD. Они не ценят BTC в долларах США, чтобы увидеть, если она пересекает границу.

+453
jizzman 13 дек. 2015 г., 16:37:44

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

+438
kostas 20 апр. 2010 г., 14:08:14

Функции клиента.getBlockchainInformation и других методов, представленных в биткойн-ядра НПМ модуль использовать биткойн-ядра остальной интерфейс. Для того, чтобы использовать его, однако, он должен быть включен при запуске bitcoind С -остальные флага.

Остальные API может быть включен с -остальное вариант.

Интерфейс работает на том же порту, что в JSON-RPC интерфейс, по по умолчанию порт 8332 для mainnet, порт 18332 в тестовом режиме, и порт 18443 для регтест.

например:

$ bitcoind -остальное

или в биткоин.конф

остаток=1
+435
Gwen 19 янв. 2015 г., 20:53:37

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

+420
user67319 6 сент. 2013 г., 10:20:51

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

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

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

+394
Pepo Pepo 15 дек. 2010 г., 10:35:05

Ранее в этот день, я получил письмо о том, что есть покупатель на мою через физические банкоматы объявления:

enter image description here

Однако https://localbitcoins.com/ads/37726/103702 ссылку показали на самом деле одной мне:

http://mandrillapp.com/track/click.php?u=30106122&id=8f52703cd0ec4b2b81e069630069dbdc&url=http%3A%2F%2Fllocalbitcoins.com%2Faccounts%2Flogin&url_id=ad428ed9d64304239644387c1388db2f686a98ca

Я случайно нажал его, и он приносит мне на "фишинговый" сайт, который выглядит так же, как через физические банкоматы. Фишинговые веб-сайт размещен на http://llocalbitcoins.com (записи whois). Обратите внимание, что есть два "л"в имени домена.

Что делает скрытую ссылку делать? Теперь, когда я нажал на ссылку, что может случиться со мной?

Я изменил мой пароль с тех пор. Но что еще я могу сделать, чтобы защитить себя?

+389
SubGothius 18 сент. 2013 г., 8:58:06

Дэн Каминский объяснил его способ и мотивы для вставки изображений в blockchain на лекцию в черной шляпе США 2011 - слайды (12 -20) из презентации можно найти здесь.

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

+349
tresstylez 10 июл. 2019 г., 12:29:21
строка запроса()
{
 строки URL = "https://api.bitfinex.com/v1/balances";
 строки paramDict = "{\"запрос\":\"\\/В1\\/противовесов\",\"\ извращенец":\"" + GetNonce() * 100000 + "\"}";
 строку сообщения = EncodeTo64(paramDict);
 строку сообщения = нагрузки;
 строки Скей = тайна;
 Системы.Текст.ASCIIEncoding кодировка = новая система.Текст.ASCIIEncoding();
 байт[] keyByte = кодировка.Метод getbytes(Скей);
 HMACSHA384 hmacsha384 = новый HMACSHA384(keyByte);
 байт[] messageBytes = кодировка.Метод getbytes(сообщение);
 байт[] hashmessage = hmacsha384.Метода computehash(messageBytes);
 строки подписи = это.ByteToString(hashmessage);
 ВАР заголовки = новый словарь<строка, строка>
{
{"Х-BFX вызывает количество приложений-значение apiKey",ключ},
{"Х-BFX вызывает количество приложений-груз",грузоподъемность},
{"Х-BFX вызывает количество приложений-подпись",подпись}
};
 ВАР запрос = запросы WebRequest.Создать(новый URI(URL-адрес)) как класса HttpWebRequest;
 если (запрос == нуль)
 бросить новое исключение("не HTTP запросы WebRequest");

 данных var = кодировка.Метод getbytes(paramDict);
 запрос.Метод = "сообщение";
 запрос.Параметр timeout = 30000;
 запрос.ContentLength = данные.Длина;
 по каждому элементу (ВАР в заголовках)
{
 запрос.Заголовки.Добавить(а.Ключ,.Значение);
}

 ВАР писать = запрос.Метод getrequeststream();
 написать.Записи(данные, 0, данные.Длина);

 ВАР реакция = запрос.Метод GetResponse() как класс httpwebresponse;

 возвращать значение null;
}

это новый код, чтобы исправить ошибки с HMACSHA384

 строки ByteToString(байт[] бафф)
{
 строки sbinary = "";

 для (int я = 0; я < бафф.Длина; я++)
{
 sbinary += бафф[я].Метод toString("Х2"); формат // наговор 
}
 возвращение (sbinary);
}

и еще некоторые исправления.

длинные GetNonce()
{
 возвращение извращенец++;
}

 статический публичный строку EncodeTo64(строка toEncode)
{
 байт[] toEncodeAsBytes
 = Система.Текст.ASCIIEncoding.В ASCII.Метод getbytes(toEncode);
 строковый аргумент returnvalue
 = Система.Преобразования.ToBase64String(toEncodeAsBytes);
 возвращает аргумент returnvalue;
}

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

 строки подписи = это.ByteToString(hashmessage).Нижестоящим();
+316
DAUDI MAGABA 18 дек. 2013 г., 6:26:46

Я ожидал, что в случае, когда getFromAddress() возвращает адрес, transactioninput.getConnectedOutput().getAddressFromP2SH(networkparameter)) должна возвращать один и тот же адрес. Но, иногда transactioninput.getConnectedOutput() возвращает значение null, несмотря на getFromAddress() возвращает соответствующий адрес. В чем причина?

Если эти два способа отличаются, как я могу вернуть значение поля "Адрес" объекта "prev_out" элементов в массиве "вход" в JSON-объект, возвращенный без использования блокчейна.информация-АПИ? (например, для это https://blockchain.info/address/1LoD9DeUeCfnZueSVPzFaFkfFcx8mG1Add?format=json).

+282
Michael Hulet 7 нояб. 2015 г., 3:19:49

Например, я мог бы просто добавить новый блок в генезис блоке

Да, вы можете. Вы действительно можете сделать это, если вы начинаете свой узел в автономном режиме и начать добычу.

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

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

И если это так, то будет ли "сеть Bitcoin" действительно принимает совершенно новый блокчейн, начиная от Блока бытие, если мне действительно удалось сделать блокчейн с более высокой сложности, чем ток цепи? (Как 99,999% атаки :) )

Если вы были в состоянии произвести такое блокчейн и производить блоки, которые имеют правильную КПП хэшей блоков (или если вы раскошелились на блокчейн после последней контрольной точки), то да, биткоин-сети будет принимать ваш альтернативный блокчейн, так как он имеет больше работы.

+257
spazeranso 19 мар. 2016 г., 20:30:22

Как blockchain.info получить их информация? Моя интуиция мне подсказывает, что они уже модифицированный клиент, который считывает и обрабатывает блокчейн (либо непосредственно от сети, как это происходит в или из исходных файлов на диске) и хранит различные данные и связей в базе данных.

Я также подозреваю, что они могут использовать RPC-интерфейс для стандартного bitcoind делать простые вещи, как getdifficulty() или getblockcount() быстро.

Кто-нибудь может подтвердить это? Любые идеи?

+92
Arsalan Shaik 31 мар. 2010 г., 9:13:29

Это довольно сложно, как "баланс" - это более высокого порядка строительства, который существует только на уровне приложения Кошелек.

Это означает, что вы должны сделать некоторые кодирования сытный.

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

1) преобразовать нужный момент времени, чтобы заблокировать высота

2) запрос блокчейн по адресу. Вы можете с легкостью сделать это, используя blockchain.info API-интерфейс

https://blockchain.info/multiaddr?active=$адрес|$адрес

API возвращает также перечень операций, полученных/переданных по указанному адресу.

3) Цикл по списку транзакций на рисунке, если соответствующие выходы (UTXOs) изделий, полученных и неиспользованных в данный момент времени. Вы можете сделать это путем ссылки на блок транзакций высота, предоставляемые API после того, как отображается входящий (принятых) и исходящих (отправленных) ВМС США по перекрестным ссылкам Техас хэшей.

+16
Anton Stadie 3 мая 2016 г., 22:29:22

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