Итак, что такое блокчейн?
Это такой способ работы с базой данных, когда по любому из блоков (строк) мы можем проверить, что предыдущая строка не менялась, но при этом мы не можем узнать, что было в предыдущей строке.
Какие минусы у блокчейна:
- Нужно заморочиться и написать код, который будет не просто записывать, а ещё и производить манипуляции со строками, что потребует трудозатрат и скажется на производительности.
- Нужно реализовать хэш-функцию - ещё трудозатраты и ещё отъедание производительности.
- База будет больше, чем обычная база, потому что каждая строка содержит дополнительные служебные данные.
Какие плюсы у блокчейна, или проще говоря, почему мы готовы терпеть минусы:
- Последовательно пройдя от конечного блока к начальному (или наоборот), вычисляя хэш и сравнивая с хэшем в базе, мы можем понять, менялось ли что-то в базе или нет.
- При этом, имея доступ только к одной строке, мы не можем узнать, что в других строках.
Какие выводы мы уже можем сделать?
Ну, например, мы уже понимаем, что если нам не нужно проверять, вносил ли кто-то изменения в базу, то блокчейн нам не нужен.
Также мы понимаем, что блокчейн - это билет в один конец. То есть если у нас в базе строки могут меняться, то блокчейн нам тоже не нужен. Например, мы можем сделать обычное проведение документов на блокчейне, но это будет бессмысленно.
С другой стороны блокчейн, при качественной реализации, позволяет однозначно убедиться, что строки не менялись. Ведь если зайти в строку 50, поменять там данные, то хэш в строке 51 будет другой. И в строке 100. И в строке 100500. Во всех строках, начиная с 51. Если задача состоит в том, чтобы выявить факт вмешательства, то блокчейн - отличное решение. Ведь если поменяли строку 50, то нужно переформировать все хэши всех строк от 51 до конца базы! А если админ на бумажечке записал хэш строки 100500? Тогда нужно ещё и бумажечку переделать, да так, чтобы админ не заметил! Шансы несанкционированного изменения базы без того, чтобы админ узнал, стремятся к нулю.
Ещё один важный вывод - никакого волшебства в блокчейне нет, это громоздкая штука с ограниченным кругом решаемых задач. Вывод вроде очевидный, но, как показывают новости, далеко не для всех. А многие, видимо, сознательно этот вывод обходят стороной.