*Текстът е предоставен от INDUSTRIA Technology
Разкажи ни малко повече за себе си
Обичам планините, въпреки че съм роден и съм живял в крайбрежието на Бургас през по-голямата част от живота си. Мога да кажа, че това, което най-много ме вдъхновява, зарежда и крепи, е природата и процесите в нея. Там всичко е в перфектен синхрон, до най-малкия детайл, създавайки една безупречна верига от събития и реакции, ако мога така да се изразя.
Затова заедно със съпругата ми решихме да се преместим и да заживеем в едно малко селце до Самоков, точно под Рила. Купихме си къща с голяма градина, за която се грижим, така че всяко свободно време, което имам, обичам да правя неща, свързани с това.
Открих, че обичам дървообработването и занаятите, така че в хубав слънчев ден можете да ме намерите да работя по нов проект, свързан с градинарство, или по дървообработване за къщата, вместо да се занимавам с блокчейн.
Как започна да се занимаваш с blockchain?
В продължение на много години работех предимно в сферата на хотелиерството, преди да реша да сменя кариерата си, докато живеех в Кипър и Шотландия. Преди да започна да се занимавам с IT, ръководех барове и ресторанти с различен брой служители – от 10 до 200. Бих казал, че управлението на хора, макар и в различен сектор, е нещо, което взех със себе си дори и след смяната на професия.
Отне ми около две години и половина постоянни полети за изпити и много безсънни нощи, но резултатът е нещо, на което продължавам да се радвам всеки ден. В INDUSTRIA съм от 3 години и от първия ден работя като част от екипа на Corda. Всъщност, когато започнах, бяхме само трима или четирима инженери.
Оттогава много неща се промениха, екипът вече е много по-голям и има все повече и по-големи проекти, в които участваме.
А на въпроса ви как се озовах в блокчейн сектора – оказа се, че блокчейн ме намери, а не че аз съзнателно се опитвах да намеря компания, която работи с блокчейн. Не знаех нито за R3 Corda, нито за каквито и да било блокчейн технологии, когато бях интервюиран за работа в INDUSTRIA.
По време на интервюто имах наистина интересен разговор с Петко Карамочев, нашият главен изпълнителен директор. Начинът, по който той описа процесите в Corda, и страстта, която вложи в разговора, бяха нещото, което ме убеди да се присъединя към компанията. И дори сега все още доста често изпитвам същото чувство на вълнение, когато работя с екипа по текущи проекти или полагам основите на бъдещи такива.
Как се разработва едно blockchain решение?
С много кафе!
Разработването на private permissioned blockchain приложение се различава от конвенционалното приложение по много начини. Първото предизвикателство е как трябва да се проектира архитектурата в такава децентрализирана система, в която трябва да се мисли не само за разрешения за четене и запис в едно хранилище, а за толкова, колкото са равнопоставените потребители в мрежата.
Накратко, какви факти (транзакции) се споделят между страните, кога и как? Има различни инструменти за постигане на това с различен софтуер, но писането на smart contract е част от всички тях. Договорът дефинира условията, които позволяват или ограничават дадена страна в мрежата да извършва транзакции с други. Например, да предположим, че имаме фабрика за кисело мляко в България, която управлява възел, и клиент, който иска да продава винаги прясно произведено кисело мляко. В такъв случай в smart contract-a може да има условие, което определя максимално допустимия диапазон на времето за доставка след производството на млякото. Всеки път, когато фабриката иска да извърши транзакция с клиента, това изискване трябва да бъде изпълнено.
Възможно е да има и трета страна по средата – транспортна компания, която също има специфични изисквания, когато работи с фабриката или с клиента. Така че договор, базиран на разрешения, с имплементирана цялата необходима бизнес логика, е съществена част от всяко блокчейн приложение. Също така споменахме фактите (транзакциите). Тези факти са неизменни (веднъж вкарани в хранилището, те не могат да бъдат актуализирани) и това е още един момент, който трябва да се вземе предвид.
Нестандартното криптиране на тези факти, което идва от този тип приложение, е друго предизвикателство, тъй като не е толкова лесно да се разбере дали данните се съхраняват или споделят с други страни. Не можете просто да прегледате базата данни и веднага да разберете какво има в нея. Ние правим това, докато разработваме, като избираме тестово управлявана разработка още от първите редове код. Бих казал, че тестването на тези приложения е също толкова важно, колкото и създаването на правилния дизайн и архитектура.
Разкажи ни повече, каква е работата на Corda?
Corda не е блокчейн в смисъл, че използва различен механизъм за консенсус, при който транзакциите са криптографски свързани, но не са групирани в блок. Тя може да бъде описана като платформа за distributed ledger technology (DLT) от типа peer-to-peer (P2P), която позволява изграждането на приложения за различни случаи на употреба, най-вече, но не само, в областта на финансите, застраховането, строителството, здравеопазването, веригите за доставки.
Основните характеристики на Corda, както и на всяка DLT, са децентрализация, неизменимост на данните, сигурност и поверителност. Наистина интересната част е как се постига това – как равнопоставените възли комуникират и как се споделя информацията в мрежата. Механизмът, осигурен от Corda, е създаването на различни потоци. Те са подобни на главните класове в Java или C++, тъй като това е мястото, където се реализира цялата бизнес логика. Точно там се изгражда транзакцията.
Ако smart contract-a е мозъкът на приложението, то съществуващите потоци са неговите вени. За всяка транзакция можете да определите кой трябва да се съгласи с нейната валидност, като съберете подписите на колегите си, но можете и да добавите данни от външни системи, като използвате оракули (мрежови услуги, използвани като единствен източник на истината, когато става въпрос за външни данни).
В края на краищата всеки успешен поток трябва да доведе до финализиране на транзакцията след верифицирането ѝ спрямо необходимия smart contract и актуализирането на състоянието на ledger-a на участниците.
Благодарение на своя уникален и нов механизъм за консенсус, Corda може да обработва хиляди транзакции в секунда и е лидер в тази област.
Заслужава си да се спомене и начинът, по който се обменя информация между различните мрежови възли. Транзакцията се споделя само на принципа „need to know“, така че тя не е налична в главния ledger на всеки възел, а само на тези, които са били избрани за тази транзакция.
Какъв е процесът на работа върху проектите на INDUSTRIA?
През повечето време проектите, които получаваме в INDUSTRIA, са коренно различни. Бихте се учудили колко много различни случаи на употреба могат да се впишат и да се възползват от функциите на private permissioned DLT. И тъй като те са толкова различни, няма единен модел, за който бих могъл да кажа, че важи за всички проекти или към който аз особено да се придържам.
В много случаи постоянната и конструктивна комуникация с клиента е първото нещо, което трябва да се направи за даден проект. Обикновено техническите специалисти нямат нищо общо с подобни разговори, но при нас случаят не е такъв. Защото този напълно нов свят на DLT все още съдържа неизвестни и въпреки че някои клиенти знаят ползите от присъединяването към него, ние все пак трябва да разберем цялата идея и функционалност зад приложението, за да сме сигурни, че DLT е необходим и ще донесе стойност, а не обратното.
Налице е бум на компании, които искат да реализират всякакви различни идеи, използвайки DLT, защото е популярна. Но това само по себе си не е достатъчно. Поддръжката на една DLT мрежа не е евтина. Така че ние влизаме в открита дискусия с нашите клиенти и се опитваме да намерим най-доброто решение за тях, дори ако в крайна сметка то не е DLT решение. И вярвате или не, налагаше се да гледам видеоклипове със заглавия като „Finance for Dummies“, за да разбера основните понятия и подходящия контекст за такива разговори.
Също така, както можете да си представите, ние нямаме някакви над 10-годишни монолити, написани на Java 6, които трябва да се опитаме да избегнем да счупваме и поддържаме. Работим последователно с най-съвременни технологии и инструменти.
Всъщност това е доста вълнуващо. За различни проекти често избираме да използваме поредната нова и иновативна технология. Corda сама по себе си е достатъчно иновативна, но това, което имам предвид, е, че трябва да добавим към нея и такива неща като digital identity, smart legal contracts, доставчици на платежни услуги, допълнителна поверителност и много други.
Като цяло работата по проекти никога не е скучна и винаги е предизвикателство. Трябва непрекъснато да се учиш, да се усъвършенстваш и да наваксваш с най-новите тенденции.
Както казах, няма единен модел за това как работя по проекти, но това, което се опитвам да правя, е винаги да се гмуркам надълбоко, да проучвам бизнес частта на проекта и да бъда една крачка напред в текущото му състояние, за да се опитам да избегна тесните участъци, които могат да се появят по-късно. Чувствам се лично отговорен за предоставянето на продукт с най-високо качество при всеки проект, в който участвам, и често изисквам същото отношение от колегите си.
Какви са ключовите съставки за успех при управлението на проект?
Според мен ключовият елемент за успеха е силният екип. Такъв, в който хората могат да се вдъхновяват един друг. Това е ключовата съставка, но не и единствената! Те трябва да се предизвикват един друг, да обсъждат и да намират решения на проблемите заедно, но най-важното е да се образоват взаимно.
И не би могло да бъде другояче, защото нови инструменти и технологии стават достъпни почти всеки ден. Един човек не може да се запознае с всички тях. В компанията имаме фантастична култура на споделяне на знания. Всеки в компанията може да организира семинар, на който да сподели нови технологии, които намира за интересни – процес, който може да бъде полезен както за неговия екип, така и за цялата компания.
Лично аз обичам тези събития и се опитвам сам да организирам такива поне веднъж месечно. Освен това за всеки нов член на екипа има доста подробна програма за обучение, в която даваме най-доброто от себе си, за да предадем знанията, които сме натрупали през годините по отношение на Corda и Kotlin. И тъй като вярвам, че това е от голямо значение, винаги когато намеря малко време в календара си, се опитвам да подобря този процес по всякакъв начин.
Ако искате и вие да сте част от INDUSTRIA, намерете вашата позиция тук.