Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
26 февраля 2016, 3:50:34 AM   # 1
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Идея реализации будет предположить, что SIGHASH_ALL используется для всех них, кажется, что другие режимы SIGHASH редко используются и не уверен, что это имеет смысл, чтобы поддержать их радикально новые usecases.
Ну все, что я описал здесь полностью совместим со всеми типами scripthash; поэтому никакой реальной не нужно ограничивать гибкость. Если предположить, что код sighash отдельно и повторно, она не должна увеличить сложность реализации.

котировка
Кроме того, есть причина, по которой уникальный номер используется для идентификации каждого TXID и даже выходной скрипт (адрес)? По-моему, после того, как блок мимо любого шанса быть реорганизованы, то существует канонический порядок всех блоков, и поэтому все ОЕ и Vins и vouts.

Поскольку каждый затратить в настоящее время требует 32byte TXID и Vout, картирование это 4 или 6 байт создает много экономии пространства. Существует много избыточности в blockchain с каждым TXID потенциально дублируются один раз для каждого Vout.
Это может быть done--, но нет необходимости делать это нормативном. Например. Сверстники могут согласиться на передачу данных с использованием этих сжатых индексов, в то же время хеширования исходных значений. Это имеет то преимущество, что идентификаторы не изменяются из-под уже авторством сделок, и убедившись, что оффлайн устройство не нуждается в доступе к (или доверять) внешние поставщикам индекса.

котировка
Другая большая избыточность повторно адреса, которые на самом деле rmd160 хэши внутри тратить скрипты. Используя канонический порядок все, то каждый rmd160 хэша будет отображаться в индекс 32-битного и подавляющее большинство сценариев стандартности еще несколько байт может быть закодирован в нескольких бит. Тем не менее, с приходом диаспорой распространения p2sh сценария, может быть, что адрес нумерации обыкновения быть настолько эффективными в будущем.
Это подорвало бы свойство конфиденциальности / взаимозаменяемость Bitcoin в целом для стимулирования сторон для повторного использования адресов. конфиденциальность Bitcoin сильно зависит от отсутствия повторного использования, а также дополнительное давление на него в пользу сохранения на заказ 12 байт на txout не звучит как win-- особенно, как это будет использоваться, чтобы оправдать плохое программное обеспечение, плохие практики бизнеса, и плохая государственная политика, которая заставит пользователей повторно. Доступ к этим показателям должен быть обработан очень тщательно, так как если вы заплатили неправильные средства будут украдены.

Спасибо за ваши мысли!
Раньше я думал, экспоненциальный рост blockchains BTC была большая проблема. Тогда я понял, что я мог отогнать ее одну четверть размера, а также синхронизировать параллельно со скоростью полосы пропускания. Теперь я не беспокоиться о blockchain наворотов так много.

Я думаю, мы должны признать, что большая часть blockchain БТД было deanonymized. А пока новые методы, такие как КТ не будут приняты, это будет только хуже.

Таким образом, вместо того, чтобы бороться безнадежную борьбу, почему бы не признать, что есть люди, которые не заботятся много о конфиденциальности и удобства является более важным. На самом деле они могут быть обязаны быть открытыми. Каноническое кодирование позволяет кодировать существующую blockchain и будущего общественного blockchain в гораздо лучше, чем любой другой метод, как он заканчивает как высокую энтропию сжатого числа 32-битных, против 32byte TXID + Vout. Экономия намного больше, чем 12 байт, она занимает всего 6 байт для кодирования неизрасходованного, поэтому ближе к 30 байт. Много Bitcoin обработки происходит медленно из-за множества причин. Будучи в состоянии сделать вычисление с помощью стандартных чисел позволяет на порядок быстрее операций во многих случаях. Я думаю, что использование БД является причиной большинства замедления. Поскольку blockchain в основном не меняется, нет необходимости в использовании ACID совместимых операций DB для всего. С моей конструкции все узлы делают txindex = 1, и это занимает очень мало времени, чтобы "пересканировать" новый privkey как все уже ТЙ уже в связанных списках и хэш-таблице.

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

