Kademlia. Българският алгоритъм на децентрализирания свят

фев. 21, 2023 | Технологии

Kademlia. Българският алгоритъм на децентрализирания свят

21 февруари 2023 | Технологии

Kademlia е името на едно от най-значимите технологични решения в света на информационните технологии, създадени от българин. Не сте чували за него? Значи е крайно време!

„Да ти е на кадем!“ е класическо ретро пожелание за това да имаш късмет по пътя си. Може би „на кадем“ им тръгна и на торентите като технология, и на много от приложенията на блокчейн света благодарение на едноименни алгоритъм, който стои в сърцата им.

Възпитаникът на ТУЕС и MIT Петър Маймунков създава почти на шега системата, която се използва широко в света на децентрализираните решения – от BitTorrent до Ethereum. Kademlia се оказва точното решение в началото на хилядолетието, тъкмо във времената, когато за първи път интернет направи решителната крачка от централизираните системи към направлението, което ни отведе до блокчейн.

Петър Маймунков и творението му заслужават своята слава, ето защо.

 

Късметче

Какво е Kademlia? Дистрибутирана хаш таблица. Ако последните три термина не ви говорят нищо, не се притеснявайте. С думи прости става дума за алгоритъм, който позволява милиони компютри да работят заедно, като се организират сами, и да си разменят ресурси. При това без да има някаква форма на централен регистър, управляван от един човек или компания.

С думи още по-прости: идеята на Петър Маймунков се оказа тъкмо търсеното решение, когато интернет обществото вече беше узряло да премине към следващата голяма стъпка в развитието си. Благодарение на Kademlia се роди системата на торентите, която за първи път показа, че онлайн наистина може да съществува мечтаната децентрализация.

После направлението проправи пътя на следващата голяма стъпка: блокчейн. Торентите бяха първопроходникът, а следващото решение завинаги показа, че именно децентрализацията е бъдещето. Междувременно Kademlia не остана в историята, а се оказа прекрасно решение и в новите условия. Достатъчно е да кажем, че на плещите на този алгоритъм се крепи и втората най-разпознаваема криптовалута – етерът.

 

Петър Маймунков

Петър Маймунков

 

Стискай палци

Петър Маймунков е възпитаник на прословутото Технологическо училище „Електронни системи“. ТУЕС е уж обикновена държавна гимназия в столичния квартал „Младост“, която обаче през последните 30 години създава специалисти, които са готови да се включат в света на информационните технологии на световно ниво.

Показва го и историята на създателя на Kademlia, който завършва ТУЕС през 1997-а. Пътят му продължава към Харвард с бакалавърска степен по компютърни науки, следва магистратура в Нюйоркския университет и докторат в митичния MIT.

Маймунков e още студент, по средата на пътя си, когато създава забележителния си проект.

 

Баница с късмети

„Всичко започна през 2001-а, когато Napster падна“, спомня си той в едно от много малкото свидетелства за онези времена, които днес можете да намерите онлайн:

Napster беше една от първите платформи, чрез които потребителите можеха да си разменят песни на принципа, на който работят торентите. Тя обаче беше далеч от съвършенството. Създадена през 1999 г., определено проправи пътя на направлението, но оцеля само 3 години, защото интернет не беше узрял за такъв тип решение. Ако сте ползвали интернет по онова време, със сигурност си спомняте колко примитивна беше връзката, колко незрели – технологичните решения.

Така или иначе, Петър решава да създаде своя вариант и го прави като учебен проект. Целта му е хем да създаде нещо смислено с помощта на знанията, които е придобил, хем да си намери практично решение, подобно на Napster.

И по-добро в една конкретна фундаментална посока. Макар Napster да работи на принципа на връзките между отделните потребители, той все пак зависи от централизиран сървър, който ги координира.

„А няма ли как всички потребители да влязат в тази роля? Нали всички те са еднакво важни?“, чуди се Петър. И му хрумва просто решение, което по-късно ще стане известно като Kademlia. Обсъжда го с колегата си от университета Дейвид Мазиерес и решават да го завършат заедно.

„Намерихме просто решение за това как можеш да организираш огромен брой потребители в система, която се развива и постоянно се променя. А потребителите са част от нея, само когато са онлайн“, спомня си програмистът. „Алгоритъмът ни показваше как компютрите да си сътрудничат, за да създават нещо в подредена логика“.

 

