Bitcoin Forum
May 04, 2024, 06:50:27 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [69] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 »
1361  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 12, 2018, 10:23:02 PM
1. вы принцип работы pow понимаете? pow в текущем блоке перебирает nonce, до тех пор пока хеш блока не будет иметь в начале N нулей. так проверяется блок на валидность

Чтобы проверить блок на валидность, не нужно перебирать noncе. Нужно просто вычислить хеш блока и проверить его на соответствие алгоритму изменения сложности (на количество тех самых N нулевых бит).

Перебирать noncе нужно при создании нового блока. Создание блока и его валидация - это совершенно разные операции.  

Quote
и соединяется с предыдущим блоком.

Чтобы текущий блок соединить с предыдущим, необходимо, чтобы на вход хеш-функции вместе с noncе подавался ещё и хеш предыдущего блока. Если вы с этим не согласны, то что вы вкладываете в понятие "соединяется с предыдущим блоком"?

Quote
альтернативная цепочка отбрасывается, если она не самая длинная, это ответ на вопрос "Как этот фокус проделать, если в блоке не будет храниться ссылка на предыдущий блок - я не в курсе."

нода 1: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333)
нода 2: блок 100 (nonce 11111) - блок 101 (nonce 88888) - блок 102 (nonce 99999)
нода 3: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333) - блок 103 (nonce 44444)
result:
нода 2 принимает длинную цепочку по правилам сети: блок 100 (nonce 11111) - блок 101 (nonce 22222) - блок 102 (nonce 33333) - блок 103 (nonce 44444)

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

Вот, поступил на ноду 2 блок 103 (nonce 44444). Как этой ноде понять, что предыдущий блок для этого блока - это блок 102 (nonce 33333), а не блок 102 (nonce 99999)?
1362  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 12, 2018, 01:25:06 PM
Вот у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом.
Тамо Херовато есть цепочка 100 - 101 - 102 - 103 соединеная криптографически стоким хешом, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.
Что делать будешь?

Педро Хуэрес получает блоки 101 и 102 от slushpool.com, проверяет, что 101 ссылается на 100, а 102 на 101 и добавляет эти блоки в свою основную цепочку.

Когда ему приходят блоки 101 и 102 от viabtc.com, он проверят, что 101 ссылается на 100, а 102 на 101, но это уже не те блоки, что есть в основной цепочке, а значит из них можно составить альтернативную цепочку с точкой разветвления на блоке 100.

Дальше считается совокупная сложность основной и альтернативной цепочек: суммируются сложности блоков 101 и 102 в основной и альтернативной цепочках, и где сумма получается меньше, та цепочка и отбрасывается. Но, допустим, в нашем случае сложность не менялась, и совокупные сложности в обеих цепочках получились одинаковые. Поэтому, ничего Педро Хуэрес не отбрасывает, а ждёт следующего блока.

Приходит блок 103 от viabtc.com. Педро Хуэрес точно знает из какой он цепочки, потому что блок 103 хранит хеш конкретного блока 102 из альтернативной цепочки. Теперь у Педро Хуэреса есть две цепочки разной длины: основная 101 - 102, и альтернативная 101 - 102 -103. Выживает длиннейшая (по совокупной сложности) цепочка, поэтому блоки 101 и 102 от slushpool.com выкидываются, а альтернативная цепочка 101 - 102 - 103 от viabtc.com становится основной.

Как этот фокус проделать, если в блоке не будет храниться ссылка на предыдущий блок - я не в курсе.
1363  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 12, 2018, 10:08:17 AM
если кто-то имеет более длинную цепочку и верные nonce, то принимаем его цепочку

Не, я всё равно не понимаю, как определить, с какого блока начинается альтернативная цепочка.

Рассмотрим ситуацию. Китайцы решили добывать кальмаров, путём подрыва глубоководных ядерных фугасов. Капитан рыболовецкого судна "Хуй На Буй" перепутал координаты сброса фугаса, в результате чего, взрывом был повреждён подводный кабель, соединяющий Азию с Северной и Южной Америками.

Связь Азии с Америками была прервана на 26 минут, столько времени понадобилось для создания альтернативного маршрута через Австралию. Кроме того, канал Европа - Азия оказался перегружен, из-за попыток перенаправить траффик из Азии в Америку через Европу. Связь между Европой Азией в это время была неустойчивой.

До момента разрыва связи нода колумбийского председателя колхоза, занимающегося выращиванием коки, Педро Хуэреса, и нода его японского контрагента Тамо Херовато содержат одинаковые цепочки с последним блоком №100.  

