Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
13 февраля 2011, 3:54:52 AM   # 1
 
 
Сообщения:
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Когда проведенные операции удаляются из старых блоков, как ветви дерева Меркла / хэш будут храниться? Есть ли программное обеспечение Bitcoin любой код, связанный с этим, еще?
сейчас офлайн пожаловаться на   Ответить с цитированием Мультицитирование сообщение от Быстрый ответ на сообщение


Как заработать Биткоины?
Без вложений. Не майнинг.


13 февраля 2011, 4:33:31 AM   # 2
 
 
Сообщения: 314
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Получил 1806 Биткоинов
Реальная история.





Идея дерева Merkle является просто хранить корень, а затем, когда кто-то хочет, чтобы убедить вас, что что-то в дереве, они производят ветвь Меркла. Корни Меркла находятся в заголовках блоков. ветви Меркла сохраняется с транзакциями в кошельках. Так что, когда вы делаете расходы, в принципе, вы можете доказать, что ваш "в" сделки законны, предоставляя ветвь Merkle для всех из них. Однако нет никаких структур данных, определенных в настоящее время для передачи такой информации в сети.

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

Hal сейчас офлайн Пожаловаться на Hal   Ответить с цитированием Мультицитирование сообщения от Hal Быстрый ответ на сообщение Hal

13 февраля 2011, 5:16:32 AM   # 3
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

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

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

13 февраля 2011, 5:47:52 AM   # 4
 
 
Сообщения:
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Спасибо, Hal и theymos.

Для того, чтобы обеспечить некоторый контекст, это сообщение от Satoshi поэтому мне очень интересно об этом Merkle материал дерева:

Кажется, что шахтер должен был бы в принципе сделать "Дополнительная работа", и если нет никакого вознаграждения от добычи bitdns от дополнительной работы (которая, конечно, замедляет основной Bitcoin работа), что будет стимул шахтера включать bitdns (и любые другие боковые цепи)?
Стимул, чтобы получить выгоды от дополнительных боковых цепей также за ту же работу.

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

Если вы в настоящее время генерировать 50 BTC в неделю, теперь вы можете получить 50 BTC и некоторые доменные имена тоже.

У вас есть одна часть работы. Если вы ее решить, он будет решать блок из обоих Bitcoin и BitDNS.  В концепции, они связаны друг с другом с помощью Merkle дерева. Для того, чтобы передать его к Bitcoin, вы отломить ветку BitDNS, и передать его к BitDNS, вы отломить ветку Bitcoin.

На практике, чтобы модифицировать ее для Bitcoin, сторона BitDNS будет иметь, может быть, ~ 200 дополнительных байтов, но это не имеет большого значения. Вы говорили о 50 доменов на блоке, которые затмили бы, что мало 200 байт на блок для обратной совместимости. Мы могли бы потенциально планировать далеко в будущем блоке, когда Bitcoin будет перейти на модернизированную договоренность с Merkle Деревом на вершине, если мы заботимся о сохранении достаточно несколько байт.

Обратите внимание, что цепи ниже этого нового Merkle дерева. То есть, каждый из Bitcoin и BitDNS имеет свои собственные звеньев цепи внутри их блоков. Это инвертированный от общего расположения временной метки сервера, где цепь находится на вершине и затем Merkle дерева, потому что создает одну общую основную цепь. Это два временных меток сервера не разделяющие цепи.


(Курсив мой)

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

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

13 февраля 2011, 5:54:19 AM   # 5
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

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

13 февраля 2011, 6:05:58 AM   # 6
 
 
Сообщения:
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Насколько я знаю, никто не понял, что именно имел в виду Satoshi в этой должности.

лол, да, это, наверное, правда.