Я не сторонник, чтобы изменить подписанную ТХ быть основаны на 32-разрядных чисел! Все, что я рекомендую, чтобы кодировать их внутри (когда за практической шанс быть reorged) 32 бита. Все узлы будут в конечном итоге с той же нумерацией. Тем не менее, все внешние взаимодействия продолжают с полностью развернутом виде, иначе он не был бы совместим вообще. Все расслоения и подмножество пучков будут иметь проверяемые хэшей и это создаст эффективное кодирование для постоянного архивного хранения, с, возможно, изоморфной поведение к текущему сырому blockchain внутри БДА. ТХ, которые подписаны и проверены, конечно, используя полностью расширенную форму. Тем не менее, если вы просто хотите, чтобы исследовать blockchain, никто не заботится о точном TXID, так что средства пошли от А до В.

Это не только мысли, но описание рабочей системы, которая синхронизирует все blockchain и создает вышеуказанные структуры данных примерно полчаса, если у вас есть достаточно пропускной способности и 8 ядер. Это пропускная способность ограничена, поэтому для медленного домашнего подключения 20Mbps, он принимает 6hrs для полной синхронизации. Я в настоящее время отладки обработки unspents, а остальное в основном работает и просто нужно подтверждение. И эта часть получена из МШ, который был в эксплуатации в течение нескольких лет.

Я хотел бы использовать стандартный Bitcoin RPC набор тестов, и я полагаю, что в репо является наиболее полным набором? Есть некоторый брутфорс RPC тестер, который будет использовать большие части RPC, которые могут быть использованы в качестве этапа проверки для новой реализации Bitcoin ядра?

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


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


26 февраля 2016, 5:09:46 AM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

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





[Я разделил нить, потому что мы получали от разговоров о компактных агрегированных подписях; в вещи, которые не меняют поведение сети]

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

котировка
во многих случаях. Я думаю, что использование БД является причиной большинства замедления. Поскольку blockchain в основном не меняется, нет необходимости в использовании ACID совместимых операций DB для всего.
Мы не храните blockchain в базе данных в Bitcoin Core.

котировка
С моей конструкции все узлы делают txindex = 1, и это занимает очень мало времени, чтобы "пересканировать" новый privkey как все уже ТЙ уже в связанных списках и хэш-таблице.
txindex = 1 не очень совместимы с scalablity; вы в конечном итоге с постоянно растущим индексом. Это делает некоторые операции быстрее, но при значительной стоимости.

В Bitcoin ядро ​​переиндексации тратит достаточное количество времени Rehashing вещи для проверки целостности данных, поскольку далее предполагается, чтобы быть правдой. Это может быть легко сделано очень fast--, но за счет дополнительных показателей. Сейчас предельная стоимость полного кошелька узла, который поддерживает arbritary ключа импорта составляет около 65GB и быстро растет. (Обрезка против не-обрежут плюс txindex).

котировка
поэтому не уверен, почему вы считаете это плохо программное обеспечение. Я предполагаю, что вы не рекомендуется использовать GZIP плохую практику?
"плохое программное обеспечение" не имел в виду местных оптимизаций любыми средствами. То, что я имею в виду, что кто-то, кто не любит уединение может освободить бумажник, который заставляет своих пользователей, чтобы всегда повторно использовать адреса, а затем оправдать его "повторное использование является более эффективным, поскольку все используют индексы"- но даже это будет применяться только тогда, когда они были использованы «на проводе»; если они чисто местные, они чисто локальный характер. Txindex в Bitcoin Ядро работает внутренне с компактными индексами в аналогичным образом, на самом деле.

Я супер поддерживает чисто местные оптимизации.

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

котировка
Я хотел бы использовать стандартный Bitcoin RPC набор тестов, и я полагаю, что в репо является наиболее полным набором? Есть некоторый брутфорс RPC тестер, который будет использовать большие части RPC, которые могут быть использованы в качестве этапа проверки для новой реализации Bitcoin ядра?
Существует дополнительный тест Жгут построен из BitcoinJ, который имитирует сеть Bitcoin и помещает узел через его шаги. Это называется blocktester. Посмотрите на конфигурации CI Travis в ядре Bitcoin, чтобы получить представление о тестах, которые автоматически выполняются на нем.

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

