Как устроены криптовалюты: блокчейн |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ Атаки на ИИ Внедрение ИИИИ теория Компьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Промпты. Генеративные запросы Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2025-11-15 11:42 Идея технологии «блокчейн» относительно нова. В 1991 году она была предложена для верификации документов, а в 2008 году стала основой сети Bitcoin. Дословный перевод этого термина звучит как «цепь блоков». Блок в этой системе – некоторый оформленный объем информации. В блок могут быть занесены записи о совершенных пользователями платежах и сделках, перемещениях грузов и людей или, например, о событиях государственной важности. Все эти разнообразные и ценные данные надежно защищает от подделки связь блоков в непрерывную последовательность. Как же соединены блоки между собой? Подобно тому, как звенья металлической цепи входят друг в друга, каждый блок в системе блокчейн должен нести в себе следы предыдущего и оказывать влияние на содержимое последующего блоков. Рассмотрим постановку и решение задачи связи блоков на примере. В качестве блоков возьмем страницы записной книжки. Каждая страница будет отдельным блоком. Предположим, что в эту книжку мы станем вносить только самые нужные данные. Их потеря или подделка совершенно недопустима. Начнем использовать чистую книжку. Спустя некоторое время первая страница будет заполнена. Прежде чем перейти к следующей странице проделаем определенную вычислительную работу. Назначим каждой букве алфавита число. Способ сопоставления чисел буквам абсолютно не важен. Например, будем считать, что букве «А» соответствует единица, букве «Б» двойка и так далее. Вернемся к книжке и посчитаем произведение чисел, сопоставленных всем без исключения буквам на первой исписанной странице. Например, слово «криптография» даст число 6142169088000. Это произведение называют хэш-суммой. Затем запишем это число словами в начало второй страницы. После этого продолжим пользоваться книжкой, занося на её вторую страницу новые записи. Вторая страница, после того, как место на ней закончится, будет так же обработана, и на третьей странице появится новое число прописью. Продолжать этот процесс можно сколь угодно долго. Ясно, что связать друг с другом можно любое число страниц, отдельных тетрадок и обезопасить от подделки произвольный объем информации. Представим теперь, что кто-то, движимый коварным замыслом, решил подменить какую-то строчку в нашей книжке. Ясно, что в общем случае хэш-сумма искаженной страницы поменяется. Конечно, данной величине хэш-суммы соответствует не один текст, а бесчисленное их множество, однако вероятность подменить запись так, чтобы хэш-сумма страницы не поменялась довольно мала. Ведь злоумышленнику придется удовлетворить одновременно двум условиям. С одной стороны, его цель – внести свою запись в книжку. С другой стороны, при этом хэш-сумма страницы не должна быть изменена. В исключительном большинстве случаев выполнить оба эти требования невозможно. Итак, будем считать, что при всякой подмене содержимого книжки хэш-сумма соответствующей страницы меняется. Мы помним, однако же, что хэш-сумма первой страницы записана в заголовок второй, хэш-сумма второй – в заголовок третьей и так далее сквозь всю книжку. Хэш-сумма предыдущей страницы вносит свой вклад в хэш-сумму следующей. Значит, всякое изменение хэш-суммы одной из страниц повлечет за собой изменение хэш-сумм всех следующих страниц. Поэтому нашему гипотетическому злоумышленнику придется не только внести изменения в содержимое одной строчки, но и посчитать хэш-сумму искаженной страницы, затем с учетом нового значения изменить хэш-сумму следующей страницы и так далее вплоть до конца тетрадки. На первый взгляд кажется, что именно так и поступит нарушитель. В чем же, спрашивается, защитная функция технологии блокчейн? Дело в том, что такую работу по тотальной подделке всех данных в книжке осуществить очень сложно. Даже при нашем способе подсчета хэш-суммы страницы, который очень прост на деле и не смог бы служить сколько-либо стойким алгоритмом защиты данных, видно, что злоумышленнику придется долго считать хэш-суммы и переписывать страницы от места внесения изменений до самого конца книжки. На выполнении этой трудоемкой работы он может попасться. Да и самая необходимость переписывать всю информацию ради одной подмены – существенное ограничение для потенциальных фальсификаторов. Подведем краткий итог. Мы решили надежно защитить записи в книжке. Теперь после того, как некоторая страница будет исписана, нам надлежит посчитать ее хэш. Хэш-сумма - произведение чисел, сопоставленных буквам на всей странице. Эту величину мы записываем первой строчкой на следующую страницу и продолжаем пользоваться книжкой. Каждый может использовать этот незамысловатый метод защиты информации! Однако с прогрессом вычислительной техники он утрачивает стойкость. Теперь вовсе не кажется сложным при внесении ложных данных в книжку за небольшое время пересчитать хэш-суммы всех страниц. То, что в отсутствие компьютеров заняло бы много времени, совершится по нажатию клавиши. Как же нам затруднить подделку содержимого нашей книжки даже для вооруженного мощной техникой злоумышленника? Увы, простого выхода нет. Нам придется для начала самим обзавестись быстродействующей счетной машиной. Для чего она нам понадобится? Внесем некоторое изменение в алгоритм закрытия страницы книжки путем вычисления хэш-суммы. После того, как некоторая страница окажется заполнена информацией, мы по-прежнему перемножим числа, сопоставленные буквам на ней. Однако не будем спешить вписывать полученную величину в заголовок новой страницы. Попробуем поискать такое число, умножая которое на найденное произведение, мы получим результат с пятью единицами в начале. Интуиция подсказывает, что такое число отыщется, ибо чисел бесконечно много. Строгое обоснование существования нужного нам множителя может быть дано только методами математики. Однако на нашем уровне рассмотрения допустим (и при этом едва ли ошибемся), что такой множитель существует всегда, для любого текста на обрабатываемой странице. Это число мы и запишем в заголовок следующей страницы. На этом моменте введем новую терминологию. Искомый множитель называется хэшем. Результат перемножения его на произведение чисел, соответствующих буквам на странице, называется хэш-суммой. В роли функции хэширования выступает простое умножение. Самое время задать вопрос: чем же новый алгоритм формирования заголовка нового блока превосходит своего предшественника? Дело в том, что этот особый множитель найти отнюдь не просто. Здесь перед нами лежат два пути. Можно путем математических изысканий вывести формулу для мгновенного получения множителя из содержимого страницы. Можно заставить компьютер умножать по очереди все натуральные числа на числовую характеристику страницы до той поры, пока результат не обнаружит пять единиц в начале. Даже для нашего весьма простого метода первый вариант совершенно неочевиден и требует подробного исследования. Формула может быть так и не найдена, либо найдена нескоро. В течение этого времени нам остается лишь второй вариант нахождения множителя – перебор. Этот затратный с точки зрения времени метод поиска нужных чисел озадачит даже оснащенного техникой преступника. Поменяв одну строчку на какой-либо странице нашей книжки, он обречен подбирать множители к всем без исключения следующим страницам. Снова объем работы, требуемой для сквозной подделки книжки, оказался слишком велик, чтобы отвадить потенциального мошенника. С нашей же стороны проверка истинности блока сведется лишь к одному нахождению его числовой характеристики и одному умножению на известный из следующей страницы множитель. Лишь в том случае, если у злоумышленника в распоряжении гораздо больше вычислительных мощностей, чем у нас, он сумеет расправиться с фальсификацией наших данных за приемлемое время. Следует отметить, что в реально используемых блокчейн-системах эта уязвимость, называемая уязвимостью 51%, тоже присутствует и представляет опасность. Снова подведем итог. Мы решили еще надежнее защитить записи в книжке. Теперь после того, как некоторая страница будет исписана, нам надлежит посчитать ее числовую характеристику, перемножая коды букв. После этого путем перебора найти множитель, произведение которого на числовую характеристику страницы даст результат с пятью единицами в начале. Наконец, следует записать этот множитель в заголовок новой страницы. Нами был построен вполне функциональный вариант небольшой подручной системы «блокчейн» для защиты содержимого записной книжки. Ясно, что с 1991 года, движимая лучшими специалистами в области криптографии, эта технология значительно развилась и теперь устроена гораздо сложнее. Укажем на основные направления совершенствования нашего «блокчейна», двигаясь по которым, мы получим современный блокчейн. Во-первых, чтобы начисто устранить риск появления формулы для множителя, необходимо использовать необратимые хэш-функции. Это особые алгоритмы, по результату работы которых невозможно определить исходные данные (в их числе и множитель). Во-вторых, следует размножить нашу книжку с той целью, чтобы многие, пользуясь ею, искали множители и закрывали тем самым блоки. Подобное распараллеливание алгоритма подтверждения блоков вынудит злоумышленника обзавестись еще б?ольшими вычислительными мощностями, чтобы противостоять всей распределенной системе хранения нашей книжки. Конечно, все эти идеи воплощены в используемых системах «блокчейн» и, в частности, в криптовалютах. Отметим, что технология блокчейн используется на данный момент отнюдь не только в сфере криптографических валют. Этим способом защищенного от подделки и распределенного способа хранения данных пользуются разные частные и государственные учреждения. Источник: vk.com Комментарии: |
|