То, что я начал думать, что он имел в виду, что шахтер объединяет транзакции от каждой сети в один блок с тем же заголовком, вычисляет Merkle корень дерева хэш, основанный на всех сделок, то делает нормальный алгоритм блока хэширования на него, пока он не находит хэш, который удовлетворяет нынешние трудности. Затем, когда он посылает блок к сети Bitcoin, он подрезает транзакции DNS, связанные с блоком, и при его отправке в сеть BitDNS, он подрезает соответствующие Bitcoin операции из блока. Таким образом, каждый блок цепь имеет блок с только данные, имеющие отношение к его собственной сети, но они все еще связаны / связано с Merkle корня дерева. Я думаю, что это будет работать, за исключением того, что Bitcoin не будет знать хэш BitDNS Merkle ветви, так как нет никакого места, чтобы поместить его в блок. Это означает, что не было бы возможным, чтобы убедиться, что любой из операций в блоке на самом деле принадлежит к этому блоку.
сейчас офлайн пожаловаться на   Ответить с цитированием Мультицитирование сообщение от Быстрый ответ на сообщение

13 февраля 2011, 10:51:07 AM   # 7
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

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

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

Код:
Блок 1234
- версия
- hashPrevBlock
- hashBlockMerkleRoot
- NTime
- Nbits (трудность)
- nNonce

как сегодня, для каждой цепи вы вещания / магазин

Код:
SuperBlock 1
- версия
- Nbits (трудность)
- merkleBranch
- Блок 1234
   - версия
   - hashPrevBlock
   - hashBlockMerkleRoot
   - NTime
   - nNonce

merkleBranch в суперблоке бы как

Код:
    abcdef1234567890 (ROOT)
       / \
  hashBitDNS hashBitCoin

или, возможно, в будущем


Код:
        abcdef1234567890 (ROOT)
       / \
  hashBitDNS 123456abcdef
                   / \
          hashBitCoin hashBitVoting

или независимо от того, по мере появления новых кворумы. Чтобы решить дерево, то вы собрать блок заголовков от каждой сети и начать регулировки в каждом одноразовые номера блока (или, возможно, только один одноразовый), пока корневая хэш не ниже глобальной цели сложности. На диске и в сети, теперь вы можете хранить / вещательной только блок Bitcoin, хэш блока BitVoting и хэш-блока BitDNS. Они могут быть объединены, чтобы доказать, что хэш ниже, чем цель.

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

Теперь, похоже, Satoshi был какое-то обратная совместимость трюка в виде, когда он писал, что и схему я только что описал бы быть "модернизированы" версии он предполагал долгосрочную миграцию. Я не знаю, как он представлял себе это переоснащение на Bitcoin сегодня, точно.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

13 февраля 2011, 11:23:24 AM   # 8
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Это звучит как то, что Satoshi думал. Он уточнил, что каждая цепь будет иметь отдельные трудности, которые я полагаю можно достичь, оставив недопустимые заголовки в дереве, когда корень Merkle ниже целей для любого из цепей.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

13 февраля 2011, 12:23:34 PM   # 9
 
 
Сообщения: 826
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Он уточнил, что каждая цепь будет иметь отдельные трудности
В чем преимущество этого, по сравнению с заявляется, что "новый" Блок цепь будет начинаться с теми же сложностями, как Bitcoin (и будет автоматически идти в ноге после этого)?
ribuck сейчас офлайн Пожаловаться на ribuck   Ответить с цитированием Мультицитирование сообщения от ribuck Быстрый ответ на сообщение ribuck

13 февраля 2011, 12:37:41 PM   # 10
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

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

Это вовсе не означает, что вы должны транслировать новый блок каждые 10 минут, хотя. Зная, что основная система ориентации изображает блок каждые десять минут означает, что вы можете просто установить свои собственные цепи относительно этого. Например, может быть, для регистрации DNS не так много сделок, так что вы бы предпочли, чтобы сделать новый блок каждые 30 минут вместо каждых 10 минут.