26 февраля 2016, 6:18:51 AM   # 3
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

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

котировка
Мы не храните blockchain в базе данных в Bitcoin Core.
Хорошо, таким образом сохраняя данные сырых сетей в качестве исходного файла разве базы данных, моя точка зрения в том, что для выполнения большинства все RPC, БД участвуют и я думаю, что это справедливо сказать, что для большинства людей путем RPC является то, что используется.

котировка
txindex = 1 не очень совместимы с scalablity; вы в конечном итоге с постоянно растущим индексом. Это делает некоторые операции быстрее, но при значительной стоимости.

В Bitcoin ядро ​​переиндексации тратит достаточное количество времени Rehashing вещи для проверки целостности данных, поскольку далее предполагается, чтобы быть правдой. Это может быть легко сделано очень fast--, но за счет дополнительных показателей. Сейчас предельная стоимость полного кошелька узла, который поддерживает arbritary ключа импорта составляет около 65GB и быстро растет. (Обрезка против не-обрежут плюс txindex).

Конечно txindex = 1 добавляет накладные расходы, но метод создания неизменного свертка файлы каждые, который имеет HashTables найти все внутри и где все unspents к одному месту назначения находятся в связанном списке, накладные расходы содержатся в каждой пачке. Я не понимаю, почему что-то должно всегда быть проверено снова, как только он был проверен и помещен в файл только для чтения. Для параноиков, хэш каждого файла расслоения может быть сделан и проверен перед использованием.

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

Со времени, операция может понадобиться сканировать все пакеты, но я только что получил тесты на 1.4GHz i5, с 2,5 миллисекунды для сканирования 1900 пачек (для монет с использованием 500 пачек блоков). Так что это не очень быстро, но будет достаточно быстро для большинства случаев использования и сравнима с RPC над головой, где вещи упорядочиваются с системой замков. И это с возможностью найти все utxo для любого адреса. Также обратите внимание на параллельном дизайн делает многопоточность идеальной и ускорения с использованием нескольких ядер будут тривиальны сделать.

Если даже больше производительности требуется, каждая скорость увеличила адрес может просто держать вещи в кэше.

Без Sigs, мой набор данных для txindex = 1 составляет около 25GB несжатых и 15GB сжатых. Я имею в виду недобросовестный не хранение Sigs, а когда-то израсходуют проверяются и расслоение помечается как Sigs и входы проверенной, я не видим так много случаев, когда SIGs необходимы больше. Конечно, не за счет удвоения общего пространства.

котировка
Если это чисто местный, вы, вероятно, всегда нумеровать таким образом, до тех пор, как вы имели код исправить нумерацию во REORG.
Какое количество блоков находится за пределами здравого смысла Reorg опасности? Я знаю, что теоретически очень длинная возможна реорганизация;, но от того, что я видел, это не так характерно для любого большого REORG. Я думаю, что, устанавливая задержку N блоков перед созданием самого последнего свертка, то вероятность того, чтобы регенерировать этот пакет будет очень низкой. Поскольку это занимает около минуты, чтобы восстановить его, оно не гигантская катастрофа, если она имеет, но лучше по умолчанию вещи почти никогда не должен делать это.

Затем, сохраняя полноразмерную форму данных для N блоков, я думаю, что преимущество компактности достигается без какого-либо отрицательного [с той оговоркой, что любое REORG мимо N блоков требует, чтобы восстановить сверток и все мимо него], и это все чисто местные оптимизации.

Мне было интересно, если это было возможно, чтобы получить networkservices немного? Это будет означать узел доступен для запросов, основанных ТХ для других узлов. Поскольку txindex = 1 приходит бесплатно, я полагаю, что это была бы хорошая вещь, чтобы сделать доступными для других узлов, в дополнение к обмену хэши о пучках. Это сделало бы вещи не чисто местными, но он будет работать ортогонально к существующим аналогам и просто помогает самонастройкам новых узлов и легкие узлам, но это будет влиять только другие узлы, которые имеют этот бит. Я видел в документации, чтобы сказать, чтобы спросить о таких битов или просто начать использовать один. Не уверен, что точный процесс, чтобы получить немного выделяется