Kademlia

 

Четирилистна детелина

Както сам отбелязва, по същото време излизат няколко доста сходни решения. Но състезанието до голяма степен е спечелено от двамата студенти, защото… създават най-простия вариант. „Нашето решение се оказа най-популярно, защото е най-лесно за възпроизвеждане. Другите бяха много по-трудни математически, идваха от много по-академичните среди. Те също бяха работещи, но беше много по-трудно да се претворят в практиката“.

„Смятам, че този алгоритъм се оказа решителната стъпка за това споделянето на файлове в световен мащаб да се превърне в масова практика“, казва още той.

Сред първите платформи, които го възприемат, са проектите за споделяне на торенти eMule и BitTorrent.

И е факт, че днес, 20 години по-късно, на създадения почти на шега Kademlia се крепят дори ултрамодерни технологии.

 

Да чукна на дърво

Основния проблем, който решава, е, че предлага подходящ вариант информацията в мрежата да се подрежда по начин, който да не изисква „картата“ за нея да е само една. Във всеки един момент всеки от участниците, които се е озовал онлайн, може да провери информацията например за даден файл, без да се налага да се допитва до някакъв централен сървър.

А Kademlia решава този проблем чрез подходящата структура от данни, използвайки основните принципи на криптирането.

През следващите години, та и до днес, Маймунков не спира да работи в тази посока – създаването на възможно по-децентрализирани решения, които да ни помагат да се откъсваме по някакъв начин от монополите. Които ни помагат да се върнем към симпатичните времена на интернет, докато вярвахме, че той помага за демокрация и равнопоставеност.

„Уви, този тип решения никога нямат разумен бизнес модел, защото е много трудно, когато участниците са равнопоставени, когато едни нямат привилегии за сметка на други“, казва още той в единственото интервю, което успях да намеря след доста търсене.

 

Kademlia

 

Късметлия

Смело може да се каже, че Kademia за първи път позволява масово пълната демокрация в интернет. Прави възможна децентрализацията. Разрушава логиката за строгата йерархия.

И всичко това: като позволява компютрите да се свързват в мрежа и да обменят ресурси без централен сървър.

Нещо повече: протоколът за комуникация решава един проблем, който и днес е сред най-често срещаните атаки срещу софтуерната сигурност – тези, свързани с отказа от услуги (DOS и DDOS). Тъй като информацията не е „закована“ в централен източник, атаките срещу него не могат да ѝ навредят.

Трудно е да навлезем в по-техническата част на нещата, защото е доста специфична. Ако имате професионални интереси, тук и тук можете да намерите доста смислено резюме.

И все пак, накратко: идеята е, че всеки от участниците в мрежата съдържа своя таблица с информация за обектите, които към момента са обменяни по мрежата. При „среща“ двама от участниците лесно могат да сравнят си информацията, благодарение на таблиците, които пазят кодирана информация за отделните единици. И също така лесно могат да я проверят, благодарение на бързата комуникация с други такива.

Системата позволява милиони участници да работят заедно при забележителна скорост, да проверяват информацията и да я синхронизират. Защото съхраняват информацията за всички участници, до които имат досег, в таблиците си.

 

Не питай старо, а кодило

Интересен нюанс е, че Kademlia цени повече източниците на информация в мрежата, които са били по-дълго време в нея, защото е по-вероятно те да останат там и занапред, а и имат по-точни „знания“.

Същевременно в мрежата бързо се добавят нови участници, достатъчно е да ги регистрира само един от досегашните.

И наистина: структурата, предложена от Маймунков, е възприета и приложена с леки модификации и в начина, по който си взаимодействат отделните участници в блокчейна на „Етериум“.

Kademlia е разработен като алгоритъм без патент, затова така и не носи никакви приходи на създателя си. Но пък се превръща в разпознаваемо решение, което е добре познато и постоянно използвано от специалистите в тази област.

Иначе пътят на Маймунков нататък е пъстър. 2 години работи в „Гугъл“, днес е блокчейн инженер в голяма американска фирма.

 

Петър Маймунков

Петър Маймунков

 

Роди ме, мамо, с късмет

