Kademlia е името на едно от най-значимите технологични решения в света на информационните технологии, създадени от българин. Не сте чували за него? Значи е крайно време!
„Да ти е на кадем!“ е класическо ретро пожелание за това да имаш късмет по пътя си. Може би „на кадем“ им тръгна и на торентите като технология, и на много от приложенията на блокчейн света благодарение на едноименни алгоритъм, който стои в сърцата им.
Възпитаникът на ТУЕС и MIT Петър Маймунков създава почти на шега системата, която се използва широко в света на децентрализираните решения – от BitTorrent до Ethereum. Kademlia се оказва точното решение в началото на хилядолетието, тъкмо във времената, когато за първи път интернет направи решителната крачка от централизираните системи към направлението, което ни отведе до блокчейн.
Петър Маймунков и творението му заслужават своята слава, ето защо.
Късметче
Какво е Kademlia? Дистрибутирана хаш таблица. Ако последните три термина не ви говорят нищо, не се притеснявайте. С думи прости става дума за алгоритъм, който позволява милиони компютри да работят заедно, като се организират сами, и да си разменят ресурси. При това без да има някаква форма на централен регистър, управляван от един човек или компания.
С думи още по-прости: идеята на Петър Маймунков се оказа тъкмо търсеното решение, когато интернет обществото вече беше узряло да премине към следващата голяма стъпка в развитието си. Благодарение на Kademlia се роди системата на торентите, която за първи път показа, че онлайн наистина може да съществува мечтаната децентрализация.
После направлението проправи пътя на следващата голяма стъпка: блокчейн. Торентите бяха първопроходникът, а следващото решение завинаги показа, че именно децентрализацията е бъдещето. Междувременно Kademlia не остана в историята, а се оказа прекрасно решение и в новите условия. Достатъчно е да кажем, че на плещите на този алгоритъм се крепи и втората най-разпознаваема криптовалута – етерът.
Стискай палци
Петър Маймунков е възпитаник на прословутото Технологическо училище „Електронни системи“. ТУЕС е уж обикновена държавна гимназия в столичния квартал „Младост“, която обаче през последните 30 години създава специалисти, които са готови да се включат в света на информационните технологии на световно ниво.
Показва го и историята на създателя на Kademlia, който завършва ТУЕС през 1997-а. Пътят му продължава към Харвард с бакалавърска степен по компютърни науки, следва магистратура в Нюйоркския университет и докторат в митичния MIT.
Маймунков e още студент, по средата на пътя си, когато създава забележителния си проект.
Баница с късмети
„Всичко започна през 2001-а, когато Napster падна“, спомня си той в едно от много малкото свидетелства за онези времена, които днес можете да намерите онлайн:
Napster беше една от първите платформи, чрез които потребителите можеха да си разменят песни на принципа, на който работят торентите. Тя обаче беше далеч от съвършенството. Създадена през 1999 г., определено проправи пътя на направлението, но оцеля само 3 години, защото интернет не беше узрял за такъв тип решение. Ако сте ползвали интернет по онова време, със сигурност си спомняте колко примитивна беше връзката, колко незрели – технологичните решения.
Така или иначе, Петър решава да създаде своя вариант и го прави като учебен проект. Целта му е хем да създаде нещо смислено с помощта на знанията, които е придобил, хем да си намери практично решение, подобно на Napster.
И по-добро в една конкретна фундаментална посока. Макар Napster да работи на принципа на връзките между отделните потребители, той все пак зависи от централизиран сървър, който ги координира.
„А няма ли как всички потребители да влязат в тази роля? Нали всички те са еднакво важни?“, чуди се Петър. И му хрумва просто решение, което по-късно ще стане известно като Kademlia. Обсъжда го с колегата си от университета Дейвид Мазиерес и решават да го завършат заедно.
„Намерихме просто решение за това как можеш да организираш огромен брой потребители в система, която се развива и постоянно се променя. А потребителите са част от нея, само когато са онлайн“, спомня си програмистът. „Алгоритъмът ни показваше как компютрите да си сътрудничат, за да създават нещо в подредена логика“.
Четирилистна детелина
Както сам отбелязва, по същото време излизат няколко доста сходни решения. Но състезанието до голяма степен е спечелено от двамата студенти, защото… създават най-простия вариант. „Нашето решение се оказа най-популярно, защото е най-лесно за възпроизвеждане. Другите бяха много по-трудни математически, идваха от много по-академичните среди. Те също бяха работещи, но беше много по-трудно да се претворят в практиката“.
„Смятам, че този алгоритъм се оказа решителната стъпка за това споделянето на файлове в световен мащаб да се превърне в масова практика“, казва още той.
Сред първите платформи, които го възприемат, са проектите за споделяне на торенти eMule и BitTorrent.
И е факт, че днес, 20 години по-късно, на създадения почти на шега Kademlia се крепят дори ултрамодерни технологии.
Да чукна на дърво
Основния проблем, който решава, е, че предлага подходящ вариант информацията в мрежата да се подрежда по начин, който да не изисква „картата“ за нея да е само една. Във всеки един момент всеки от участниците, които се е озовал онлайн, може да провери информацията например за даден файл, без да се налага да се допитва до някакъв централен сървър.
А Kademlia решава този проблем чрез подходящата структура от данни, използвайки основните принципи на криптирането.
През следващите години, та и до днес, Маймунков не спира да работи в тази посока – създаването на възможно по-децентрализирани решения, които да ни помагат да се откъсваме по някакъв начин от монополите. Които ни помагат да се върнем към симпатичните времена на интернет, докато вярвахме, че той помага за демокрация и равнопоставеност.
„Уви, този тип решения никога нямат разумен бизнес модел, защото е много трудно, когато участниците са равнопоставени, когато едни нямат привилегии за сметка на други“, казва още той в единственото интервю, което успях да намеря след доста търсене.
Късметлия
Смело може да се каже, че Kademia за първи път позволява масово пълната демокрация в интернет. Прави възможна децентрализацията. Разрушава логиката за строгата йерархия.
И всичко това: като позволява компютрите да се свързват в мрежа и да обменят ресурси без централен сървър.
Нещо повече: протоколът за комуникация решава един проблем, който и днес е сред най-често срещаните атаки срещу софтуерната сигурност – тези, свързани с отказа от услуги (DOS и DDOS). Тъй като информацията не е „закована“ в централен източник, атаките срещу него не могат да ѝ навредят.
Трудно е да навлезем в по-техническата част на нещата, защото е доста специфична. Ако имате професионални интереси, тук и тук можете да намерите доста смислено резюме.
И все пак, накратко: идеята е, че всеки от участниците в мрежата съдържа своя таблица с информация за обектите, които към момента са обменяни по мрежата. При „среща“ двама от участниците лесно могат да сравнят си информацията, благодарение на таблиците, които пазят кодирана информация за отделните единици. И също така лесно могат да я проверят, благодарение на бързата комуникация с други такива.
Системата позволява милиони участници да работят заедно при забележителна скорост, да проверяват информацията и да я синхронизират. Защото съхраняват информацията за всички участници, до които имат досег, в таблиците си.
Не питай старо, а кодило
Интересен нюанс е, че Kademlia цени повече източниците на информация в мрежата, които са били по-дълго време в нея, защото е по-вероятно те да останат там и занапред, а и имат по-точни „знания“.
Същевременно в мрежата бързо се добавят нови участници, достатъчно е да ги регистрира само един от досегашните.
И наистина: структурата, предложена от Маймунков, е възприета и приложена с леки модификации и в начина, по който си взаимодействат отделните участници в блокчейна на „Етериум“.
Kademlia е разработен като алгоритъм без патент, затова така и не носи никакви приходи на създателя си. Но пък се превръща в разпознаваемо решение, което е добре познато и постоянно използвано от специалистите в тази област.
Иначе пътят на Маймунков нататък е пъстър. 2 години работи в „Гугъл“, днес е блокчейн инженер в голяма американска фирма.
Роди ме, мамо, с късмет
Той не успява да постигне зашеметяващ комерсиален успех, а може би не го и търси. Но защо ли е избрал именно това шарено и типично българско име за алгоритъма си? Писах му във всички социални платформи, опитах се да намеря връзка с него, но… ударих на камък. Уви, по всичко личи, че Маймунков не си пада по срещите с журналисти и има пълното право. Ще се радвам, ако в някакъв момент успеем да продължим тази дигитална история с думите на самия създател на Kademlia.
Оказва се, че той и сам е кадемлия в доста пряк смисъл. През 2001-а, на 11 септември, тъкмо следва в Ню Йорк. Общежитието му е на седем преки от Световния търговски център. След удара на първия самолет се качва на покрива на сградата и буквално усеща вятъра от идването на втория, врязал се в южната кула.
Понякога късметът просто обича смелите. Kademlia се оказва кадемлия и се превръща в значимо откритие. Макар че е убелно решение, измислено от двама студенти. Чудесата в технологичния свят понякога се опират и до доброто старо суеверие, в което почти всеки понякога намира спасителна клечка. Ако и за вас е така, дано историята на Kademlia ви е на кадем!