котировка
Существует дополнительный тест Жгут построен из BitcoinJ, который имитирует сеть Bitcoin и помещает узел через его шаги. Это называется blocktester. Посмотрите на конфигурации CI Travis в ядре Bitcoin, чтобы получить представление о тестах, которые автоматически выполняются на нем.
Фантастика! Это очень поможет. Спасибо

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

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

Я рекомендую всем, чтобы написать свой собственный основной Bitcoin эквивалент. Он уверен, что это хороший способ, чтобы узнать, как все это работает

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

26 февраля 2016, 6:32:17 AM   # 4
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Примечание стороны.

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

Независимо от того, где запускаются итерации, все пути, прибывающие на то же месте будут иметь одинаковый гроссбух.

С помощью метода, описанного выше, каждый бухгалтерская книга баланс может быть проверен. Вид как аудит квартальной / годовой отчетности. После того, как книги будут, то только историки должны беспокоиться о каждом ОМ.

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

Я надеюсь, вы знаете путь этих остатки недавней пачки быть доверительными, не имея переигрывать все связки. Может быть, с помощью агрегированных подписи или Педерсен обязательств или <Ваш любимый крипто магии> может доказать, что остатки последней пачки действительно соответствие суммы изменений от всех предыдущих пучков? Если это возможно, то "только" вещь, которая будет нужно, это способ узнать, что содержимое пучка можно доверять.

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

Спасибо за все советы!

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

3 марта 2016, 11:05:04 AM   # 5
 
 
Сообщения: 2464
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

котировка
Какое количество блоков находится за пределами здравого смысла Reorg опасности? Я знаю, что теоретически очень длинная возможна реорганизация;, но от того, что я видел, это не так характерно для любого большого REORG. Я думаю, что, устанавливая задержку N блоков перед созданием самого последнего свертка, то вероятность того, чтобы регенерировать этот пакет будет очень низкой. Поскольку это занимает около минуты, чтобы восстановить его, оно не гигантская катастрофа, если она имеет, но лучше по умолчанию вещи почти никогда не должен делать это.

Для справки, существует правило, протокол, который запрещает сгенерированный BTC (coinbase ОГО) от тратятся, пока это не имеет 100 подтверждений. Старые Satoshi клиент имел дополнительный запас прочности: он не позволит вам тратить генерироваться BTC до тех пор, пока 120 подтверждений. Обсуждение окружающего запирающие монет для боковых цепей было в 144-288 блоках диапазоне глубины.
marcus_of_augustus сейчас офлайн Пожаловаться на marcus_of_augustus   Ответить с цитированием Мультицитирование сообщения от marcus_of_augustus Быстрый ответ на сообщение marcus_of_augustus

3 марта 2016, 11:14:05 AM   # 6
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

котировка
Какое количество блоков находится за пределами здравого смысла Reorg опасности? Я знаю, что теоретически очень длинная возможна реорганизация;, но от того, что я видел, это не так характерно для любого большого REORG. Я думаю, что, устанавливая задержку N блоков перед созданием самого последнего свертка, то вероятность того, чтобы регенерировать этот пакет будет очень низкой. Поскольку это занимает около минуты, чтобы восстановить его, оно не гигантская катастрофа, если она имеет, но лучше по умолчанию вещи почти никогда не должен делать это.

Для справки, существует правило, протокол, который запрещает сгенерированный BTC (coinbase ОГО) от тратятся, пока это не имеет 100 подтверждений. Старые Satoshi клиент имел дополнительный запас прочности: он не позволит вам тратить генерироваться BTC до тех пор, пока 120 подтверждений. Обсуждение окружающего запирающие монет для боковых цепей было в 144-288 блоках диапазоне глубины.
Благодарю. может быть 128? Это близко к полному рабочему дню и мощности 2

Я не знаю, что формально рассчитать шансы на REORG, что большой, но не хватает какой-то атаки или багги mainchain выпуска, казалось бы, совсем небольшой шанс, если 10 блоков получает шесть сигм
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777

