Неизменяемость означает, что данные, однажды записанные в блокчейн, остаются там навсегда. Кнопки редактирования нет. Ни один администратор не может незаметно изменить старую запись. Каждый блок содержит хеш предыдущего блока, и изменение чего-либо в предыдущем блоке приводит к нарушению хеширования всех последующих блоков. Сеть отклонит измененную цепочку и сохранит исходную.
Именно это свойство объясняет, почему блокчейны работают с записями, которым необходимо доверять в течение длительных периодов времени. Право собственности, журналы цепочки поставок и история платежей — все это выигрывает от наличия реестра, который никто не может переписать. Но у неизменяемости есть и темная сторона. Ошибку в смарт-контракте нельзя исправить. Транзакцию, отправленную на неверный адрес, нельзя отозвать. Взлом DAO в 2016 году вынудил Ethereum выбирать между неизменяемостью и возвратом украденных средств. Сообщество выбрало возврат, разделило цепочку, и Ethereum Classic сохранил исходную историю. Ни одна из сторон явно не была неправа.
Что означает и что не означает неизменность
- Прежние блоки сопротивляются изменениям — да, ценой непомерных затрат.
- Данные внутри блока изменить нельзя — да
- Ошибки можно исправить, создав форк — технически это возможно, но спорно.
- Неизменность равна истине — нет, только тому, что запись была согласована.
Блокчейн записывает то, что сеть приняла. Соответствует ли это реальности — это отдельный вопрос.
Comments (3)
Leave a comment