Ранее мы уже разбирали понятие блокчейна и была большая лекция на эту тему. Но сейчас хотелось бы разобрать некоторые термины, которые не разбирались в текстовом виде, приведя примеры из лекции. 👀
Пример из лекции:
Давайте представим электронный журнал, который невозможно взломать. В него преподаватели выставляют вам оценки, а вы можете их отслеживать. Давайте даже пофантазируем и представим, что в этом журнале вы можете видеть отметки своих неповторимых и самых любимых одногруппников. И сразу отмечу, что в нашем чудесном журнале, страница – это оценки всех студентов за один день. Преподаватель выставляет вам оценку и информация об этом рассылается другим компьютерам, например, что преподаватель выставил существующую оценку, или проверяют с помощью какого-то чудесного алгоритма, что студент действительно сдал работу и получил свою заслуженную оценку. Как только другие компьютеры проверили выставление этой оценки – они сразу же выставляют ее на страницу, которую могут отслеживать в реальном времени абсолютно все студенты.
- Электронный журнал – это блокчейн
- Оценки – это транзакции
- Преподаватели – участники сети, которые создают транзакции
- Компьютеры – узлы сети, которые проверяют и записывают данные
- Страница – блок
- Все страницы журнала – цепочка блоков, в нашем примере – история всех оценок всех студентов
Блокчейн – это непрерывная цепочка блоков. А если быть еще более точнее и душнее, это технология, которая позволяет создавать децентрализованные системы, включая электронные деньги. То есть отсюда мы делаем вывод, что блокчейн – это не криптовалюта и не деньги. Это инструмент создания систем 🌐
Транзакция – запись о передаче чего-либо. К примеру – запись о том, что ты перевел своему другу 100₽ – это транзакция. Абсолютно каждый может увидеть, что и сколько ты перевел и кому, но при этом, благодаря технологиям блокчейна, подделать эту транзакцию невозможно. 📝
Участник сети – это любой пользователь, который выполняет хоть какие-то действия в блокчейне – от перевода криптовалюты другу, до контроля за блокчейном. В примере с журналом у нас учитель и компьютеры – это участники сети, которые вносят какие действия и как-то взаимодействуют с блокчейном. 🤓
Только вот компьютеры объединяются в узлы сетей, которые проверяют и хранят информацию обо всех транзакциях, в нашем случае – информацию о каждой выставленной оценке каждому студенту ⌨️
Блоком же являлась у нас страница оценок всех студентов за один день. Каждый блок – это, своего рода, страница, на которой записано несколько транзакций. Каждый блок содержит:
- Данные (в нашем примере – список оценок за день) 📂0️⃣
- Уникальный код, или же хэш (идентификатор, который связывает этот блок с предыдущим) 🗄
- Хэш предыдущего блока – связь с предыдущим блоком (в нашем случае страницей)
Хэш – это уникальная строка символов, которая получается по окончании обработки данных с помощью математических функций (хэш-функций). У хэша есть фиксированная длина, вне зависимости от размера входных данных. Относительно простой пример хэша – отпечаток пальца. Палец одного человека имеет свой отпечаток, свой хэш, а палец другого человека, даже если отпечатки очень схожи, в любом случае имеет другой хэш, свой уникальный. Вообще что такое эта ваша хэш функция? Это специальный алгоритм, который “сворачивает” входные данные в строку. В нашем примере с электронным журналом, хэш-функция превращает список всех оценок всех студентов в одном блоке (на одной странице журнала) в хэш. ➖
А зачем? Ну в данном примере с оценками, которые ограничены, условно, цифрами между 2 и 5 смысла может и нет, хотя если в одном блоке будет 100 оценок, то эффективнее со стороны памяти будет превратить их в, условно, 16-символьный хэш. А если у вас в блоке информация о переводах, то гораздо эффективнее будет превратить данные о каждой транзакции в 16-символьный хэш, нежели хранить каждую транзакцию полностью расписанной. 👜
Много много информации, но надеюсь, что вам все было понятно. Жду фидбэк в комментариях 🌚
@web3che | Обсудить | X | DM | #образовательный