3 марта 2016, 3:22:38 PM   # 7
 
 
Сообщения: 1442
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Это не только мысли, но описание рабочей системы, которая синхронизирует все blockchain и создает вышеуказанные структуры данных примерно полчаса, если у вас есть достаточно пропускной способности и 8 ядер. Это пропускная способность ограничена, поэтому для медленного домашнего подключения 20Mbps, он принимает 6hrs для полной синхронизации.

Пропускная способность ограничена = I / O и процессора ограничена тогда?

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

Примеры:

-Пользователь имеет медленное подключение к интернету, но много CPU => Он должен иметь возможность загрузки (и загрузки - если он работает узел) очень сжатые блоки с другими взаимодействующими узлами, которые готовы использовать сжатые блоки.
-Если же пользователь имеет медленный процессор, а => Он должен быть в состоянии задействовать GPU ресурсов для параллельной компрессии / декомпрессии (это возможно - я видел в формате PDF с исследования на предмет параллельной компрессии на GPU).
-Если пользователь имеет медленную ввод / вывод, но быстрый процессор => Сжать blockchain для дополнительной локальной пропускной способности
-Если пользователь имеет низкую ОЗУ, но быстрый процессор => Сжать RAM (для вещей, как сжатый кэш)
-Если пользователь имеет медленную ввод / вывод или низкий RAM, но будет узким место на CPU, если он идет в сжатую схему => нажмите на GPU
-Если пользователь хочет увеличить размер кэша для повышения производительности, но не хватает оперативной памяти => Используйте сжатый RAM, нажмите в большее количество процессоров, чтобы уменьшить ввода / вывода.

По сути вы пытаетесь торговать то, что вы есть, что вы хотите достичь. Один размер подходит для всех решения не будет работать особенно хорошо, потому что один пользователь имеет 1Gbps соединение, другой имеет 4Mbps. Один работает на Xeon, а другой работает на ноутбуке. Один имеет 16gb памяти, у другого 2. Можно задействовать графический процессор для параллельных процессов, другой не может, потому что он не один.

ИМО лучшие решения масштабирования будет регулироваться таким образом, что узкие места могут быть определены в конкретной системе и внести необходимые компромиссы для компенсации недостатков. Сжатие, безусловно, один из инструментов, которые могут сбалансировать эти потребности, не хватает ли один ОЗУ, дисковое пространство на их SSD, пропускная способность их сети и т.д. И чипах может определенно помочь в решении задачи обработки - будь то нагрузка непосредственно связана с Btc операций или сжатия / декомпрессии.
AlexGR сейчас офлайн Пожаловаться на AlexGR   Ответить с цитированием Мультицитирование сообщения от AlexGR Быстрый ответ на сообщение AlexGR

3 марта 2016, 4:07:13 PM   # 8
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Это не только мысли, но описание рабочей системы, которая синхронизирует все blockchain и создает вышеуказанные структуры данных примерно полчаса, если у вас есть достаточно пропускной способности и 8 ядер. Это пропускная способность ограничена, поэтому для медленного домашнего подключения 20Mbps, он принимает 6hrs для полной синхронизации.

Пропускная способность ограничена = I / O и процессора ограничена тогда?

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

Примеры:

-Пользователь имеет медленное подключение к интернету, но много CPU => Он должен иметь возможность загрузки (и загрузки - если он работает узел) очень сжатые блоки с другими взаимодействующими узлами, которые готовы использовать сжатые блоки.
-Если же пользователь имеет медленный процессор, а => Он должен быть в состоянии задействовать GPU ресурсов для параллельной компрессии / декомпрессии (это возможно - я видел в формате PDF с исследования на предмет параллельной компрессии на GPU).
-Если пользователь имеет медленную ввод / вывод, но быстрый процессор => Сжать blockchain для дополнительной локальной пропускной способности
-Если пользователь имеет низкую ОЗУ, но быстрый процессор => Сжать RAM (для вещей, как сжатый кэш)
-Если пользователь имеет медленную ввод / вывод или низкий RAM, но будет узким место на CPU, если он идет в сжатую схему => нажмите на GPU
-Если пользователь хочет увеличить размер кэша для повышения производительности, но не хватает оперативной памяти => Используйте сжатый RAM, нажмите в большее количество процессоров, чтобы уменьшить ввода / вывода.

