Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
12 марта 2013, 7:11:40 PM   # 1
CJP
 
 
Сообщения: 210
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
(Примечание: новые идеи размещены дальше по этой теме)

Какие?
Способ массово снижения начальной загрузки blockchain для полных узлов

Зачем?
Для подтверждения сделки, вы в принципе необходимо проверить следующее:
  • в scriptsigs из его входов соответствуют scriptpubkeys выходов из "источник операции" (Это упрощенное описание)
  • "источник операции" все действительны
  • сделка не является двойным израсходует другую сделку
Может быть, я забыл некоторые проверки, но, что я хочу сделать это: последний из этих проверок может быть сделано только если у вас есть доступ ко всем операциям, так что вам нужно весь блок цепи, по крайней мере, начиная с блока, который содержит самый старый "источник транзакции", Поскольку всегда будут какие-то очень старые неизрасходованные сделки (например, те, для которых закрытый ключ был потерян, без каких-либо доказательств того, что он действительно потерял), на практике вам нужно весь блок цепочки для того, чтобы иметь возможность проверять произвольные операции ,

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

Начальный блок цепи загрузки уже большой PITA сейчас, и это будет только хуже в будущем: блок цепь может только расти. Можно было бы утверждать, что только шахтер (или, может быть, только бассейн операторы?) Действительно нужно проверить сделку, и что другие люди могут вообще доверять сделку, когда она была включены в основной ветви блока цепи. Однако, такого рода рассуждения забывает следующее:
  • Mining (включая проверки сделки) предназначаются, чтобы быть массово децентрализованными усилия сообщества, а не то, что делается с помощью некоторого оператора бассейна аристократии.
  • Правда, о которых произошли подразумеваются сделки, которые публично читаемыми, не должен проводиться только в тайных книгах оператора пула священства.
Элиты проверки должны быть настолько велики, что она становится совершенно невыполнимым для своих членов, чтобы обмануть на "неэлитных" заговором. Таким образом, он всегда должен быть легким для новых людей, чтобы войти в эту элиту. Как описано выше, начальный блок загрузки является неотъемлемой частью этого, и она должна быть как можно более безболезненным. Нам нужно каким-то образом так, что только нужно загружать и хранить блок заголовков и неизрасходованные операций (с частичными Merkle деревьев неизрасходованных операций, как описано Satoshi). Даже полные узлы должны иметь возможность забыть о потраченных сделках.

Как не сделать это?
Вы можете просто задать другие (полные) узлы, которые являются сделки неизрасходованные. Есть некоторые проверки можно выполнить ли ответ честен, например, неизрасходованные выходы следует добавить к общему количеству добытого Bitcoins, а сделки не должны быть в два раза тратит друг от друга, но нет достаточного количества проверок, чтобы убедиться, что у вас есть правильный набор неизрасходованных операций. Хуже того: если общая сумма выходов добавляет до более, чем количество добытого Bitcoins, у вас нет возможности узнать, что сделка не так: вы можете сделать это только путем извлечения потраченный сделок, так что вам еще нужны другие узлы, чтобы дать вам отработанную часть блока цепи.

Как это сделать?
Для каждого блока, или, может быть, один раз так много блоков, сделать дерево Меркле, содержащий все неизрасходованных транзакции этого момента, в том числе те, которые уже были включены в блок цепи. Включить корневой хеш этого Merkle дерева в блоке (предпочтительно в заголовке блока, но в остальном в фиксированном месте в дереве Merkle блока). "неизрасходованная сделка" Меркл дерево должно быть сделано в детерминированным способом (например, отсортированный по транзакции хэш), так что может быть проверена путем проверки только хэш-значение корня. Шахтеры должны построить только на верхней части блока, если они проверили, что корень хэш из "неизрасходованная сделка" Merkle дерево правильно. Блоки с неправильным корневым хэшем должны быть отклонены.

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

