Пређи на садржај

Хеш календар

С Википедије, слободне енциклопедије

Хеш календар јесте структура података која се користи за мерење протоком времена додавањем хеш вредности у базу података на коју се само додају подаци са једном хеш вредношћу по протеклој секунди. Може се посматрати као специјална врста Мерклијевог или хеш стабла, са особином да у сваком датом моменту, стабло садржи лист за сваку секунду од 01.01.1970. 00:00:00 UTC.

Хеш стабло са 8 чворова и хеш календар после 7 секунди
Хеш стабло са 8 чворова и хеш календар после 7 секунди

Хеш стабло са 8 чворова и хеш календар после 7 секунди.

Хеш календар после 31 секунду
Хеш календар после 31 секунду

Хеш календар после 31 секунду састоји се од 5 развојених хеш стабала.

Чворови су нумерисани слева надесно почевши од нуле и сваки нови лист се увек додаје здесна. Периодичним публиковањем корена хеш стабла могуће је користити хеш календар као основу за дигиталну временску схему засновану на хеш-линковању.

Историјат

[уреди | уреди извор]

Конструктор хеш календара је осмишљен од стране естонских криптографичара Ахто Булдаса и Март Саарепера и заснован је на њиховом истраживању на сигурносним својствима криптографских функција за сажимање и дигиталној временској схеми засновној на хеш-линковању.[1] Њихов дизајн циљ је био уклањање зависности од трећом страном односно да би време временске схеме требало да буде верификовано независно од издаваоца временске схеме.[2]

Конструкција хеш календара

[уреди | уреди извор]

Постоје различити алгоритми који могу да се користе за изградњу хеш календара и извлачења релевантног хеш ланца по секунди. Најлакше је замислити изградњу календара у две фазе. У првој фази, листови се сакупљају у комплетно бинарно стабло, почевши слева, правивши свако стабло што је веће могуће.

Редак хеш календар са 11 10 = 1011 2 листова

Редак хеш календар са 1110 = 10112 листова

У другој фази, више неповезаних стабала се спајањем корена иницијалних стабала претварају се у једно стабло, али овог пута почевши здесна, додајући нови родитељски чвор уколико је то потребно (црвени чворови).

Компактан хеш календар са 11 10 = 1011 2 листова

Компактан хеш календар са 1110 = 10112 листова.

Хеш ланац може бити извучен из било ког хеш стабла. С обзиром да је хеш календар изграђен на детерминистички начин, облик стабла се сваког момента може реконструисати знајући само број листова у стаблу у том моменту, што је један више него број секунди почевши од 01.01.1970. 00:00:00 UTC до тог момента. Дакле, задајући време када је стабло календара креирано, као и хеш ланца извученог из нјега, временска вредност која одговара сваком листу може бити израчуната.

Дистрибуирани хеш календар

[уреди | уреди извор]

Дистрибуирани хеш календар је дистрибуирана мрежа чворова хеш календара. Да би се осигурала висока доступност сервира, могуће је имати више календара на различитим физичким локацијама који сви комуницирају међусобно да би обезбедили да сваки календар садржи идентичне хеш вредности. Обезбеђивање да календари остану у складу је форма Бизантиновог прага толеранције.

Испод је приказана група календара од 5 чворова где сваки чвор комуницира са сваким другим чвором у групи што доводи до непостојања грешке. Иако сваки чвор има часовник, часовник се не користи за подешавање времена директно, већ као метроном да би обезбедило "куцање" чворова у исто време.

Група календара од 5 чворова

Апликације

[уреди | уреди извор]

Група календара од пет чворова је компонента Keyless Signature Infrastructure (KSI), где сваки лист у хеш календару представља агрегатну хеш вредност глобално дистрибуираног хеш стабла.

Референце

[уреди | уреди извор]

Спољашње везе

[уреди | уреди извор]