Таким образом, вы можете сказать, что целевая трудность для DNS цепи является глобальной целью / 3. Если Суперблок решается и хэш ниже глобальной цели, но выше ваших цепей конкретных целей, просто не транслируется по этой цепи и продолжить включение сделок в блок DNS. В конце концов Суперблок будет хэш до значения ниже вашей цели цепи сложности и вы можете рассматривать этот блок, как решить.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

13 февраля 2011, 2:52:14 PM   # 11
 
 
Сообщений: 64
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Я думаю, что он имел в виду Merkle дерева на вершине блоков, ....

Satoshi, возможно, сделали небольшую оплошность в предполагая, это может быть сделано без изменения протокола. Он предложил добавить BitDNS (или BitWhatever) как корень / ветка / лист / что-то из дерева Merkle. Однако это не будет работать, так как текущий протокол Bitcoin требует от клиентов, чтобы убедиться, что каждый лист из Bitcoin цепи является действительной сделкой Bitcoin. Значение хэша не является допустимой транзакция Bitcoin, так что этот шаг будет ломать устаревшие клиент Смущают Merkle состава новых блоков.

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


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

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

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

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

13 февраля 2011, 7:33:12 PM   # 12
 
 
Сообщения: 314
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Я согласен, что Сатоши-х "200 байт для обратной совместимости" является чем-то тайна. 200, вероятно, является ключом. Это совсем немного больше, чем заголовок Bitcoin блока. Может быть размером заголовка блока плюс фиктивной сделки.

Есть еще несколько способов, чтобы встраивать произвольные данные в Bitcoin сделок. Данные AFAIK scriptSig не установлен, и вы могли бы поставить что-нибудь на фронте без каких-либо недействительности подписей. Таким образом, хэш BitDNS может застрять в текущий блок Bitcoin.
Hal сейчас офлайн Пожаловаться на Hal   Ответить с цитированием Мультицитирование сообщения от Hal Быстрый ответ на сообщение Hal

13 февраля 2011, 8:08:34 PM   # 13
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

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

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

В чем преимущество этого, по сравнению с заявляется, что "новый" Блок цепь будет начинаться с теми же сложностями, как Bitcoin (и будет автоматически идти в ноге после этого)?

Не каждый будет работать на каждой цепи. Для поддержания целей 10-минутный (или любой другой), отдельные трудности необходимо.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos

15 февраля 2011, 3:22:24 PM   # 14
 
 
Сообщения:
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Всем спасибо. Я мог бы немного лучше понять, что имел в виду Satoshi.

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

Если каждая цепь блока разделяет те же трудности, то вы можете уйти с только изменения в одноразового номера супер-блок, а затем только хэширования, что супер-блок, а все подблоки лишь часть Merkle дерева. Эта часть будет свободна, но он пришел бы на стоимости каждого узла нужно знать о блоках / транзакциях в каждом блоке цепи, чтобы проверить их перед установкой их блок-хэша в Merkle дереве супер-блок. Но если каждый узел должен отслеживать каждый блок цепи, то какой смысл иметь отдельные блочные цепи (и увеличение использования полосы пропускания и памяти), когда все это могло бы быть объединено в одной цепи?

Я что-то упускаю?
сейчас офлайн пожаловаться на   Ответить с цитированием Мультицитирование сообщение от Быстрый ответ на сообщение

15 февраля 2011, 10:29:42 PM   # 15
 
 
Сообщения: 2870
Цитировать по имени
цитировать ответ
по умолчанию Re: Как будет Merkel хэш-дерево хранится?

Я что-то упускаю?

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

Вам не нужны полные заголовки / блоки для цепей вы не заботитесь о. Вам нужно только полный Меркл дерево для мульти-цепи. Это не имеет значения, если человек, который создал набор использует действительные хэш или просто случайные числа, так как это все еще так же, как трудно получить корень Меркла ниже цели.
theymos сейчас офлайн Пожаловаться на theymos   Ответить с цитированием Мультицитирование сообщения от theymos Быстрый ответ на сообщение theymos



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW