Блокчейн Биткойн хранит историю транзакций. Блоки блокчейна связаны между собой указателем на предыдущий хэш.
Между тем, бухгалтерская книга Ripple вместо транзакций хранит информацию об учетной записи, такую как балансы. У книги Ripple есть номер книги.
Хранит ли книга Ripple историю книг от 0 до N или хранит только N? В каждой книге Ripple хранится информация обо всех учетных записях или только об учетных записях, по которым недавно происходила транзакция?
Ripple Ledger хранит историю реестров от 0 до N или хранит только N?
Это просто вопрос определения. Вы можете определить леджер как одно состояние сети с одним порядковым номером. Или вы можете определить реестр как каждое прошлое состояние сети.
Чаще всего мы используем термин «бухгалтерская книга» для обозначения одного состояния сети в одно и то же время.
Каждая книга Ripple хранит информацию обо всех учетных записях или только об учетных записях, по которым недавно происходила транзакция?
Опять же, это просто вопрос определения. Чаще всего мы используем термин «бухгалтерская книга» для обозначения всех записей состояния (счетов, предложений, линий доверия и т. д.), которые были подключены в определенный момент времени.
Дизайн леджера пассивный. То есть конкретная запись может находиться в реестрах от 10 000 000 до 20 000 000 без каких-либо особых событий с ней и без какой-либо обработки, поскольку она просто находится в реестре и ничего не делает.
Если новый ripple-сервер запускается вообще без данных, он не начнет обработку до тех пор, пока не достигнет точки, в которой он знает каждую действительную/доступную в настоящее время запись в реестре. Обычно это занимает около двух минут (поскольку структура реестра специально разработана, чтобы сделать это эффективным). В этот момент он может обрабатывать транзакции и выполнять обычные функции, даже если у него нет сетевой истории. Конечно, он не может сказать вам, что произошло в прошлом.
Насколько я понимаю, основное отличие состоит в том, что с каждым новым реестром серверы Ripple предоставляют корень хэша Merkle Tree всего «состояния учетной записи» (каждая учетная запись, балансы и т. д.), включая новые транзакции. Таким образом, узлы могут сравнить хэш дерева Меркла и убедиться, что у них есть текущая книга.
Поскольку текущий реестр проверяется валидаторами, подписывающими корневой хэш, серверному узлу не требуется хранить каждый реестр от 0 до N (если только вы не хотите проводить аудит реестра).
Поскольку хэш дерева Меркла включает все учетные записи, серверные узлы получают только новые транзакции и локально обновляют учетные записи. Затем они генерируют корневой хеш и сравнивают с полученными, чтобы убедиться, что они имеют текущее состояние.
Жоао Леме
Дэвид Шварц
Жоао Леме
Дэвид Шварц