За эти 26 минут китайский пул viabtc.com сгенерировал 2 блока - 101 и 102. В то же время, европейский пул slushpool.com, не получив блоки от viabtc.com из-за плохой связи, сгенерировал свои блоки 101 и 102. Блоки 101 и 102 от этих двух пулов разные, они содержат как общие транзакции, так и отличающиеся.

У Педро Хуэреса связь с Европой есть, он принял блоки 101 и 102 от slushpool.com. Тамо Херовато, наоборот, принял блоки 101 и 102 от viabtc.com. И тут связь Азия - Америка восстанавливается, а Европа - Азия нормализуется.

Педро Хуэрес получает блоки 101 и 102 от viabtc.com, но отбрасывает их, ведь блоки с этими номерами у него уже есть. Тамо Херовато делает то же самое с блоками от slushpool.com. Тем временем, пул viabtc.com создаёт блок 103 и все его принимают.

Теперь получается, что и у Педро Хуэреса есть цепочка 100 - 101 - 102 - 103 и у Тамо Херовато есть цепочка 100 - 101 - 102 - 103, в которой блоки 100 и 103 - одинаковые, а блоки 101 и 102 - разные.

Это какая-то лажа получается. Что делать? Связывать блоки друг с другом криптографически при помощи PoW.
1364  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 11, 2018, 08:14:11 PM
например тем же POW. пакуем транзакции в блок. майнер проделывает работу с nonce и предлагает системе решение. все. блок все выкачивают, дают ему следующий номер.

И тут я понимаю, что мы ходим по кругу. В случае возникновения двух альтернативных цепочек, непонятно, как определить какой блок из какой цепочки. Если нода получит два блока с номером 101 и два блока с номером 102, как понять, какой блок с каким связан?
1365  Local / Альтернативные криптовалюты / Re: Karbo (KRB) [Карбованец] - конфиденциальные деньги on: May 11, 2018, 05:03:52 PM
Вот и где здесь децентрализация, останется полтора десятка асиководов, остальные все как я отвалятся по причине не рентабельности, хотя намайненное я пока еще держу и другие монеты тоже, еще ничего не продавал, либо продавал на пампе и потом докупал. Те кто купил асики держать не будут ничего, они в отличии от многих на ГПУ и КПУ купили асики с исключительной целью получения прибыли и продавать они будут все и сразу, падение курса до 0.5 тому подтверждение. биток тоже опустился но не на 30%

Я, вот, никак не могу понять, почему сливать на пампе всё намайненное за год - это хорошо для курса, а сливать намайненное каждый месяц - это плохо для курса?

Если все майнеры будут хомячить карбо и сливать всё нахомяченное на пампе - это вызовет резкое падение курса в ноль. Разве ж это хорошо?

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

Падение курса - это прежде всего падение спроса, но тут майнеры бессильны.
1366  Local / Майнеры / Re: Новая архитектура для майнеров!!! on: May 11, 2018, 11:37:06 AM
https://bitnovosti.com/2017/04/01/coinrage-to-release-a-new-10-nm-chips/
CoinRage готовится к выпуску революционных 10-нм майнинговых чипов с аппаратной поддержкой СегВит

Новые чипы не за горами...

CoinRage - это первоапрельская шутка, если, вдруг, кто-то не понял.
1367  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 11, 2018, 08:53:32 AM
Я вам про другое говорю - есть транзакция, она одна, в ней подпись. ее выкачивает вся сеть. что отбрасывать? проверили подпись, значит она валидная. rollback не нужен.

Я не понимаю, как в вашей сети защищаться от двух таких валидных транзакций, тратящих один и тот же выход.
1368  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 10, 2018, 08:53:30 AM
Ты описал проблему двойной траты. А причем тут блокчейн? Эту проблему решает консенсус, например POW, а не блокчейн.
После того, как Вася отправил Пете, Васина нода должна достингуть консенсуса с остальными нодами. И тогда вася обломается с double spending

Консенсус в криптовалютах - это набор правил, на соответствие которым каждая нода проверяет блоки и отдельные транзакции. PoW в криптовалютах нужен для создания защищённого от перезаписи блокчейна. Защищённый от перезаписи блокчейн нужен для защиты от двойной траты.  

Зачем нужен PoW без блокчейна? Вы произнесли слово консенсус, но не объяснили, как он у вас реализован, что же всё-таки делать ноде С в описанной выше ситуации, чтобы не допустить двойную трату.
 
хорошо, тогда просто будем каждый следующий блок транзакций называть i++, разница не поменялась и пока блокчейн не нужен.

Ага. Цепочку блоков вы уже придумали, правда, блоки у вас пока ещё не связаны друг с другом криптографически. В реальных криптовалютных сетях блоки распространяются не мгновенно. И может случиться так, что какое-то время в сети могут существовать две цепочки, одну из которых придётся впоследствии отбросить.