По сути вы пытаетесь торговать то, что вы есть, что вы хотите достичь. Один размер подходит для всех решения не будет работать особенно хорошо, потому что один пользователь имеет 1Gbps соединение, другой имеет 4Mbps. Один работает на Xeon, а другой работает на ноутбуке. Один имеет 16gb памяти, у другого 2. Можно задействовать графический процессор для параллельных процессов, другой не может, потому что он не один.

ИМО лучшие решения масштабирования будет регулироваться таким образом, что узкие места могут быть определены в конкретной системе и внести необходимые компромиссы для компенсации недостатков. Сжатие, безусловно, один из инструментов, которые могут сбалансировать эти потребности, не хватает ли один ОЗУ, дисковое пространство на их SSD, пропускная способность их сети и т.д. И чипах может определенно помочь в решении задачи обработки - будь то нагрузка непосредственно связана с Btc операций или сжатия / декомпрессии.
Проблема заключается в том, что много данных высокой энтропии и не сжимаемый. Я считаю, что я определил и извлеченный большую часть избыточности. сжатия набора данных является одноразовой операция и реально не займут много времени, чтобы распаковывать.

CPU является узким местом, только если ваши соединения быстрее, чем 500megabits / сек, вероятно, половина, что, как и без проверки Sigs пока нет, но есть много времени простоя во время синхронизации.

С варьирования полосы пропускания, мы имеем 30 минут до 6 часов времени для синхронизации. Чем медленнее соединение обеспечивает достаточно времени для процессора

Я устранил HDD как узкое место, устраняя большую часть ищет и использует Append только набор файлов сразу в памяти отображаемых структуры данных.

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

Я использую адаптивные методы, так что идет так быстро, как вся система способна. В конце концов, если у вас есть только одно ядро, то это будет узким местом valiate 100000 блоков Sigs. Способ иметь разные "размеры" чтобы иметь полный узел, проверяющий узел, усеченный узел (дамп SIGs после того как они будут проверены), облегчённые узлы.

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

3 марта 2016, 4:59:07 PM   # 9
 
 
Сообщения: 1442
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

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

То, что кажется несжимаема вообще может быть сжат больше, если один сдвигает порядок символов вокруг файла. Например: https://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform (Это то, что делает BZIP кстати). Теоретически система сжатия может использовать несколько таких "таблицы" и попробовать различные конфигурации, чтобы найти новые увольнения, складывание и вновь складывая снова и снова данные, но, очевидно, я не буду просить вас придумать такую ​​систему

В любом случае, независимо от степени сжатия достигается => хороший. Если сжатый блок, например, может быть уменьшена с 1 МБ до 600KB, это огромный шаг вперед для кого-то с медленным соединением.
AlexGR сейчас офлайн Пожаловаться на AlexGR   Ответить с цитированием Мультицитирование сообщения от AlexGR Быстрый ответ на сообщение AlexGR

3 марта 2016, 5:14:15 PM   # 10
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

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

То, что кажется несжимаема вообще может быть сжат больше, если один сдвигает порядок символов вокруг файла. Например: https://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform (Это то, что делает BZIP кстати). Теоретически система сжатия может использовать несколько таких "таблицы" и попробовать различные конфигурации, чтобы найти новые увольнения, складывание и вновь складывая снова и снова данные, но, очевидно, я не буду просить вас придумать такую ​​систему

В любом случае, независимо от степени сжатия достигается => хороший. Если сжатый блок, например, может быть уменьшена с 1 МБ до 600KB, это огромный шаг вперед для кого-то с медленным соединением.
если вы можете сжать rmd160 (sha256)) и sha256 (sha256 ()) любой более чем на несколько процентов, это, вероятно, доказывает, что они не криптографической силы и открыты для простых текстовых атак среди других. SHA256 должна быть высокой энтропии, верно? Если да, то оно не сжимаемый.

Учитывая это, убрав дублирование, т.е. numvouts ссылка на идентичный TXID, как все они получают израсходованы, идентичные rmd160 [20] которые ссылаются в повторно используемых адресах вместе с pubkeys, когда подписан.

