Ментори:
Димитрије Д. Чвокић
Дејан Радић (CTO, Resolver Sys, Бања Лука)
Студенти:
Блокчејн-технологија је заснована на дистрибуираном мрежном рачунарству и комбиновању структура података, с циљем постизања веће транспарентности у раду, вођењу трансакција, и заобилажењу проблема који карактеришу централизована окружења ("уско грло" је у позицији својеврсног манипулатора). Укратко, ријеч је о начину да се формира расути дигитални и јавни записник (рачуноводствена књига у ширем смислу) што више отпоран на неовлаштену (зло)употребу. Обично се доводи у везу са криптовалутама, као што су биткоин или етереум, иако су криптовалуте у ствари примјена ове технологије. Штавише, блокчејн као идеја налази примјену у управљању ланцима снадбјевања, гласачким системима, вођењу здравства, и много чему другом.
Гледано из угла структура података, у свом основном облику, блокчејн можемо представити на сљедећи начин:
блок: структура података која представља криптографски информациони контејнер са записима о трансакцијама, или било чему другом о чему желимо да водимо рачуна;
ланац: растућа повезана листа блокова, на шта указује и сам назив (енг. blockchain – ланац блокова);
безбједност: сваки блок садржи јединствен код (хеш-вриједност) претходног блока, што ланац блокова чини хешираним ланцем, а то умногоме отежава измјену садржаја како се иде уназад по временској оси;
јавни увид и општепозната ствар: читави умношци записника се дијеле путем мреже свим странкама, тако да свако може да буде упознат са историјом трансакција и да провјери ваљаност своје верзије записника;
самоизвршни уговори (опционо): услови склапања уговора су уткани непосредно у сам програмски код, те се извршавају чим се испуне, аутоматски, без потребе за посредником (агенцијом, општином, нотаром, итд.).
У наредним редовима навешћемо неке од примјена блокчејн-технологије, а које се не односе на децентрализоване криптовалуте:
Управљање ланцем снадбјевања. Праћење производа кроз ланац снадбјевања. Омогућује јавни увид, провјеру вјеродостојности, и смањује ризик од кријумчарења робе.
Гласачки системи. Омогућују се електронско гласање са већим степеном безбједности и транспарентности, смањујући ризик од изборних манипулација и обезбјеђујући интегритет гласачког процеса. Циљ је да се свако питање око којег реба да се колектив/друштво изјасни сведе ефикасно на референдум, што је једино математички прихватљив (фер) облик колективног одлучивања (остало је у супротности са теоремама Ароуа и Гибард-Сатервајта).
Здравство. Боље обезбјеђен приступ и рад са здравственим досијеом пацијента, стављајући фокус на приватности и интегритет података.
Заштита интелектуалних права. Временско етикетирање и провјера права на интелектуалну својину као што су патенти и права на умножавање.
Инострани трансфери и плаћања. Трансфери и плаћања међу клијентима у иностранству се могу обављати брже, транспарентније, и са мањом провизијом у односу на уобичајене банковне канале.
Једна од идеја која се односи на увезивање блокчејн-технологије и ВЈМа, коју можемо лако да увидимо, јесте побољшање транспарентности вјежбања модела, тј. његове вјештачке неуронске мреже (упроштено речено!).
У развоју рачунарских програмских технологија постоји софтвер са и без јавно доступног кода (енг. open and closed source code software). Уколико код није јавно доступан, корисник софтвера је одсјечен од конкретног техничког знања које се односи на сам његов развој. Овакав тип софтвера је више карактеристичан за компаније које желе потпуну контролу над производом, непосредну монетизацију од продаје софтвера, и тзв. остварење тржишне предности у односу на конкуренцију ако је ријеч о иновацији. У садашње вријеме су то неријетко компаније фокусиране на експлотацију личних података у циљу зараде – дато-компаније. С друге стране, софтвер са јавно доступним кодом омогућује већу сарадњу поприлично разноврсне и разнородне програмерске заједнице на откривању грешака у коду, али и у његовом развоју, па чак и измјени првобитних намјена софтвера. Природна посљедица јавно доступног кода је у многим случајевима и бесплатан производ (на корист друштву у цјелини), тј. овај приступ има и алтруистичку карактеристику. Ипак, кад је ријеч о већим информационим системима и софтверским пројектима, може се примијетити да без обзира што је сам код доступан широј јавности, она од тога нема неке непосредне конкретне користи, просто због његове сложености.
Кад је ријеч о ВЈМу, ситуација је и у овом контексту мало другачија, са додатним потешкоћама. Досупност кода не мора да игра велику улогу у функционисању самог производа – ВЈМа, без обзира на сложеност самог кода. Увјежбавање вјештачке неуроске мреже модела је сакривено и од оних који имају увид у код, штавише може бити скивено и од оних који су га написали. Процес тренирања је поприлично скуп. Самим тим пролазак кроз читав процес испочетка је такође поприлично скуп, дуготрајан, и мукотрпан. Тешко да ће програмерска заједница моћи да понови поступак тренирања ВЈМа. Стога, природно се јавља потреба како за налажењем рјешења која ће појефтинити и убрзати поступак вјежбања ВЈМа, тако и за вођењем и надзором самог тока његовог вјежбања. Треба напоменути да ове двије потребе могу бити у међусобној колизији. Поред поменутог, очекује се да заједница прихвати конкретан пут вјежбања, а не да јој извјежбан ВЈМ буде наметнут (“гурнут под нос”, као што је то, на неки начин, случај са моделима сервиса ChatGPT).
Тренутно, ВЈМи се вјежбају на огромним скуповима података, али постоји оправдана забринутост да се у модел може унијети пристрасност, неприкладан садржај, или пак склоност ка тачно одређеним дезинформацијама, без обзира на можда, на први поглед, њихово мало одступање ("тиха вода бријег рони", каже наша пословица). Поменута забринутост додатно долази до изражаја ако се има у виду да се ботови засновани на увјежбаним моделима могу искористити у разне манипулативне сврхе, како политичке, тако и криминалне. Можемо сматрати да је блокчејн-технологија природан избор када је ријеч о вођењу јавног записника који је уједно и производ заједнице.
Лако се види да могу да постоје бар двије могућности увјежбавања ВЈМа унутар блокчејн-окружења:
Блокчејн омогућује гласачку платформу на основу које се одлучује како и када ће се ВЈМ побуђивати, уз дефинисане оцјене исхода. У овом случају, поред непосредних веза између чворова у мрежи, постоји и веза између чворова и ВЈМа, тј. хибридизацију централизованог и децентрализованог окружења.
Сваки чвор садржи ВЈМ који се ажурира на основу консензус-механизма.
Кључна компонента прве идеје повезивања блокчејн-технологије са радом на ВЈМу је механизам гласања. Једно разматрање ове идеје, а које предлажемо, односи се на то да људи могу бити укључени у процес одлучивања о томе шта ће бити инкорпорирано у модел, а шта не, те како ће се вјежбати, а и користити. Кроз безбједне и верификоване корисничке идентитете сами клијенти могу да предложе, гласају, и коментаришу садржај на којем ће модел бити увјежбаван/обучаван. Сви допуштени приједлози и побуђивања би били забиљежени на блокчејну, заједно са измјенама тежина вјештачких неуронских мрежа, чиме би се обезбједио висок ниво транспарентности, али и омогућило разматрање одговорности за добијени производ.
Предочени приступ има бројне предности. Прво, омогућује активно учешће заједнице корисника у развоју и увјежбавању ВЈМа, чиме се повећава разноврсност и спрјечава једнострано усмјеравање. Друго, обезбјеђује се повјерење у исправност модела и смањује ризик од злоупотребе. Треће, овакав приступ може помоћи у идентификацији непожељног садржаја и сузбијању појаве субјективности и пристрасности на одређене теме, из угла заједнице.
Грубо гледано имамо сљедеће елементе који конституишу нашу идеју:
провјерени корисници;
кориснички приједлози;
корисничке сугестије;
кориснички коментари;
гласачки механизам;
записивање на блокчејну;
транспарентност и одговорност.
Саставити White Paper на енглеском језику на основу White Paper-a Bitcoin-a, Ethereum-a, и још неког савременијег алткоина којег сами одаберете, али који је прикладан за ову идеју (може бити и производ заснован на блокчејн-технологији који нема везе са криптовалутама). (2 бода)
Направити прост веб-сајт од једне странице користећи неку no code услугу, на којем је, у суштини, изложен садржај White Paper-a, са прикладно уклопљеним графичким елементима који појашњавају причу о софтверу. Такође, окачити White Paper на сајт. (2 бода)
Направити одговарајуће налоге на друштвеним мрежама Икс (Твитер) и Инстаграм. (1 бод)
Саставити SRS. Имати у виду да је циљ пројектног задатка готов функционалан производ, али демонстративан! Ништа више од тога! Стога, треба бити обазрив да се у састављању SRS-a не оде далеко, превише у ширину, у разноразне варијанте и детаље, у такорећи мегаломански подухват који превазилази наше снаге. С друге стране, не треба се рад свести на нешто банално, нити нешто што је у нивоу испитног задатка. Такође, у састављању SRS-a имати превасходно у виду тестирање (ТDD). (2 бода)
Одабрати с обзиром на међусобна познанства и ресурсе са којима се располаже одговарајући модел развоја софтвера. (1 бод)
Саставити на основу одабраног модела план рада (a.k.a. roadmap). (1 бод)
Окачити roadmap на веб-сајт, и испратити то на друштвеним мрежама. (1 бод)
Формирати гитхаб-налог. (1 бод)
Програмирати према SRS-у. Сваку завршену цјелину према одабраном моделу развоја испратити објавама на друштвеним мрежама. Другим ријечима, објаве на друштвеним мрежама су својеврсни записници испуњавања плана рада, као и разматрања колико је план добар, да ли је шта поребно мијењати у самој идеји, у спецификацији, у плану рада, итд. (9 бодова)
За сваку фазу (према одабраном моделу) извршити одговарајуће тестирање и о резултатима тога казати коју ријеч на друштвеним мрежама (слично упути 8). (10 бодова)