То есть, майнящая нода A создаёт свою цепочку блоков с номерами 100, 101, 102, и майнящая нода B создаёт свою цепочку 100, 101, 102. При этом блок 100 одинаковый для обеих цепочек, а блоки 101 и 102 - разные.

Нода C, принявшая блоки 101 и 102 из этих разных цепочек должна как-то понять, какие блоки к какой цепочке относятся, а номера-то у них одинаковые. Как же без криптографической связи блоков понять где какая цепочка?

Более подробно эта ситуация описана здесь в главе Форки блокчейна.
1369  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 09, 2018, 10:14:19 PM
пока 51% нод хранит правильные данные (проверенные), это не проблема.

Вася создал транзакцию 1, в которой 10 монет отправляются Пете, Васина нода отправила эту транзакцию на ноду A.
Вася создал транзакцию 2, в которой эти же 10 монет отправляются Толику, Васина  нода отправила эту транзакцию на ноду B.

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

Нода A пока ещё не знает о существовании транзакции на ноде B и наоборот. Остальные ноды пока вообще не знают о существовании этих двух транзакций.

Нода C получает обе этих транзакции: одну от ноды A, другую от ноды B. И теперь ноде C нужно принять решение о том, какая из этих транзакций правильная. Спросить не у кого. 51% нод не в курсе по поводу этих транзакций. Что делать ноде C?  
1370  Local / Альтернативные криптовалюты / Re: Karbo (KRB) [Карбованец] - конфиденциальные деньги on: May 09, 2018, 09:36:29 PM
Что то подсказывает, что асики куплены отнюдь не из альтруизма для поддержки сети  Smiley  а с приходом асиков в любую монету все остальные майнеры из нее уходят. 
А коль не из альтруизма люди их берут, то и бегать будут от монеты к монете, где профита больше.

Можно подумать, GPU-майнеры майнят Карбованец исключительно из альтруизма и не скачут по валютам. Ага, щаз!

Хотите поддержать курс Карбованца? Майните наиболее выгодную для вашего железа крипту и покупайте на неё Карбованцы. Только покупка Карбованца может повысить его курс. А майнер Карбованца может только опустить курс, слив его, если не завтра - так через месяц.
1371  Local / Кодеры / Re: Проверка подписи, а не хешей блоков on: May 09, 2018, 06:41:01 PM
Подпись транзакции удостоверяет право владельца приватного ключа на трату средств в рамках этой транзакции.
Криптографическая связь блоков обеспечивает целостность базы данных транзакций, защиту от удаления/добавления транзакций задним числом.
1372  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: May 09, 2018, 03:28:45 PM
Когда эмиссия новых монет будет закончена, наградой майнерам за создание блока будут служить комиссии за транзакции. Комиссии за транзакции будут распределяться между майнерами посредством алгоритма PoW

Алгоритм proof-of-work вообще не отвечает за распределение вознаграждения.  Proof-of-work - это доказательство работы, а не вознаграждение за работу.

Даже при нулевом вознаграждении за блок и нулевых комиссиях за транзакции PoW будет выполнять своё предназначение - защиту от перезаписи блокчейна (если, конечно, найдутся дураки, которые захотят выполнять эту самую work за бесплатно).
1373  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: May 09, 2018, 12:46:14 PM
Вообще, онсновное назначение PoW - это децентрализованная, равномерная, справедливая эмиссия новых монет.

То есть, когда эмиссия будет окончена, PoW можно будет выкинуть за ненадобностью? А кто будет блокчейн от перезаписи защищать?
1374  Local / Идеи / Re: Алгоритм дистрибуции монет блокчейна on: May 09, 2018, 09:39:39 AM
Я вижу решение такое - число монет выдаваемое в качестве награды за блок должно зависеть от уровня сложности PoW.
Например можно сделать:
1)Линейная зависимость. Награда за блок равна среднему хешрейту сети в данный момент (т.е. равна: 2 в степени числа нулей в "красивом" хеше найденного блока)
2)Квадратный корень. Тоже что и 1, только берется квадратный корень
3)Логарифмическая. Тупо берется число первых нулей красивого хеша.

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

Теперь по существу вашего подхода:
1. Чем выше сложность - тем больше вознаграждение
2. Чем больше вознаграждение - тем больше привлекается мощностей
3. Чем больше мощность сети - тем выше сложность
4. GOTO в пункт 1

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