Так что я делаю, чтобы создать структурированный набор данных без высокой энтропии, а затем сжать только ту часть, чтобы добиться сжатия на 75%. Использование параллельных синхронизируют время для синхронизации, что на домашней связи с 20 Мбит будет меньше, чем за 2 часа, но оставляет за Sigs, которые удваивают размер до общей 30GB. Однако, если мы можем пропустить все Sigs перед блочным 290000, то, возможно, 10GB + этого не требуется.

на / г первой странице / Bitcoin есть упоминание об этом с большим количеством деталей о внутренностях

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

7 марта 2016, 5:43:38 PM   # 11
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Segwit чернослив старые подписи, а так как подписи являются основным источником энтропии могут сделать пережиток лучше сжимаемым

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

7 марта 2016, 6:38:40 PM   # 12
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Segwit чернослив старые подписи, а так как подписи являются основным источником энтропии могут сделать пережиток лучше сжимаемым
Какие? 
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

9 марта 2016, 8:28:24 PM   # 13
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Segwit чернослив старые подписи, а так как подписи являются основным источником энтропии могут сделать пережиток лучше сжимаемым
Какие? 
Я создаю отдельные файлы, которые содержат только подписи, поэтому обрезку их это дело просто удаление файлов

и да, данные индекса является сжимаемым, около 2х
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777

9 марта 2016, 9:10:54 PM   # 14
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Я создаю отдельные файлы, которые содержат только подписи, поэтому обрезку их это дело просто удаление файлов
и да, данные индекса является сжимаемым, около 2х
Почему бы не удалить все блочные файлы? 
Алгоритм будет выглядеть так:
1) проверять входящие транзакции (дикие и подтвержденные) для þér действий, за исключением проверки того, что входы неизрасходованные или даже существуют
2) передать действительные сделки с коллегами
3) держать только последние 100 (200-500-2016) блоки в blockchain на жестком диске

Это позволит сэкономить 95% места на жестком диске
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

9 марта 2016, 9:24:53 PM   # 15
 
 
Сообщения: 1442
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Segwit чернослив старые подписи, а так как подписи являются основным источником энтропии могут сделать пережиток лучше сжимаемым
Какие?  
Я создаю отдельные файлы, которые содержат только подписи, поэтому обрезку их это дело просто удаление файлов

и да, данные индекса является сжимаемым, около 2х

Что сжатия вы используете?

LRZIP * очень * хорошо для больших файлов (чем больше файл, тем больше сокращений может найти).

(Типичный 130MB block.dat будет вплоть до 97-98mb с GZIP / bzip2, но может пойти под 90 с lrzip).
AlexGR сейчас офлайн Пожаловаться на AlexGR   Ответить с цитированием Мультицитирование сообщения от AlexGR Быстрый ответ на сообщение AlexGR

10 марта 2016, 12:04:10 AM   # 16
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Segwit чернослив старые подписи, а так как подписи являются основным источником энтропии могут сделать пережиток лучше сжимаемым
Какие?  
Я создаю отдельные файлы, которые содержат только подписи, поэтому обрезку их это дело просто удаление файлов

и да, данные индекса является сжимаемым, около 2х

Что сжатия вы используете?

LRZIP * очень * хорошо для больших файлов (чем больше файл, тем больше сокращений может найти).

(Типичный 130MB block.dat будет вплоть до 97-98mb с GZIP / bzip2, но может пойти под 90 с lrzip).

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

Я нету получил полный пробег еще с последней итерации данных, поэтому не имеют точные размеры. Я ожидаю, что набор данных без подписи придет в менее чем 20GB для полного blockchain. Причина, по которой получает такое хорошее сжатие является то, что большинство индексов небольших чисел, которые происходят много, снова и снова. При картировании высокой энтропии pubkeys, txids и т.д. 32 битный индекс, а не только есть сжатия 8x, полученный индекс является сжимаемым, так что, вероятно, около 12х сжатия.

в Вина являются громоздким, но я закодировать, что в metascript, как описано в https://bitco.in/forum/threads/vinmetascript-encoding-03494921.942/

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

