Если активов стало меньше, в книге учета сохраняется информация, сколько их было прежде. Она не редактируется и не удаляется, но появляется новая запись, куда они пропали
Это технология распределенных (децентрализованных, распределенных, реплицированных) реестров - всю цепочку сделок и актуальный список владельцев хранят на своих компьютерах множество независимых пользователей. Даже если один или несколько компьютеров дадут сбой, информация не пропадет
Самый первый блок в цепочке — первичный блок (англ. genesis block) — рассматривается как отдельный случай, так как у него отсутствует родительский блок
Проблемы с системами банка, Госреестра (Госуслуг) хакерские атаки, мошенничество или ошибки сотрудников могут вызвать сбой на любом из этих трансакции в централизованных системах
В блокчейне реестр владельцев одновременно обновляется на множестве независимых компьютеров, объединенных через интернет. Поэтому реестры с данными о владельцах активов невозможно подделать
Перед тем как записать следующую строчку, все участники сверяют свои записи(блокноты). Верным признается тот вариант, который зафиксирован у большинства.
Транзакции проходят практически мгновенно, но на их подтверждение может потребоваться время. Какое именно — определяет алгоритм Консенсуса конкретной блокчейн-сети.
Блоки нельзя изменить или удалить, можно только добавить новые.
Каждый блок содержит свою собственную Хеш-сумму и Хеш-сумму предыдущего блока. Изменение любой информации в блоке изменит его хеш-сумму
Блок состоит из заголовка и списка транзакций. Заголовок блока включает в себя свой хеш, хеш предыдущего блока, хеши транзакций и cлужебную информацию. В системе Биткойн первой транзакцией в блоке всегда указывается получение комиссии, которая станет наградой майнеру за созданный блок. Далее идёт список транзакций, сформированный из очереди транзакций, ещё не записанных в предыдущие блоки. Критерий отбора из очереди задаёт майнер самостоятельно. Это не обязательно должна быть хронология по времени. Например, могут включаться только операции с высокой комиссией или с участием заданного списка адресов.
Созданный блок будет принят остальными пользователями, если числовое значение хеша заголовка равно или меньше определённого целевого числа, величина которого периодически корректируется. Так как результат хеширования функции SHA-256 считается необратимым, на данный момент нет алгоритма получения желаемого результата, кроме случайного перебора. Если хеш не удовлетворяет условию, то в заголовке изменяется параметр nonce и хеш пересчитывается. Обычно (статистически) требуется большое количество пересчётов. Когда вариант найден, узел рассылает полученный блок другим подключенным узлам, которые проверяют блок. Если ошибок нет, то блок считается добавленным в цепочку и следующий блок должен включить в себя его хеш. Величина целевого числа, с которым сравнивается хеш, в системе Биткойн корректируется через каждые 2016 блоков. Вся сеть системы Биткойн должна тратить на генерацию одного блока примерно 10 минут, на 2016 блоков — около двух недель. Если 2016 блоков сформированы быстрее, то целевое число немного уменьшается и получить удовлетворяющий ему хеш подбором параметра nonce становится труднее, в противном случае целевое число увеличивается. Изменение сложности вычислений не влияет на надёжность сети Биткойн и требуется лишь для того, чтобы система генерировала блоки почти с постоянной скоростью, не зависящей от вычислительной мощности участников сети.
Чем их больше, тем лучше — такая сеть надежнее, а трансакции дешевле. Майнерами могут стать все желающие. Для этого им нужны специализированные компьютеры и программное обеспечение
Сеть генерирует это вознаграждение по определенному алгоритму
Наградой является определенное количество криптомонет. Они возникают буквально как результат программных алгоритмов и попадают на счет майнера. Происходит выпуск новых единиц виртуальных денег и общее количество виртуальной валюты увеличивается. Но при этом чаще всего есть ограничение: когда сумма монет достигает определенного максимума, их выпуск прекращается. Дальше майнеры могут работать только за вознаграждение от участников.
Вероятность удачи для майнера — что именно он решит предложенную сетью математическую задачу первым, присоединит блок и получит за это вознаграждение — зависит от мощности его оборудования. Чем производительнее его компьютеры, тем больше шансы заработать.
Если владелец кошелька, забудет его номер, то никак не сможет доказать, что счет принадлежит именно ему. Все, что хранилось в кошельке, окажется потерянным навсегда.
Принципы
Если необходимо передать зашифрованное сообщение владельцу ключей, то отправитель должен получить открытый ключ. Отправитель шифрует свое сообщение открытым ключом получателя и передает его получателю (владельцу ключей) по открытым каналам. При этом расшифровать сообщение не может никто, кроме владельца закрытого ключа.
Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определение x из f(x) невозможно за разумный срок.
В блокчейне адрес, куда эти активы надо доставить, является открытым ключом. Закрытый ключ - позволяет открыть хранилище с активом
Регулярно возникают ситуации, когда несколько новых блоков в разных частях распределённой сети называют предыдущим один и тот же блок, то есть цепочка блоков может ветвиться. Специально или случайно можно ограничить ретрансляцию информации о новых блоках (например, одна из цепочек может развиваться в рамках локальной сети). В этом случае возможно параллельное наращивание различных ветвей. В каждом из новых блоков могут встречаться как одинаковые транзакции, так и разные, вошедшие только в один из них. Когда ретрансляция блоков возобновляется, майнеры начинают считать главной цепочку с учётом уровня сложности хеша и длины цепочки. При равенстве сложности и длины предпочтение отдаётся той цепочке, конечный блок которой появился раньше. Транзакции, вошедшие только в отвергнутую ветку (в том числе по выплате вознаграждения), теряют статус подтверждённых. Если это транзакция по передаче биткойнов, то она будет поставлена в очередь и затем включена в очередной блок. Транзакции получения вознаграждения за создание отсечённых блоков не дублируются в другой ветке, то есть «лишние» биткойны, выплаченные за формирование отсечённых блоков, не получают дальнейших подтверждений и «утрачиваются»