Той не успява да постигне зашеметяващ комерсиален успех, а може би не го и търси. Но защо ли е избрал именно това шарено и типично българско име за алгоритъма си? Писах му във всички социални платформи, опитах се да намеря връзка с него, но… ударих на камък. Уви, по всичко личи, че Маймунков не си пада по срещите с журналисти и има пълното право. Ще се радвам, ако в някакъв момент успеем да продължим тази дигитална история с думите на самия създател на Kademlia.

Оказва се, че той и сам е кадемлия в доста пряк смисъл. През 2001-а, на 11 септември, тъкмо следва в Ню Йорк. Общежитието му е на седем преки от Световния търговски център. След удара на първия самолет се качва на покрива на сградата и буквално усеща вятъра от идването на втория, врязал се в южната кула.

Понякога късметът просто обича смелите. Kademlia се оказва кадемлия и се превръща в значимо откритие. Макар че е убелно решение, измислено от двама студенти. Чудесата в технологичния свят понякога се опират и до доброто старо суеверие, в което почти всеки понякога намира спасителна клечка. Ако и за вас е така, дано историята на Kademlia ви е на кадем!

Дигитални истории
<a href="https://karamanev.me/author/georgik" target="_self">Георги Караманев</a>

Георги Караманев

Програмист, журналист на свободна практика и писател. Още за мен – четете тук.
Дигитални истории

Най-нови публикации:

„Всеки може да е програмист. Време е да сме повече инженери!“

„Всеки може да е програмист. Време е да сме повече инженери!“

Ивайло Кенов е вдъхновяващ учител, помогнал на толкова много хора да станат програмисти. Насочва се към тази професия случайно, след като разбира, че строителното инженерство не е за него. Решава да...

повече информация
Как DALL·E „прочете“ любими български книги?

Как DALL·E „прочете“ любими български книги?

Чукчата не е читател, а писател, знаете сигурно, ами… ChatGPT? Време е за поредния прелюбопитен експеримент, който да ни покаже на какво са способни днес алгоритмите в областта както на създаването...

повече информация
„Представям си бъдещето като битка за невидимото“

„Представям си бъдещето като битка за невидимото“

есен смили се над тези които не могат да те понесат бъди красива до смърт   Или   близостта нанася удари под кръста подарък който не мога да пренеса без твоя помощ който не мога да откажа...

повече информация
„Българите имаме манталитета, за да сме успешни предприемачи“

„Българите имаме манталитета, за да сме успешни предприемачи“

Борис Паскалев e предприемач с впечатляващ опит в света на стартъпите. Отскоро е стратегически съветник към института INSAIT, още една гаранция, че оттам си струва да очакваме още и все...

повече информация
ИИ детектив. Технологията ли ще ни върне истината?

ИИ детектив. Технологията ли ще ни върне истината?

След като експериментът на Дигитални истории, в който се включиха почти 2000 души, показа, че вече не сме способни да различаваме генерираните от изкуствения интелект изображения и текстове, е време...

повече информация

Още публикации по темата:

От рубриката:

Как DALL·E „прочете“ любими български книги?

Как DALL·E „прочете“ любими български книги?

Чукчата не е читател, а писател, знаете сигурно, ами… ChatGPT? Време е за поредния прелюбопитен експеримент, който да ни покаже на какво са способни днес алгоритмите в областта както на създаването на изображения, така и на разбирането на контекст.
Ще призова алгоритъма DALL·E 3, който е част от платената версия на ChatGPT, да ми илюстрира класически български литературни произведения от различни периоди.
Защо това е интересно? От една страна, ще ни покаже колко добре работи големият езиков модел на български. Ще стане ясно доколко разпознава някои от безспорните наши класически произведения.
Не на последно място просто защото… е интересно дали пък няма да ни покаже някакви по-неочаквани, различни, атрактивни гледни точки? Дали не можем да говорим за някаква форма на колективно неосъзнато? Дали картините ще се припокрият поне донякъде с образите, които всеки от нас има за тези книги в главата си?

повече информация
ИИ детектив. Технологията ли ще ни върне истината?

ИИ детектив. Технологията ли ще ни върне истината?