10 марта 2016, 12:05:45 AM   # 17
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Я создаю отдельные файлы, которые содержат только подписи, поэтому обрезку их это дело просто удаление файлов
и да, данные индекса является сжимаемым, около 2х
Почему бы не удалить все блочные файлы? 
Алгоритм будет выглядеть так:
1) проверять входящие транзакции (дикие и подтвержденные) для þér действий, за исключением проверки того, что входы неизрасходованные или даже существуют
2) передать действительные сделки с коллегами
3) держать только последние 100 (200-500-2016) блоки в blockchain на жестком диске

Это позволит сэкономить 95% места на жестком диске

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

10 марта 2016, 2:30:33 PM   # 18
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Я с нетерпением жду segwit так много. Пробовал segnet из GitHub, но ничего не заметить,

это было бы так удивительно попробовать altcoin с segwit, просто чтобы проверить его.
Watashi-kokoto сейчас офлайн Пожаловаться на Watashi-kokoto   Ответить с цитированием Мультицитирование сообщения от Watashi-kokoto Быстрый ответ на сообщение Watashi-kokoto

10 марта 2016, 7:58:55 PM   # 19
 
 
Сообщения: 1148
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Я думаю, мы должны признать, что большая часть blockchain БТД было deanonymized. А пока новые методы, такие как КТ не будут приняты, это будет только хуже.

Таким образом, вместо того, чтобы бороться безнадежную борьбу, почему бы не признать, что есть люди, которые не заботятся много о конфиденциальности и удобства является более важным. На самом деле они могут быть обязаны быть открытыми. Каноническое кодирование позволяет кодировать существующую blockchain и будущего общественного blockchain в гораздо лучше, чем любой другой метод, как он заканчивает как высокую энтропию сжатого числа 32-битных, против 32byte TXID + Vout. Экономия намного больше, чем 12 байт, она занимает всего 6 байт для кодирования неизрасходованного, поэтому ближе к 30 байт.

Что именно вы имеете в виду, "каноническое кодирование"? Что такое потеря конфиденциальности здесь?
TierNolan сейчас офлайн Пожаловаться на TierNolan   Ответить с цитированием Мультицитирование сообщения от TierNolan Быстрый ответ на сообщение TierNolan

10 марта 2016, 9:06:58 PM   # 20
 
 
Сообщения: 1162
Цитировать по имени
цитировать ответ
по умолчанию Re: Использование компактных индексов вместо хэш в качестве идентификаторов.

Я думаю, мы должны признать, что большая часть blockchain БТД было deanonymized. А пока новые методы, такие как КТ не будут приняты, это будет только хуже.

Таким образом, вместо того, чтобы бороться безнадежную борьбу, почему бы не признать, что есть люди, которые не заботятся много о конфиденциальности и удобства является более важным. На самом деле они могут быть обязаны быть открытыми. Каноническое кодирование позволяет кодировать существующую blockchain и будущего общественного blockchain в гораздо лучше, чем любой другой метод, как он заканчивает как высокую энтропию сжатого числа 32-битных, против 32byte TXID + Vout. Экономия намного больше, чем 12 байт, она занимает всего 6 байт для кодирования неизрасходованного, поэтому ближе к 30 байт.

Что именно вы имеете в виду, "каноническое кодирование"? Что такое потеря конфиденциальности здесь?
каноническое кодирование означает систему нумерации для каждого блока, TX, Vin, Vout, так что тот же номер ссылается на тот же один. Так как блоки упорядочены и TX упорядочены в пределах каждого блока и Vins и vouts упорядочены в пределах каждого TX, это вопрос просто итерацию через blockchain детерминированным образом.

Я понятия не имею, как это будет вызывать какую-либо потерю конфиденциальности, как это просто использует 32-битные целые числа в качестве указателей на хеши. Вопрос о конфиденциальности был поднят как-то причины, чтобы не использовать эффективное кодирование.

Джеймс

да, я понимаю, что если blockchain реорганизации;, индексы 32bit должны быть пересчитаны на тех, пострадавшие и сиротах не имеют индекса
jl777 сейчас офлайн Пожаловаться на jl777   Ответить с цитированием Мультицитирование сообщения от jl777 Быстрый ответ на сообщение jl777



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW