18 юни, 2019

Иван Ванков, по-известен като “gatakka” е Principal Blockchain Architect, а доскоро и популярен блогър със собствен канал в YouTube. Онлайн Иван споделя своите познания – от основни съвети за работа в интернет пространството до видео уроци по програмиране. Днес е лектор на някои родни конференции и обучения.

Ако gattaka ви липсва, в неговото интервю за DevStyleR можете да научите откъде идва никнеймът му, как така стана “IBM Champion” в две поредни години, що е то “социално инженерство” и защо повечето потребители са невежи и лесни за манипулиране.

Какъв е професионалният ти опит в разработването на софтуер?

В момента съм Principal Blockchain Architect в Cognition Foundry и Principal Software Architect в Concuex. Реално правя това, което правят всички разработчици – пиша софтуер и се опитвам да направя така, че сложните неща да изглеждат прости.

С програмирането започнах доста късно, мисля, че беше 2007 година, тогава бях на 25 години и нямах никакъв опит. Ситуацията беше такава – нямам образование, нямам богати роднини и живея сам от 13-годишна възраст. Трябваше да намеря нещо, което ми харесва, да е перспективно и да не изисква формално образование.  Програмирането се оказа добра опция. Купих си компютър, книги, и буквално 6 месеца не излезнах от нас. Взеха ме като начинаещ в една датска компания с екип в Пловдив, правихме прости сайтове на PHP и MySQL. За щастие попаднах в страхотна среда от хора с повече умения от мен, които нямаха нищо против да ми предадат целия си опит на малки, добре смачкани хапки. След това започна едно шеметно скачане от проект на проект в различни фирми, но да уточня, местенето бе след успешно приключване на проектите и търсенето на нови. Нарочно избирах по-сложни неща, опитвах се да се надскоча себе си, и от всеки екип, с който работих, изсмуквах максимално опит, знания и добри практики.

Постепенно преминах в областта на киберсигурността, от там се запалих по Machine Learning и някак си постепенно станах R&D (Research and Development). Отличията и постиженията не са нещо, с което обичам да се хваля. За мен е по-важно, че имам обективна самооценка, какво мога и какво не, и че мнението ми се взима предвид.

От кои технологии се интересуваш и кои технологии и програмни езици предпочиташ да използваш в разработката?

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

Последните няколко години основно използвам Go, изключително смислен многофункционален език. Но имам солидна практика с PHP, Java, Python, Haskel, C#, Rust, NodeJS, C, C++, Paskal и какво ли още не. Преди време ми се наложи да интегрирам със система работеща на COBOL, това бе сериозно предизвикателство, но успях.

Защо блокчейн и отворен код?

Отвореният код е нещо страхотно. Първо, така се създава акумулирано знание, позволява да се гради върху работата на хиляди хора преди теб. Това е най-успешният модел за софтуерна разработка, измислян досега. Има стотици други предимства, а и някои недостатъци, но отвореният код е като свободния достъп до библиотеки и книжарници. Опитайте се да си представите свят, в който книгите се получават само след лиценз и специално одобрение…

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

Какви са проектите, по които работиш към този момент?  

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

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

Паралелно с това активно работя по проект, базиран на Deep Reinforcement Learning. Този специфичен модел на ML се оказва доста ефективен в нетипични среди, но не мога да говоря повече. Също така активно извършвам консултантска дейност. Не само за блокчейн, а за почти всички аспекти на дадена идея, проект или технология.

Ти и Стоян Педев сте обявени за „IBM Champion“ за 2018 и 2019 в категория Cloud и Blockchain технологии и с това ставате първите българи в топ 500 в света. Разкажи ни за приноса ти в сферата на технологиите, който ти осигури това постижение.

За незапознатите, тази титла се дава всяка година на около 500 човека от целия свят,  които НЕ са служители на IBM, за отбелязване на техния принос. Реално, за да запазиш титлата си за следващата година, се бориш с всички от предишната година плюс всички от новата. Всеки извън IBM може да номинира всеки, а победителите са тези с най-много гласове.

Ние започнахме да се занимаваме активно с Hyperledger Fabric още преди кодът да бъде пуснат публично. С времето тествахме, имплелементирахме и интегрирахме. Понастоящем Cognition Foundry е отговорен за около 70% от всички production проекти, изградени на Hyperledger Fabric в света. Накратко, приносът е комплексен, но може да се обобщи с това, че ние се опитваме да покажем предимствата на блокчейн за бизнеса. Реалните предимства, като оставим на заден план всички маркетингови думички и обещания. Технологията е много смислена, но не е универсална. Там, където има смисъл да се ползва, предимствата са огромни. За всички останали случаи, пречи, даже може да се убие проект. В над 90% от случаите директно казвам на клиента/партньора, че идеята не е за блокчейн, и че е по-добре да се използват конвенционални техники.