След като експериментът на Дигитални истории, в който се включиха почти 2000 души, показа, че вече не сме способни да различаваме генерираните от изкуствения интелект изображения и текстове, е време за следващата стъпка.
Дали пък… самият изкуствен интелект няма да ни помогне в тази вече неравна битка в търсене на истината? След като алгоритмите станаха толкова добри в генерирането на разнообразни текстове, изображения, а вече и видео, дали пък няма те да се окажат спасението?
Ще проверим на практика. Радостин Чолаков от родопското село Барутин ни гостува с една от първите Дигитални истории. Тогава, само на 15, той разказа за работата си в света на невронните мрежи, много преди изкуственият интелект да се превърне в темата на деня. А до днес успехите му са още по-впечатляващи. През последните години пътят му често се преплита с този на друг талантлив младеж на същата възраст. Делян Бойчев също завършва средното си образование тази година, но вече има сериозни успехи, специалността му са методите за компютърно зрение.
Двамата приятели се заговарят по темата и решават да проверят: ясно е, че днес изкуственият интелект създава забележителни изображения, но дали пак той би могъл да разпознае истината и лъжата, да прецени коя картинка е създадена от човек и коя – от алгоритъм?

повече информация
Човек или ИИ – можем ли да различим автора? (Резултати)

Човек или ИИ – можем ли да различим автора? (Резултати)

Способни ли сме да различим създаденото от изкуствен интелект и от човека?
Започвам с краткия отговор: не можем. Това е основният извод от експеримента, който беше организиран на сайта Дигитални истории.
Има обаче и толкова много други любопитни щрихи, които да ни накарат да се замислим…
Йеронимус Бош или Петко Славейков се оказаха по-трудни за разпознаване? Гозбите на Мария Жекова или строфите на Виолета Кунева?

повече информация

Най-новите:

„Всеки може да е програмист. Време е да сме повече инженери!“

„Всеки може да е програмист. Време е да сме повече инженери!“

Ивайло Кенов е вдъхновяващ учител, помогнал на толкова много хора да станат програмисти. Насочва се към тази професия случайно, след като разбира, че строителното инженерство не е за него. Решава да опита като преподавател, въпреки че е срамежлив по природа.
Дълги години е начело на екипа програмисти в СофтУни, води лекции по безброй технологии. Преподава, увлича и дава занаят, от него и аз съм научил основите на технологията, с която днес си изкарвам хляба.
Днес Ивайло е изправен пред ново начинание. Екипът му се превърна във фирма, която се е устремила към амбициозната задача да припомни, че създаването на софтуер все повече трябва да бъде инженерен процес, а не просто кодене.
Наистина ли всеки може да стане програмист, както казва учителят, помогнал на мнозина да изпълнят тази мечта? Какви са основните трудности, които спират хората?
Кои са големите проблеми, с които се сблъскват днешните програмисти? Защо си струва те вече да са не просто кодери, а да подхождат инженерно и към останалите страни от работата си?
Дали наистина е толкова трудно да си намериш първа работа в тази област? Кои са най-честите грешки?
Как Ивайло, на когото лекарите предричат, че няма да може да ходи, днес вдига 150-килограмови тяги благодарение на… инженерния подход?

повече информация
Как DALL·E „прочете“ любими български книги?

Как DALL·E „прочете“ любими български книги?

Чукчата не е читател, а писател, знаете сигурно, ами… ChatGPT? Време е за поредния прелюбопитен експеримент, който да ни покаже на какво са способни днес алгоритмите в областта както на създаването на изображения, така и на разбирането на контекст.
Ще призова алгоритъма DALL·E 3, който е част от платената версия на ChatGPT, да ми илюстрира класически български литературни произведения от различни периоди.
Защо това е интересно? От една страна, ще ни покаже колко добре работи големият езиков модел на български. Ще стане ясно доколко разпознава някои от безспорните наши класически произведения.
Не на последно място просто защото… е интересно дали пък няма да ни покаже някакви по-неочаквани, различни, атрактивни гледни точки? Дали не можем да говорим за някаква форма на колективно неосъзнато? Дали картините ще се припокрият поне донякъде с образите, които всеки от нас има за тези книги в главата си?

повече информация
„Представям си бъдещето като битка за невидимото“

„Представям си бъдещето като битка за невидимото“

