Как известно, первая криптовалюта использует в своей работе алгоритм шифрования SHA-256. По принципам работы этого алгоритма, в случае замены в исходных данных всего одного бита информации будет запущен целый каскад различных процессов, которые дадут на выходе алгоритма шифрования совершенно непредсказуемый результат. В следствие этого, изменение начальных данных на один бит не даст изменения результата на один бит, результат будет предсказать невозможно, но прямой зависимости здесь не будет.
Сейчас с лёгкостью можно найти в любом поисковике калькуляторы алгоритма шифрования SHA-256. По ним можно, например, получить хеш фразы Bingo! (с большой буквы и с восклицательным знаком в конце). Для этой фразы будет свой уникальный рисунок SHA-256. Если убрать восклицательный знак или написать фразу с маленькой буквы, то хеш будет совершенно другой и предугадать его нам невозможно. Этот хеш будет уникальным именно для этого варианта написания фразы.
Стоит отметить важную особенность. Хеш для одного и того же варианта написания фразы через любое время всегда будет один и тот же. То есть при одинаковых вводных данных (в нашем случае это одни и те же символы), мы всегда получим один и тот же хеш.
Используя эту простую функцию в конце прошлого тысячелетия Адам Бэк разработал своё изобретение под названием HashCash, которой ныне является основой работы первой криптовалюты. Изначально это была система против спама.
Мотивация была довольно простой. Даже в то время количество спамеров зашкаливало и с ними необходимо было как то бороться. Поэтому Адам Бэк решил воспользоваться этой функцией, чтобы заставить каждый компьютер выполнять некоторую работу.
Цель была довольно явной. Например, для написания поста на каком-либо форуме, персональный компьютер должен был решить некоторую задачу и получить в результате этих действий определённое количество бит, которые известны были заблаговременно.
Само собой разумеется, что заставить работать алгоритм SHA-256 над любыми данными очень лёгкая задача и реализуется совсем просто. А соответственно и проверить выполнение работы по подбору определённых результатов тоже не сложно.
Адам Бэк изобрёл вариант угадывания времени, которое необходимо определённому персональному компьютеру с его частотой процессора и который имеет свою постоянную скорость вычислений. Без этого механизма было бы сложно реализовать задуманное. В нашем примере это необходимо для выдачи задачи компьютеру, которая по сложности заняла бы именно на этом компьютере, к примеру, одну секунду, а уже после этого будет написан пост на нашем форуме.
Принцип действия в нашем примере объясняется очень просто. Если вы реальный пользователь форума и вам просто необходимо отправить это сообщение, то процессорное время в одну секунду для вашего персонального компьютера абсолютно ничего не значит. Вы потратите всего одну секунду. А вот если это делает спамер, которому нужно разослать как минимум миллионов десять таких сообщений, то это займёт у него уже десять миллионов секунд процессорного времени. И это будет серьёзным барьером в реализации таким спамером своих намерений. Вплоть до того, что он скорее всего откажется от своей затеи или его персональный компьютер попросту повиснет на долгое время.
Принцип, который использовал Адам Бэк в своей разработке, также имеет другое название Proof-of-Work или доказательство работы. Как видно, принцип механизма довольно прост, но тем не менее он показал себя с хорошей стороны в таких системах как сеть биткоина и завоевал очень прочное место на долгие годы в его технологических процессах.
Сейчас с лёгкостью можно найти в любом поисковике калькуляторы алгоритма шифрования SHA-256. По ним можно, например, получить хеш фразы Bingo! (с большой буквы и с восклицательным знаком в конце). Для этой фразы будет свой уникальный рисунок SHA-256. Если убрать восклицательный знак или написать фразу с маленькой буквы, то хеш будет совершенно другой и предугадать его нам невозможно. Этот хеш будет уникальным именно для этого варианта написания фразы.
Стоит отметить важную особенность. Хеш для одного и того же варианта написания фразы через любое время всегда будет один и тот же. То есть при одинаковых вводных данных (в нашем случае это одни и те же символы), мы всегда получим один и тот же хеш.
Используя эту простую функцию в конце прошлого тысячелетия Адам Бэк разработал своё изобретение под названием HashCash, которой ныне является основой работы первой криптовалюты. Изначально это была система против спама.
Мотивация была довольно простой. Даже в то время количество спамеров зашкаливало и с ними необходимо было как то бороться. Поэтому Адам Бэк решил воспользоваться этой функцией, чтобы заставить каждый компьютер выполнять некоторую работу.
Цель была довольно явной. Например, для написания поста на каком-либо форуме, персональный компьютер должен был решить некоторую задачу и получить в результате этих действий определённое количество бит, которые известны были заблаговременно.
Само собой разумеется, что заставить работать алгоритм SHA-256 над любыми данными очень лёгкая задача и реализуется совсем просто. А соответственно и проверить выполнение работы по подбору определённых результатов тоже не сложно.
Адам Бэк изобрёл вариант угадывания времени, которое необходимо определённому персональному компьютеру с его частотой процессора и который имеет свою постоянную скорость вычислений. Без этого механизма было бы сложно реализовать задуманное. В нашем примере это необходимо для выдачи задачи компьютеру, которая по сложности заняла бы именно на этом компьютере, к примеру, одну секунду, а уже после этого будет написан пост на нашем форуме.
Принцип действия в нашем примере объясняется очень просто. Если вы реальный пользователь форума и вам просто необходимо отправить это сообщение, то процессорное время в одну секунду для вашего персонального компьютера абсолютно ничего не значит. Вы потратите всего одну секунду. А вот если это делает спамер, которому нужно разослать как минимум миллионов десять таких сообщений, то это займёт у него уже десять миллионов секунд процессорного времени. И это будет серьёзным барьером в реализации таким спамером своих намерений. Вплоть до того, что он скорее всего откажется от своей затеи или его персональный компьютер попросту повиснет на долгое время.
Принцип, который использовал Адам Бэк в своей разработке, также имеет другое название Proof-of-Work или доказательство работы. Как видно, принцип механизма довольно прост, но тем не менее он показал себя с хорошей стороны в таких системах как сеть биткоина и завоевал очень прочное место на долгие годы в его технологических процессах.