Какви са отговорностите на един Principal Blockchain Architect?

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

В блога си споделяш, че имаш професионален опит в социалното инженерство. Би ли разказал за нас какво означава това и как беше замесен в тази техника? 

Когато започнах да се занимавам с киберсигурност, много бързо ми стана ясно, че най-слабото звено в системата е човекът. Социалното инженерство, по същество, е способността да манипулираш индивиди, така че те несъзнателно да ти помогнат да осъществиш атака, без дори да подозират, че извършват нещо нередно. Има хиляди примери по мрежата, как “хакери” успяват да намерят всички данни за даден човек и буквално да му съсипят живота, или да го вкарат в затвора. А това, че хората масово споделят по социалните мрежи, използват еднакви пароли, споделени акаунти и какво ли още не, само помага.

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

Едно от най-гледаните клипчета в YouTube канала ти е озаглавено „Защо не знаем как работи изкуствения интелект?“ и в него обясняваш и мистерията около функционирането на „черната AI кутия“. Днес, три години по-късно, с какво се измениха, или пък не, опасностите и неизвестните около тази технология?

Всъщност, това не е най-гледаното ми видео, най-популярният ми видеоклип бе изтрит от vBox7 и Youtube, явно ядосах много хора, но това е друга тема. 😀

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

Друг любопитен пример е, когато някои градове в САЩ приложиха подобни мрежи за предвиждане на престъпления, като целта бе да оптимизират силите си за по-добро противодействие. Оказа се, че всички полицаи трябва да се намират в гетата. Хората от гетата и много неправителствени организации обвиниха тези мрежи в расизъм, което само по себе си е абсурдно, но тези системи бяха спрени, или поне използването им бе силно ограничено. Сблъсъкът на невежеството на хората с технологии, граничещи с магията, винаги е предизвиквало и ще предизвиква интересни реакции.

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

Кои, според теб, са най-големите предизвикателства днес, когато става въпрос за киберсигурност? 

Те са същите както и преди 20 години. Разликата е мащабът. Но както споменах, хората са проблема, и по-точно незнанието на хората и нежеланието им да знаят. Масово хората работят на принципа “проблем на някой друг”, и сляпо следват някакви заучени модели, без да вложат и минутка мисъл. Хората свободно си качват вируси и подобни по телефоните, позволяват на всяко приложение да следи локацията, съобщенията, паролите им, купуват си гласови асистенти, които уж не слушали постоянно, но от време на време изтичат някакви записи между частни лица, стотици хиляди пароли и данни седят публични по всевъзможни сървъри… Примери хиляди. И накрая казват „Аз няма какво да крия“. Това е абсурдно. Не ме разбирайте погрешно, не съм против технологията, а против начина на имплементирането й. И понеже хората не руптаят, компаниите избират този подход.

Ще ви дам един прост исторически пример –  когато се открива радиацията, масово хората не я разбирали, изглеждала като магия и множество компании започнали да предлагат козметични продукти с радиоактивни елементи в тях. Сами се досещате, че консуматорите на тези продукти развиват много тежки заболявания. Въпреки доказателстватa, тези компании продължили да лобират, че техните продукти не са виновни. И това продължавало повече от 20 години, докато нещата не станали прекалено очевидни за всички и се наложили правила. В момента сме в този етап, появява се една технология която изглежда като магия, всеки започва да я използва както му изнася, хората си нямат и на идея за последствията, и надявам се, че щетите няма да са големи, преди да започне да се изгражда рамка, хората да започнат да се осъзнават и да развият някакви елементарни умения за самосъхранение.

Искрено се забавлявахме с начина, по който си се описал в блога си, „парашутист, дървен философ и пишман планинар“. Е, какво наистина обичаш да правиш в свободното си време?

Вече съм по-улегнал, предпочитам по-спокойните занимания. Имах привилегията да обиколя света няколко пъти когато бях под 30, правих много безразсъдни неща. Сега обожавам планините, компанията на умни, широко скроени хора, обичам да готвя и разбира се, не спирам да чета. Но за съжаление изразът “свободно време” е далечен спомен и желана мечта.

Ще разкриеш ли откъде идва никнеймът „gatakka“? 

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

Да очакваме ли да се завърнеш по-активен от всякога в блога ти и в YouTube канала ти?

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

Интервюто проведе Вяра Стефчева.

Тагове: , , , , ,