По данным PR Newswire объем рынка облачных хранилищ вырастет с 30 млрд долл в 2017 году до 90 млрд долл к 2022 году при годовом темпе роста 24%. Это означает, что данный сектор станет одним из самых быстрорастущих в мировой экономике и блокчейн будет иметь решающее значение для его успеха. И вот почему.
Самый простой способ сохранить информацию в интернете — использовать облачные сервисы, например Google Drive, MySQL и MongoDB. В этом случае пользователь получает доступ к хранилищам компании просто так или в обмен на платную подписку. При этом компания сохраняет контроль над базой данных и предоставляет клиентам право доступа к хранилищам, а также отвечает за безопасность и сохранность данных.
На практике это выглядит следующим образом:
Это стандартная модель, которая доминирует на рынке. У нее два преимущества:
В остальном подобные хранилища — это довольно сомнительный способ хранения информации, поскольку, как показывает практика, их часто взламывают, они ненадежны и информация в них используется без ведома и согласия пользователя (в маркетинге).
Именно потому кража персональных данных стала нормой в XXI веке. К примеру, 19 ноября 2018 года власти США опубликовали результаты расследования по делу о краже персональных данных 500 миллионов клиентов гостиничной сети Marriott. Да и краже пикантных фото знаменитостей из iCloud уже никто не удивляется.
Кроме того, использование традиционных способов хранения — прямой путь к монополизации рынка, поскольку чем больше ресурс хранилищ, тем дешевле услуги. А монополизация рынка, как известно, ведет к снижению качества услуг и замедлению темпов научно-технического роста.
В основе блокчейна последовательности блоков, каждый из которых несет в себе некий объем информации. Данный объем ограничен фреймворком блокчейна. Например, для Биткоина — это 1 MB. Ограничение показывает максимальный размер файла, который можно загрузить в блокчейн Биткойна. Для хранения информации о транзакциях 1 MB достаточно, однако, если требуется сохранить изображение или видеофайл, нужно искать другое решение.
Подобным решением теоретически мог бы стать блокчейн Эфириума, поскольку у него нет ограничений на размер блока. Но в этом случае возникает другая проблема — чрезмерно высокая стоимость хранения информации. Дело в том, что загрузка данных в блокчейн Эфириума не бесплатна. На это тратится газ эфириума, который стоит реальных денег, и чем больше размер файла (данных), тем больше этого газа уходит.
В 2017 году подсчитали, что загрузка 1 KB информации в блокчейн обходится пользователям в 2 американских доллара. Выходит, загрузка в блокчейн, например, текстового файла размером в 600 KB обойдется пользователям в 1 200 долл, фильма размером в 5 GB — больше 10 млн долл. Вероятно, сейчас цена существенно ниже, так как рынок просел, но она все еще заоблачная.
Проблему с ограничением максимального размера блока можно решить несколькими способами. Самый простой из них подразумевает:
Этот подход позаимствован у торрент-трекеров, но для хранения данных с помощью блокчейна он не подходит, даже если убрать комиссии за проводку транзакций. Причин для этого несколько. Во-первых, запись информации в блокчейн осуществляется посредством транзакций, а они требуют подтверждения. Большой файл может потребовать несколько тысяч транзакций, то есть нескольких часов, а то и дней.
Во-вторых, информация в блокчейне неизменна. Следовательно, вы не можете удалить или изменить ненужные данные. Все попавшие в сеть файлы и их вариации навсегда останутся в блокчейне, и теоретически кто-то рано или поздно сможет их просмотреть. Например, когда блокчейн потеряет популярность, то и один пользователь сможет единолично им управлять, меняя правила системы как душе угодно.
В-третьих, неизменность приведет к еще одной проблеме — лавинообразному росту размера блокчейна. Если информацию нельзя удалить, она будет только накапливаться, что со временем сделает размер блокчейна слишком большим для обычного пользователя. Например, сейчас размер блокчейна Биткойна – 220 GB, Эфириума — 600 GB. Это уже слишком много для смартфонов, планшетов и значительной части ноутбуков.
Подытоживая, можно сказать, что хранение информации непосредственно в блокчейне не лучшая идея, если речь идет о больших данных. Этот вариант подойдет лишь в тех случаях, когда объем информации находится в пределах нескольких килобайт. Например, когда речь идет о финансовых транзакциях, STO, персональных данных или документообороте.
Речь идет о таких способах хранения, как, например, Межпланетная файловая система (IPFS). Эта блокчейн-технология выстроена на протоколе BitTorrent, который подразумевает разбивку файлов на осколки и их хранение в нескольких экземплярах на компьютерах участников системы.
У этого подхода несколько преимуществ:
Из недостатков можно отметить, что загрузка файла в сеть происходит, только если пользователь находится онлайн и такая система обслуживает исключительно статичные данные. Кроме того, получить доступ к файлу можно лишь зная имя/путь к нему.
Сравнение протоколов HTTP и IPFS
Блокчейн в этой схеме используется в качестве посредника, который связывает участников между собой и отвечает за проверку подлинности и целостности файлов. Кроме того, его можно использовать для монетизации процесса: сиды получают деньги за раздачу файлов, пиры платят за их скачивание.
Это, по сути, обычные облачные хранилища вроде Dropbox. Только данные размещаются не на серверах компаний, а на устройствах пользователей, которые сдают их в аренду. Подобных стартапов много, например Swarm, Storj или Sia.
Используя подобные решения не нужно постоянно находиться в сети, чтобы расшаривать информацию другим участникам сети. Достаточно один раз загрузить файл в облачное хранилище.Такие хранилища стабильны, быстры и имеют огромные емкости.
Однако они подходят только для обслуживания статичных данных и не поддерживают поиск по содержанию. Кроме того, они не бесплатны, поскольку люди арендуют оборудование друг у друга.
Если нужно хранить большие объемы структурированной информации и искать контент по запросам, следует обратить внимание на NoSQL. SQL не подходят, поскольку информация в них не может быть распределена на осколки из-за ограничений эфристичекой теоремы Брюера. Чтобы сделать базу данных по-настоящему распределенной, нужно пожертвовать доступностью и согласованностью.
Именно это делают базы данных NoSQL — жертвуют согласованностью узлов блокчейна, заменяя ее «eventual consistency» (узлы становятся согласованными спустя определенное время) ради доступности. На основе этого подхода реализовано много проектов, например RethinkDB, Apache Cassandra, MongoDB и другие. И это отличные кейсы — отказоустойчивость, высокая скорость, простая горизонтальная масштабируемость и поддержка богатого языка запросов.
Правда, у них есть один существенный недостаток — все узлы должны доверять друг другу. Это важно, поскольку если среди узлов появится вредоносный элемент, он сможет самостоятельно уничтожить всю базу данных.