Ваш алгоритм зависимости вознаграждения от сложности может привести к тому, что майнеры быстро высосут всю эмиссию (у вас эмиссия ограничена?). Присутствие корня в зависимости несколько сгладит ситуацию, но не настолько принципиально.
1375  Local / Кодеры / Re: Атака 51% и форсированная эмиссия on: May 08, 2018, 11:58:34 AM
Разве cryptonote не защищен от transaction replay механизмом кольцевых подписей?

Я про кольцевые подписи ничего не знаю, но в общем случае защита от transaction replay делается так: в транзакции есть параметр версия, и инициатор сплита меняет этот параметр и правила приёма транзакций: с момента сплита принимаем только транзакции с новой версией. А ноды старой цепочки, в свою очередь, не принимают транзакции с новой версией.

Quote
В сущности получается, transaction replay не связан с majority attack, поскольку сплит может произойти просто если часть сети поменяет программное обеспечение и будет считать только свои блоки валидными, строя свою цепь.. или я ошибаюсь?

Верно. В криптовалютах преднамеренные сплиты блокчейна не редкость. Когда разработчик решает поменять какие-либо параметры криптовалюты или ввести новый функционал, делается сплит блокчейна, называемый хардфорком, посредством выпуска новой версии ПО ноды. Если хардфорк делается по техническим причинам, то предполагается, что старую цепочку никто не будет майнить за ненадобностью, поэтому защита от transaction replay в таких случаях не делается.

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

А бывает другая ситуация, когда хардфорк делается для создания новой криптовалюты, при этом обладатели ненулевого баланса в старой криптовалюте после хардфорка автоматически получают такой же баланс в новой криптовалюте. В этом случае, инициатор хардфорка, если он не долбоёб, предпринимает меры для отделения своих транзакций от чужих вышеописанным способом.
1376  Local / Кодеры / Re: Атака 51% и форсированная эмиссия on: May 07, 2018, 08:09:57 PM
Т.е. пресловутый double spending?

Нет. Double spending - это двойная трата в одной цепочке блоков.

Когда одна транзакция попадает в два блокчейна - это называется transaction replay.
1377  Local / Кодеры / Re: Атака 51% и форсированная эмиссия on: May 07, 2018, 07:44:10 PM
Иными словами, эмиссию моего оригинального блокчейна злоумышленник выпотрошить не сможет, но сможет намайнить в своей цепи гору монет, а затем отправить их куда-то и этот «новый баланс» будет учтен моей веткой и принят?

Нет, транзакции, сформированные из намайненного после сплита, не будут приняты. Но если сформировать транзакцию из выходов, не потраченных до сплита, то такая транзакция появится в обеих цепочках.  
1378  Local / Кодеры / Re: Атака 51% и форсированная эмиссия on: May 07, 2018, 06:40:39 PM
В сети, например 20 демонов/нод с оригинальным по, на них в общей сложности 100 хеш/с майнинговых мощностей. В определенный момент в сеть приходит атакующий, подключает, например, 30 нод с модифицированным по, которое считает валидными его блоки с повышенной наградой начиная с определенного блока, и дает хешрейт 200 хэш/с. Как вы правильно заметили, мои ноды изначально шлют его нахуй, реджектя блоки с неправильной наградой.. но в итоге, поскольку у него и нод больше 50%, будет ли консенсус по его «компрометирующему» форку-цепи, примет ли его моя сеть в итоге как основной?

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

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

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

1379  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: May 07, 2018, 01:47:32 PM
землетрясение 4 балла -> зафиксировали -> блок.
Каким образом из землетрясения получить блок?
PoW - это алгоритм.
Алгорим - это последовательность действий, приводящая к определённому результату.
У вас есть первое действие - землетрясение и результат - блок, а алгоритма у вас нет.

Quote
Связь звеньев здесь причем?
PoW - это алгоритм построения цепочки блоков (блокчейна). PoW связывает блоки друг с другом: параметр nonce текущего блока зависит, в том числе, от хеша предыдущего блока.

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

Quote
или потраченной энергией обеспечить стоимость коина требуется?
PoW не имеет отношения к обеспечению стоимости. PoW необходим для защиты блокчейна от перезаписи.
1380  Local / Кодеры / Re: Асикостойкий алгоритм PoW on: May 07, 2018, 08:40:45 AM
Зачем нужен алгоритм Pow? Доказать системе, что ты выполнил заданные системой условия, заработал - получи. Всё. И работу сюда можно любую установить, только доказывай что работа выполнена.

Что значит любую работу? PoW должен обеспечивать связь предыдущего блока с последующим.

Поэтому, на вход алгоритма PoW подаются не какие-то случайные данные, а вполне определённые: хеш заголовка предыдущего блока, хеш транзакций текущего блока и т. д.

Как вы собираетесь заставить природу выполнять работу на основании детерминированных входных данных?
Pages: « 1 ... 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [69] 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!