Как улучшить эту идею?
  • Если это новый Merkle дерево входит в каждом блоке, может быть, он может полностью заменить традиционный способ ввода транзакций в блоки?
  • Что было бы лучшим способом для сортировки транзакций в этом новом дереве? Предпочтительно, оно не должно быть необходимым, чтобы восстановить все дерево, чтобы обновить его новые сделки.

(*) Для обеспечения безопасности, возьмите тот, который уже имеет большое количество подтверждений
CJP сейчас офлайн Пожаловаться на CJP   Ответить с цитированием Мультицитирование сообщения от CJP Быстрый ответ на сообщение CJP


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


12 марта 2013, 7:14:12 PM   # 2
 
 
Сообщения: 2212
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain

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







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

12 марта 2013, 7:39:51 PM   # 3
CJP
 
 
Сообщения: 210
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain



Существует наемный установить на самом деле осуществить это в форуме по развитию проекта.

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

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

12 марта 2013, 8:00:13 PM   # 4
 
 
Сообщений: 70
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain

Какие?
Способ массово снижения начальной загрузки blockchain для полных узлов
Наиболее реальное время действий не чистые загрузки, но для проверки подписи для каждого TX-аута в блоке, так как Bitcoin-0.8.0
(Я написал свой собственный независимый blockchain-анализатор и сделал все виды поверок & чеки) - если у вас есть разумное подключение интернет-Bandwith.

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

Ну, я написал "доверенный" веб-сайт (от вас). Вы не доверяете любой веб-сайт в этом вопросе? Тогда мне интересно, что вы используете Bitcoin-клиент. Или вы на самом деле один из этих редких экстремально людей, которые действительно проверяемых весь исходный код Bitcoin-клиент для задней двери или вы написали свой собственный клиент Bitcoin?  

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

12 марта 2013, 9:17:17 PM   # 5
CJP
 
 
Сообщения: 210
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain

Или вы на самом деле один из этих редких экстремально людей, которые действительно проверяемых весь исходный код Bitcoin-клиент для задней двери или вы написали свой собственный клиент Bitcoin?

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

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

12 марта 2013, 9:38:45 PM   # 6
 
 
Сообщений: 70
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain

Я начинаю знакомиться с тем, где я могу найти то, что в исходном коде Bitcoin.
Интересный подход. Но именно так, я начал изучать во многих деталях, как именно работает Bitcoin-протокол и то, что каждая деталь в средствах блока-цепи
путем реализации обоих алгоритмов от моей собственной. Поскольку только полностью доверчивые ссылки являются источниками Bitcoin-клиент - там, кажется, не существуют никаких официальных спецификаций, как она должна работать в деталях (например, спецификации в вики-Bitcoin в основном (ручной отредактирован) копия из исходного кода). : - /

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

29 марта 2013, 9:14:40 AM   # 7
CJP
 
 
Сообщения: 210
Цитировать по имени
цитировать ответ
по умолчанию Re: идея, которая может массово уменьшить начальную загрузку blockchain



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

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

Синие блоки = блок заголовков
Белые кружки = неизрасходованные ТХ
Черные кружки = провел ТЕ
Черные / белые блоки = Merkle узлы дерева (черный = все основные ТХ расходуются)
После красной линии, это будет кодировать следующие биты:
1/1011/110010/10/110100/0/1110111
(Косые указывают границы блока, это только для чтения удобства и фактически не сохраняются.)
Обратите внимание, что избыточная информация пропускается, таким образом, что когда-то вся Merkle (суб) дерево расходуется, она занимает только один бит памяти.

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

Это не звучит так сложно, не так ли? Это очень много в соответствии с существующей частью протокола Bitcoin; только расширения нам нужны:
  • Существует стандартизированный способ включения хеш этого битового поля в блок
  • Вершины есть способ предоставления этого битового поля друг с другом
  • Шахтеры не строят сверху блока, который содержит неправильный хэш битого поля
CJP сейчас офлайн Пожаловаться на CJP   Ответить с цитированием Мультицитирование сообщения от CJP Быстрый ответ на сообщение CJP



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW