Вот простое предложение. Позвольте мне определить «значение» блока как число ведущих нулевых битов в его хэш. Для каждого блока, мы уже включают в себя хэш предыдущего блока. Предлагаю также включать в себя хэш самого последнего блока с более высоким значением, чем предыдущий.
Эта структура данных может рассматриваться как "Merkle список пропуска. Список пропуска позволяет перемещаться в любом из двух направлений - «назад» или «вверх». Это позволит вам быстро проследить цепочку хэш до самой высокой стоимости, мы когда-либо найденный.
Это тривиальный модификация текущего блока цепи, пока значение этой структуры данных является абсолютно ошеломляющим. Я просто описать одну заявку на данный момент.
--- Предложение "в конечном счете нулевого доверия" клиенты ---
Как облегченный клиент знать, какой блок цепи является самым крупным? Повторяя через всю цепь спереди назад? Ик!
Использование высокой стоимости хэш шоссе, вы можете пропустить «вверх» к наибольшему хэша, найденного в O (журнал N) усилия. Это сразу дает грубую оценку того, насколько работа была выполнена. Теперь вы можете расшириться-и обязаны постепенно улучшить свою оценку. Из самого большого блока (то есть, «верхний»), пропустить в обратном направлении, а затем вверх к вершине снова. Теперь вы на самом высоком-ценностного хэш от эпохи, предшествовавшей ток-высокий. Вы можете пройти содержание «доказательство из-работы» в цепи непосредственно, с наиболее информативными хэш первых и продвигаясь вниз. Вы можете быстро выбрать самый большой из пула потенциальных блоков цепей без перебора всех.
Облегченная клиент мог легко использовать с высокой стоимостью хэш шоссе очень быстро определить самую большую цепь и начать использовать его. Оценка улучшается процесс продолжается, и если облегченный клиент в конечном итоге получает вокруг проверки все это, то это замечательно.
Важно, чтобы проверить работу первым, и только потом проверить. Это должно применяться ко всей цепи блока, а также к отдельным блокам.
--- Эксперимент ---
Я могу показать вам ловкий трюк. Что самое высокое значение хэша в текущем blockchain? Написать это число вниз. Теперь, подсчитать, сколько блоков в цепи имеют это значение или выше.
Вы, наверное, рассчитывал «1», или по крайней мере очень близко к нему.
Этот трюк работает независимо от того, сколько времени прошло, как быстро запустить наши компьютеры, как подключены к нашей сети есть, как трудность корректироваться с течением времени, и т.д. Это полностью масштабироваться инвариант. Общая форма хэш шоссе будет примерно шкала инвариантна, а также. Смотрите также: https://en.wikipedia.org/wiki/Benford's_law
[EDIT] Я, наконец, получил вокруг выполнения этого эксперимента, и оказалось, что я был прав. Я также произвел визуализаций из "общая форма хэш шоссе," который Я копирую здесь, потому что я думаю, что эта иллюстрация является очень важной. Прочитайте этот пост для объяснения.