„Засега изкуственият интелект ни се струва смешен, прилича ни на криво огледало или на глупчо, когото напътстваме и благодарение на когото се чувстваме знаещи и повече отвсякога хора. Това обаче се променя буквално за дни и скоро той ще се превърне в реалистично и достоверно наше отражение. Мисля за този момент – вероятно тогава ще успеем да се видим през неговия поглед, да осмислим кои части от нас са ясни дори за едно изкуствено създание, кое остава недостъпно за него и кое е най-ценното. Според мен това са онези места, където той не може да надзърне. Представям си бъдещето като битка за невидимото, това ще бъде най-важният ресурс. Онова, което изкуственият интелект не може да регистрира, е най-ценното в нас.“
„Почти всичко е наред“ се казва дебютната стихосбирка на поетесата Виолета Кунева и толкова точно формулира усещането ни за света днес.
Но как така се оказа, че вече не е възможно да различаваме поета от алгоритъма? Какво губим, ако е така?
Дали проблемът е, че масово сме изгубили критерия си за изкуство, за метафора, за многопластови, живи и човешки по дефиниция текстове, каквито са поетичните?
Ще дойде ли краят на поезията или… именно тя може да ни спаси от самите нас?

повече информация
Да си купиш вечна младост

Да си купиш вечна младост

46-годишният Браян Джонсън вече е похарчил над $4 милиона, така че тялото му да заработи като на 18-годишен. Твърди, че му се получава. Влага всички сили, стига дотам да си влива кръвна плазма от собствения си син. Смята, че е най-изследваното човешко същество, живяло някога, че експериментът му ще промени живота на всеки, който иска да живее дълго.
Тоест, на всеки.
Мечта или утопия? Безобразно пилеене на пари или идея, която може да промени еволюцията ни? Гениалност или чиста лудост?

повече информация
„Българите имаме манталитета, за да сме успешни предприемачи“

„Българите имаме манталитета, за да сме успешни предприемачи“

Борис Паскалев e предприемач с впечатляващ опит в света на стартъпите. Отскоро е стратегически съветник към института INSAIT, още една гаранция, че оттам си струва да очакваме още и все по-забележителни новини.
Преди това младежки национал по баскетбол, днешният ни гост заминава да следва не къде да е, а в MIT. Завършва магистратура с отличие и започва кариерата си като програмист преди повече от 20 години. После се пренасочва към мениджмънта и предприемачеството. За да стигнем до момента, когато се събира с двама други герои на Дигитални истории – проф. Мартин Вечев и д-р Веселин Райчев в стартъпа DeepCode. Той е изпълнителен директор на една от пионерните разработки за създаване на код с изкуствен интелект, която през 2020 г. е придобита от мултимилиардната компания Snyk.
Ще поговорим за успешния му път през сърцето на Силициевата долина. За започналата революция на изкуствения интелект, която според него е по-голяма дори от откриването на електричеството. За друга революция, която се задава – тази в роботиката. За това как у нас може да има повече успешни стартъпи, които да развият средата и страната ни.
Кои са следващите големи новини, които да очакваме от INSAIT?

повече информация
ИИ детектив. Технологията ли ще ни върне истината?

ИИ детектив. Технологията ли ще ни върне истината?

След като експериментът на Дигитални истории, в който се включиха почти 2000 души, показа, че вече не сме способни да различаваме генерираните от изкуствения интелект изображения и текстове, е време за следващата стъпка.
Дали пък… самият изкуствен интелект няма да ни помогне в тази вече неравна битка в търсене на истината? След като алгоритмите станаха толкова добри в генерирането на разнообразни текстове, изображения, а вече и видео, дали пък няма те да се окажат спасението?
Ще проверим на практика. Радостин Чолаков от родопското село Барутин ни гостува с една от първите Дигитални истории. Тогава, само на 15, той разказа за работата си в света на невронните мрежи, много преди изкуственият интелект да се превърне в темата на деня. А до днес успехите му са още по-впечатляващи. През последните години пътят му често се преплита с този на друг талантлив младеж на същата възраст. Делян Бойчев също завършва средното си образование тази година, но вече има сериозни успехи, специалността му са методите за компютърно зрение.
Двамата приятели се заговарят по темата и решават да проверят: ясно е, че днес изкуственият интелект създава забележителни изображения, но дали пак той би могъл да разпознае истината и лъжата, да прецени коя картинка е създадена от човек и коя – от алгоритъм?

повече информация
Share This