работа. достиг 328,19 гб
Скачать 0.66 Mb.
|
Масштабируемая модель систем хранения на блокчейнеВ предыдущем разделе мы обсудили современные схемы хранения с акцентом на масштабируемость систем хранения Blockchain. Эти схемы хранения имеют два основных недостатка. (1) Насколько нам известно, не существует механизма, контролирующего избыточность данных, который приводит либо к плохой масштабируемости систем хранения Blockchain, либо к ущербу для децентрализации. (2) Поскольку полные узлы, работающие на устройствах общего назначения с ограниченными ресурсами хранения, должны отказаться от основных функций, чтобы стать неполными узлами, большое количество неполных узлов зависит от нескольких полных узлов, что приводит к неравенству узлов и скомпрометировать децентрализацию. Ключом к решению этих проблем является разрешение противоречия между избыточностью данных и их характеристикой децентрализации. Чтобы построить масштабируемую модель систем хранения Blockchain, мы начнем с анализа избыточности данных на схемах в разд. 4.1 , найдите ключевые факторы, влияющие на масштабируемость систем хранения Blockchain, сравнив схемы в разд. 4.2 и, наконец, предложить масштабируемую модель на основе узлов для систем хранения Blockchain (SMBSS) в разд. 4.3 . Избыточность данныхМасштабируемость систем хранения Blockchain означает снижение избыточности данных без ущерба для децентрализации. В идеальной системе хранения Blockchain количество типов узлов должно быть как можно меньше. В оптимальном случае в системе Блокчейн имеется только один тип узла, чтобы обеспечить функциональную эквивалентность узлов. Мы ожидаем, что минимальная избыточность систем Блокчейн может быть как можно меньше, и она определяется всеми типами узлов, чтобы обеспечить характеристику децентрализации систем Блокчейн. Определение 1( Избыточность ) Избыточностьятчасятчасблокировать (б л о вкяблоскя) — это количество узлов, в которых он хранится, и обозначается какКяКя. Средняя избыточность относится к среднему значению избыточности всех блоков и обозначается как K , тогда как максимальная и минимальная избыточность относятся к максимальным и минимальным значениям среди всех избыточностей блоков, обозначаемых какКм а хКмаИкса такжеКм я нКмян, соответственно. С этим определением мы теперь обсудим избыточность данных SSFL . В SSFL есть два типа узлов. Полные узлы хранят все блоки. Облегченные узлы хранят только заголовки блоков, что незначительно. Минимальная избыточность SSFL определяется количеством полных узлов, а именнонфнф. SSFE SSFE включает два типа узлов: полные узлы и узлы ESPV. Оба они хранят блоки. Их минимальная избыточность определяется ими совместно. Его минимальная избыточность данныхнф+ (нЕСпВ∗ а / М)нф+(нЕСпВ*а/М), куданЕСпВнЕСпВ— количество узлов ESPV, a — количество блоков, которые хранят узлы ESPV, M — количество блоков, а количество узлов ESPV намного больше, чем количество полных узлов, т. е.нЕСпВ≫нфнЕСпВ≫нф. В оптимальном случае в системе Блокчейн имеется только один тип узла, т. е. узлы ESPV, для обеспечения функциональной эквивалентности узлов его минимальная избыточность данных составляет(нЕСпВ∗ а / М)(нЕСпВ*а/М). Узлы SSCD SSCD представляют собой комбинацию полных узлов, работающих на облачном сервере, и облегченных узлов, развернутых на персональных компьютерах и мобильных устройствах. Его избыточность данных зависит от полных узлов инфнф. ESS ESS предусматривает, что каждый шард должен храниться более чем на 50% узлов, поэтому его минимальная избыточность данныхнс/ 2нс/2, куданснсэто количество узлов хранения. CCSS Согласно протоколу CCSS, все узлы в его кластере поддерживают полные данные блокчейна, что означает, что его минимальная избыточность данных зависит от количества кластеров, т . е. k . Блочное сжатие обычно имеет скорость сжатия, а минимальная избыточность данных зависит от полных узлов и узлов с малым объемом памяти на основе кода стирания инф+нс∗ к / рнф+нс*к/р, куданснс- количество узлов кодирования. Схемы обрезки блокчейна основаны на SSFL, и его минимальная избыточность данных такая же, как у SSFL, илинфнф. Шардинг Согласно анализу шардинга, минимальная избыточность данных при шардинге транзакций составляетнннн, куданннн— это количество узлов во всей системе Blockchain. В то время как минимальная избыточность данных сегментирования состояния∑кя = 1няся/ м∑язнак равно1княся/М, куданяняпредставляет любой узел, который хранитсясяблоки. Подводя итог, хоть и существует множество схем СХД Блокчейн, нацеленных на масштабируемое хранилище, большинство из них оптимизированы на основе SSFL, а их минимальная избыточность составляетнфнф, что указывает на то, что доступность данных по-прежнему в значительной степени зависит от количества полных узлов в системах Blockchain. Однако минимальная избыточность SSFE, ESS, CCSS и сегментирования состояния отличается от других схем хранения. Минимальная избыточность ESS, CCSS и сегментирования состояниян1/ 2н1/2, к и∑кя = 1няся/ м∑язнак равно1княся/М, соответственно, что ниже, чем у SSFL. Это противоречит первоначальному намерению улучшить масштабируемость систем хранения Blockchain. В то время как минимальная избыточность SSFE и блочного сжатиянф+нс∗ к / рнф+нс*к/ра такженф+ (нЕСпВ∗ а / М)нф+(нЕСпВ*а/М), соответственно, что выше, чем у SSFL. Сравнение различных схем систем хранения на блокчейнеОсновываясь на приведенных выше обсуждениях, мы обнаруживаем, что масштабируемость систем блокчейна в основном отражает три аспекта: минимальная избыточность данных, степень децентрализации и надежность данных. Децентрализация, ключевая характеристика блокчейна, измеряется эквивалентностью узлов и уровнем проверки транзакций. Уровень проверки транзакций можно разделить на четыре уровня: L1, невозможность проверки платежей; L2, проверить все платежи; L3, проверка частичных транзакций; и L4, проверьте все транзакции. Идеальный тип узлов должен поддерживать основные функции, и все узлы должны совместно поддерживать полный реестр для достижения автономии систем блокчейна. Блокчейн использует сеть P2P для реализации связи и обмена данными между узлами, а это означает, что для обеспечения высокой надежности данных узел должен хранить как можно больше данных Блокчейна. Надежность данных системы Blockchain включает в себя два аспекта, а именно доступность данных и время поиска. Определение 2( Доступность данных ) Доступность данных - это вероятность того, что данные могут быть получены в данный момент времени и обозначаются какпяапая. Вероятность того, что данные на узле могут быть извлечены, может быть измерена онлайн-скоростью узла, которая представляет собой среднее время до отказа (MTTF), деленное на общее время наблюдения (MTTF+MTTR, среднее время восстановления). Определение 3( Время извлечения) Время извлечения данных — это интервал времени от запроса данных, отправленного до получения данных, и обозначается как T. Наилучшая доступность данных и время извлечения могут быть просто достигнуты путем хранения всех данных блокчейна, что вызывает избыточную избыточность и проблему масштабируемости. Наоборот, меньшая избыточность данных обычно означает более низкую доступность данных, что приводит к увеличению времени поиска объекта. К сожалению, более длительное время поиска может поставить под угрозу процессы обслуживания данных и снизить время поиска пользователем [ 50 ]. Для систем хранения P2P крайне важно справляться с противоречиями между ними. Основываясь на приведенных выше обсуждениях, мы проводим сравнение схем систем хранения Blockchain (таблица 2 ). Время поиска - отрицательные показатели; то есть их оценка отрицательно коррелирует с производительностью. Мы ожидаем, что степень децентрализации, а также надежность данных могут быть как можно выше при сохранении более высокогоКм я нКмян. Высокая надежность данных требует высокой доступности данных и короткого времени поиска. Мы выбираем общую схему хранения, т. е. SSFL, в качестве основы для сравнения. Таблица 2 Сравнение схем систем хранения Blockchain Полноразмерный стол Мы видим, что в отношении степени эквивалентности узлов, хотя существует два типа узлов в SSFL и SSFE, узлы ESPV в SSFE имеют более полную функцию, чем легкие узлы, поэтому их эквивалентность узлов выше, чем у SSFL. Более того, поскольку в ESS и Block Compression задействовано более двух типов узлов, проблема асимметрии узлов более серьезна, чем у SSFL. Кроме того, в SSCD есть два типа узлов, CCSS и отсечение блокчейна, поэтому степень эквивалентности узлов в этих трех схемах хранения такая же, как и в SSFL. Считается, что ноды шардинга более сложны, так как нода может выполнять несколько ролей, поэтому мы не обсуждаем это в этой части. Результаты оценки уровня проверки транзакций основаны на разных типах узлов различных схем хранения. В SSFL и сокращении блокчейна облегченные узлы могут проверять все платежи (уровень 2), полные узлы могут проверять все транзакции (уровень 4). В SSFE узлы ESPV могут проверять частичные транзакции (L3), полные узлы могут проверять все транзакции (L4). В SSCD, в зависимости от режима, серверы росы могут проверять все платежи (L2) или проверять все транзакции (L4), полные узлы могут проверять все транзакции (L4). В ESS узлы хранения и узлы проверки не могут проверять платежи (L1), пользовательские узлы могут проверять все транзакции (L4). В CCSS узлы майнинга не могут проверять платежи (L1), ноды данных могут проверять все транзакции (L4). В блочном сжатии узлы кодирования не могут проверять платежи (L1), легкие узлы могут проверять все платежи (уровень 2), полные узлы могут проверять все транзакции (уровень 4). При разделении транзакций узлы могут проверять все транзакции (уровень 4). Находясь в State Sharding, узлы могут проверять частичные транзакции (L3). Что касается доступности данных, узлы ESPV в SSFE имеют базовые функции, чем облегченные узлы в SSFL, а их доступность данных может достигать 100 % как в SSFL, так и в SSFE (см. раздел 5 ).). SSCD опирается на облачные серверы, а сильная связь между системами и службами может привести к снижению доступности данных. В ESS доступность данных зависит от узлов хранения и P-цепочки, и возникающие в результате накладные расходы на связь снизят доступность данных. Согласно правилу CCSS, узлы, присоединяющиеся к системе или покидающие ее, вызывают перераспределение данных, что снижает их доступность. Блочное сжатие использует метод кодирования, процесс восстановления данных снижает доступность данных. Хотя сокращение блокчейна основано на SSFL, слепое удаление данных только для экономии места для хранения не способствует поддержанию надежности данных. Кроме того, локальная операция реконструкции данных потребует времени и вычислительных ресурсов. В идеале время поиска данных должно быть как можно короче, поэтому время поиска является отрицательным показателем. По сравнению с SSFL узлы ESPV в SSFE хранят только часть данных Blockchain, поэтому время извлечения немного увеличивается (см. раздел 5 ). Хотя время извлечения SSCD зависит от облачного сервера и сетевого взаимодействия, его надежность невелика. Сбор данных в ESS зависит от узлов хранения и P-цепи, которые сложны в эксплуатации и влекут за собой огромные накладные расходы на связь. Как и при анализе доступности данных, время поиска в CCSS больше, чем в SSFL. Сокращение данных включает в себя операции реконструкции данных, а межсегментные транзакции в сегментировании увеличивают время извлечения. Исходя из вышеизложенного, можно сделать вывод, что за счет реализации усовершенствованных облегченных узлов и оснащения их базовыми функциями в качестве полных узлов минимальная избыточность SSFE изменилась нанф+ (нЕСпВ∗ а / М)нф+(нЕСпВ*а/М). Учитывая ограниченную емкость хранилища, количество узлов ESPV в системах Blockchain намного больше, чем количество полных узлов. Следовательно, если бы мы могли увеличить(нЕСпВ∗ а / М)(нЕСпВ*а/М), тогда давление хранилища на полных узлах будет передано на расширенные облегченные узлы, чтобы снизить пороговое значение узлов. По сравнению с SSFL, SSFE может снизить нагрузку на полные узлы при одновременном снижении избыточности данных, а также улучшить масштабируемость систем хранения Blockchain. Подход к масштабируемым системам хранения на блокчейнеПоскольку данные блокчейна со временем растут линейно, увеличивающееся давление на полные узлы заставит полные узлы переключиться на неполные узлы или, в конечном итоге, выйти из системы, что в конечном итоге ослабит характеристику децентрализации блокчейна. Как система P2P, блокчейн должен использовать преимущества всех участвующих узлов, поощрять большее количество узлов к участию в хранении данных, а также совместно поддерживать высокую доступность данных и сокращать время поиска. Мы обсуждаем каждую модель данных в блокчейне отдельно. Мы анализируем UTXO биткойнов и обнаруживаем, что большинство UTXO генерируется в нескольких последних блоках. Мы берем 100 000 блоков как группу, извлекаем из них 100 блоков случайным образом и вычисляем для них долю проверенных транзакций в последних 3000 блоков; получено среднее значение, показанное на рис. 2 . Рис. 2 Общее распределение скорости проверки транзакций Полноразмерное изображение Видно, что 90% транзакций можно проверить, обратившись к самым последним блокам во временном окне текущего блока, содержащего транзакции [ 24 , 51 ]. Экспериментальные результаты дают новую идею: по сравнению с полными узлами, которым необходимо хранить все данные блокчейна, чтобы иметь функцию проверки транзакций, сохранение только последних 3000 блоков может независимо проверить более 80% транзакций блока, что очевидно, больше соответствует требованиям масштабируемости систем хранения Blockchain. В отличие от Биткойна, в дополнение к исходным данным Блокчейна, Эфириум, представитель Блокчейна, основанного на учетных записях, поддерживает текущее состояние всех учетных записей в дереве Меркла Патрисии, т. е. состояние дерева. Подход кажется крайне неэффективным на первый взгляд, потому что он должен хранить все состояние с каждым блоком. Однако на самом деле эффективность сравнима с эффективностью Биткойна. Причина в том, что вся информация о состоянии является частью последнего блока, поэтому нет необходимости хранить всю историю блокчейна. Пока узел сохраняет полное дерево состояний, он может иметь функцию проверки транзакции. Мы можем сделать вывод, что скорость проверки транзакций как для узлов SSMAB, так и для полных узлов достигает 100 процентов, поэтому эксперимента по скорости проверки транзакций для блокчейна на основе учетной записи в разделе 2 не проводится. 5.2 . Масштабируемая модель на основе узлов для систем хранения блокчейнаТекущие схемы систем хранения Blockchain могут временно уменьшить нагрузку на узлы. Чтобы найти постоянное решение, необходим количественный анализ взаимосвязи между избыточностью данных и масштабируемостью. В идеальной системе хранения Blockchain количество типов узлов как можно меньше, все участвующие узлы адаптивно хранят данные в зависимости от условий их хранения, чтобы обеспечить автономность систем Blockchain при оснащении узлов основными функциями. Основываясь на приведенных выше выводах, мы предлагаем масштабируемую модель на основе узлов для систем хранения блокчейна (SMBSS), в которой новые блоки хранятся во временном окне для блокчейна на основе UTXO или во всем дереве состояний для блокчейна на основе учетных записей, чтобы гарантировать свою функцию проверки транзакций, а также частичные старые блоки для снижения потребления ресурсов хранения. Определение 4( Масштабируемая модель на основе узлов для систем хранения блокчейна )М= { (ся,ДяТ,пяр) ∣я знакравно1,2,…м }Мзнак равно{(ся,ДТя,пря)∣язнак равно1,2,…м}, M состоит из m типов ресурсов узла, которые составляют системы Blockchain. Типы ресурсов узла представляют собой тройку(ся,ДяТ,пяр)(ся,ДТя,пря), кудасясяпроцент резервного копирования данныхят чятчастип ресурса узла,ДяТДТяуровень проверки транзакций, ипярпряпредставляет его надежность данных, которая проявляется двумя способами получения данных узлом, т. е. удаленным и локальным. Схемы систем хранения Blockchain, рассмотренные в разд. 4.1 может быть совместно описан SMBSS с различными комбинациями параметров, как показано в Таблице 3 . Таблица 3 SMBSS для блокчейн-систем Полноразмерный стол Рис. 3 Системная архитектура для SMBSS Полноразмерное изображение Архитектура системы для SMBSS показана на рис. 3 . Узел хранит два типа данных: новые блоки во временном окне для блокчейна на основе UTXO или состояние дерева для блокчейна на основе учетной записи, а также несколько сегментов в соответствии с их емкостью хранилища. Стратегия хранения позволяет всем узлам иметь функцию проверки транзакций, сохраняя данные первого типа, и совместно использовать нагрузку хранилища, сохраняя данные второго типа. В системе P2P надежность системы определяется выражением [ 52 ]: р =∑я = мнСянпя( 1 - р )п - ярзнак равно∑язнак равномнСняпя(1−п)н−я (1) где r — надежность системы, p — надежность узла, k — избыточность системы Блокчейн; тогда избыточность k определяется как: к = л о г( 1 - р ) / л о г( 1 - р )кзнак равнолограмм(1−р)/лограмм(1−п) (2) Согласно закону Бореля [ 53 ], любая вероятность меньше 1 в10501050автоматически равен нулю. По формуле (2) положимр =1050рзнак равно1050. |