Ievads
"NejauÅ”o skaitļu Ä£enerÄÅ”ana ir pÄrÄk svarÄ«ga, lai to atstÄtu nejauŔības ziÅÄ."
Roberts Kavue, 1970. gads
Å is raksts ir veltÄ«ts risinÄjumu praktiskai pielietoÅ”anai, izmantojot kolektÄ«vo nejauÅ”o skaitļu Ä£enerÄÅ”anu neuzticamÄ vidÄ. ÄŖsÄk sakot, kÄ un kÄpÄc nejauŔība tiek izmantota blokÄ·ÄdÄs, un nedaudz par to, kÄ atŔķirt ālaboā nejauŔību no āsliktÄā. Patiesi nejauÅ”a skaitļa Ä£enerÄÅ”ana ir ÄrkÄrtÄ«gi sarežģīta problÄma pat vienÄ datorÄ, un to jau sen ir pÄtÄ«juÅ”i kriptogrÄfi. Nu, decentralizÄtos tÄ«klos nejauÅ”u skaitļu Ä£enerÄÅ”ana ir vÄl sarežģītÄka un svarÄ«gÄka.
TieÅ”i tÄ«klos, kuros dalÄ«bnieki neuzticas viens otram, spÄja Ä£enerÄt neapstrÄ«damu nejauÅ”u skaitli ļauj efektÄ«vi atrisinÄt daudzas kritiskas problÄmas un bÅ«tiski uzlabot esoÅ”Äs shÄmas. TurklÄt azartspÄles un loterijas Å”eit nav galvenais mÄrÄ·is, kÄ sÄkumÄ var Ŕķist nepieredzÄjuÅ”am lasÄ«tÄjam.
NejauÅ”o skaitļu Ä£enerÄÅ”ana
Datori paÅ”i nevar Ä£enerÄt nejauÅ”us skaitļus; lai to izdarÄ«tu, tiem nepiecieÅ”ama ÄrÄja palÄ«dzÄ«ba. Dators var iegÅ«t kÄdu nejauÅ”u vÄrtÄ«bu, piemÄram, no peles kustÄ«bÄm, izmantotÄs atmiÅas apjoma, klaiÅojoÅ”Äm strÄvÄm uz procesora tapÄm un daudziem citiem avotiem, ko sauc par entropijas avotiem. Å Ä«s vÄrtÄ«bas paÅ”as nav pilnÄ«gi nejauÅ”as, jo tÄs atrodas noteiktÄ diapazonÄ vai tÄm ir paredzams izmaiÅu modelis. Lai pÄrvÄrstu Å”Ädus skaitļus patiesi nejauÅ”os skaitļos noteiktÄ diapazonÄ, tiem tiek piemÄrotas kriptotransformÄcijas, lai no entropijas avota nevienmÄrÄ«gi sadalÄ«tajÄm vÄrtÄ«bÄm iegÅ«tu vienmÄrÄ«gi sadalÄ«tas pseidogadÄ«juma vÄrtÄ«bas. IegÅ«tÄs vÄrtÄ«bas sauc par pseidogadÄ«juma, jo tÄs nav patiesi nejauÅ”as, bet ir deterministiski atvasinÄtas no entropijas. JebkurÅ” labs kriptogrÄfijas algoritms, Å”ifrÄjot datus, rada Å”ifrÄtus tekstus, kuriem vajadzÄtu bÅ«t statistiski neatŔķiramiem no nejauÅ”as secÄ«bas, tÄpÄc nejauŔības iegÅ«Å”anai var izmantot entropijas avotu, kas nodroÅ”ina tikai labu vÄrtÄ«bu atkÄrtojamÄ«bu un neprognozÄjamÄ«bu pat nelielos diapazonos. pÄrÄjais darbs ir bitu izkliedÄÅ”ana un sajaukÅ”ana IegÅ«to vÄrtÄ«bu pÄrÅems Å”ifrÄÅ”anas algoritms.
Lai pabeigtu Ä«su izglÄ«tojoÅ”u programmu, piebildÄ«Å”u, ka nejauÅ”u skaitļu Ä£enerÄÅ”ana pat vienÄ ierÄ«cÄ ir viens no mÅ«su datu droŔības nodroÅ”inÄÅ”anas pÄ«lÄriem.Ä¢enerÄtie pseidogadÄ«juma skaitļi tiek izmantoti, veidojot droÅ”us savienojumus dažÄdos tÄ«klos, lai Ä£enerÄtu. kriptogrÄfiskÄs atslÄgas slodzes lÄ«dzsvaroÅ”anai, integritÄtes uzraudzÄ«bai un daudzÄm citÄm lietojumprogrammÄm. Daudzu protokolu droŔība ir atkarÄ«ga no spÄjas Ä£enerÄt uzticamu, ÄrÄji neparedzamu nejauŔību, saglabÄt to un neatklÄt lÄ«dz nÄkamajam protokola solim, pretÄjÄ gadÄ«jumÄ tiks apdraudÄta droŔība. Uzbrukums pseidogadÄ«juma vÄrtÄ«bu Ä£eneratoram ir ÄrkÄrtÄ«gi bÄ«stams un nekavÄjoties apdraud visu programmatÅ«ru, kas izmanto nejauŔības Ä£enerÄÅ”anu.
Jums tas viss bÅ«tu jÄzina, ja esat apguvis kriptogrÄfijas pamatkursu, tÄpÄc turpinÄsim par decentralizÄtiem tÄ«kliem.
NejauÅ”i blokÄ·ÄdÄs
Vispirms es runÄÅ”u par blokÄ·ÄdÄm ar viedo lÄ«gumu atbalstu, tie ir tie, kas var pilnÄ«bÄ izmantot iespÄjas, ko sniedz kvalitatÄ«va, nenoliedzama nejauŔība. TurklÄt Ä«suma labad es Å”o tehnoloÄ£iju saukÅ”u "Publiski pÄrbaudÄmas nejauÅ”as bÄkasā vai PVRB. TÄ kÄ blokÄ·Ädes ir tÄ«kli, kuros informÄciju var pÄrbaudÄ«t jebkurÅ” dalÄ«bnieks, galvenÄ nosaukuma daļa ir āPubliski verificÄjamaā, t.i. Ikviens var izmantot aprÄÄ·inus, lai iegÅ«tu pierÄdÄ«jumu, ka iegÅ«tajam skaitlim, kas ievietots blokÄ·ÄdÄ, ir Å”Ädas Ä«paŔības:
- RezultÄtam ir jÄbÅ«t pierÄdÄmi vienmÄrÄ«gam sadalÄ«jumam, t.i., tam jÄbÅ«t balstÄ«tam uz pierÄdÄmi spÄcÄ«gu kriptogrÄfiju.
- Nav iespÄjams kontrolÄt nevienu rezultÄta bitu. TÄ rezultÄtÄ iznÄkumu nevar paredzÄt iepriekÅ”.
- JÅ«s nevarat sabotÄt Ä£enerÄÅ”anas protokolu, nepiedaloties protokolÄ vai pÄrslogojot tÄ«klu ar uzbrukuma ziÅojumiem
- Visam iepriekÅ”minÄtajam jÄbÅ«t izturÄ«gam pret pieļaujamÄ skaita negodprÄtÄ«gu protokola dalÄ«bnieku (piemÄram, 1/3 dalÄ«bnieku) saskaÅoÅ”anu.
JebkÄda iespÄja slepenai nelielai dalÄ«bnieku grupai izveidot pat kontrolÄtu pÄra/nepÄra nejauŔību ir droŔības robs. Jebkura grupas spÄja apturÄt nejauŔības izdoÅ”anu ir droŔības robs. KopumÄ problÄmu ir daudz, un Å”is uzdevums nav viegls...
Å Ä·iet, ka vissvarÄ«gÄkais PVRB lietojums ir dažÄdas spÄles, loterijas un vispÄr jebkura veida azartspÄles blokÄ·ÄdÄ. PatieÅ”Äm, tas ir svarÄ«gs virziens, taÄu nejauŔībai blokÄ·ÄdÄs ir vÄl svarÄ«gÄki pielietojumi. ApskatÄ«sim tos.
VienprÄtÄ«bas algoritmi
PVRB spÄlÄ milzÄ«gu lomu tÄ«kla vienprÄtÄ«bas organizÄÅ”anÄ. DarÄ«jumus blokÄ·ÄdÄs aizsargÄ elektroniskais paraksts, tÄpÄc āuzbrukums darÄ«jumamā vienmÄr ir darÄ«juma iekļauÅ”ana/izslÄgÅ”ana blokÄ (vai vairÄkos blokos). Un konsensa algoritma galvenais uzdevums ir vienoties par Å”o darÄ«jumu secÄ«bu un to bloku secÄ«bu, kas ietver Å”os darÄ«jumus. TÄpat Ä«stu blokÄ·Äžu nepiecieÅ”amais Ä«paÅ”ums ir galÄ«gums ā tÄ«kla spÄja vienoties, ka Ä·Äde lÄ«dz pabeigtajam blokam ir galÄ«ga un nekad netiks izslÄgta jaunas dakÅ”as parÄdÄ«Å”anÄs dÄļ. Parasti, lai vienotos, ka bloks ir derÄ«gs un, galvenais, galÄ«gs, ir jÄsavÄc paraksti no lielÄkÄs daļas bloku ražotÄju (turpmÄk tekstÄ BP - bloku ražotÄji), kas prasa vismaz bloku Ä·Ädes piegÄdi. visiem BP un āāparakstu sadali starp visiem BP . Pieaugot BP skaitam, nepiecieÅ”amo ziÅojumu skaits tÄ«klÄ pieaug eksponenciÄli, lÄ«dz ar to konsensa algoritmi, kuriem nepiecieÅ”ama galÄ«gums, kas izmantoti, piemÄram, Hyperledger pBFT konsensÄ, nedarbojas vajadzÄ«gajÄ ÄtrumÄ, sÄkot no vairÄkiem desmitiem BP, kas prasa liels savienojumu skaits.
Ja tÄ«klÄ ir nenoliedzams un godÄ«gs PVRB, tad, pat visvienkÄrÅ”ÄkajÄ tuvinÄjumÄ, pÄc tÄ var izvÄlÄties kÄdu no bloku ražotÄjiem un vienas protokola kÄrtas laikÄ iecelt viÅu par ālÄ«deriā. Ja mums ir N
bloku ražotÄji, no kuriem M: M > 1/2 N
ir godÄ«gi, necenzÄ darÄ«jumus un neliek Ä·Ädi veikt ādubulto tÄriÅuā uzbrukumu, tad vienmÄrÄ«gi sadalÄ«ta neapstrÄ«dÄta PVRB izmantoÅ”ana ļaus ar varbÅ«tÄ«bu izvÄlÄties godÄ«gu vadÄ«tÄju M / N (M / N > 1/2)
. Ja katram vadÄ«tÄjam tiek pieŔķirts savs laika intervÄls, kurÄ viÅÅ” var izveidot bloku un apstiprinÄt Ä·Ädi, un Å”ie intervÄli ir vienÄdi laikÄ, tad godÄ«go BP bloku Ä·Äde bÅ«s garÄka nekÄ Ä·Äde, ko veido ļaunprÄtÄ«gi BP, un vienprÄtÄ«ba algoritms balstÄs uz Ä·Ädes garumu. āsliktoā vienkÄrÅ”i atmetÄ«s. Å is princips, saskaÅÄ ar kuru katram BP tiek pieŔķirtas vienÄdas laika daļas, pirmo reizi tika izmantots programmÄ Graphene (EOS priekÅ”tecis), un tas ļauj aizvÄrt lielÄko daļu bloku ar vienu parakstu, kas ievÄrojami samazina tÄ«kla slodzi un ļauj Å”ai vienprÄtÄ«bai darboties ÄrkÄrtÄ«gi Ätri un stabili. TaÄu EOS tÄ«klÄ tagad ir jÄizmanto Ä«paÅ”i bloki (Last Irreversible Block), ko apliecina 2/3 BP paraksti. Å ie bloki kalpo galÄ«guma nodroÅ”inÄÅ”anai (Ä·Ädes dakÅ”as neiespÄjamÄ«ba, kas sÄkas pirms pÄdÄjÄ pÄdÄjÄ neatgriezeniskÄ bloka).
TÄpat reÄlajÄs implementÄcijÄs protokola shÄma ir sarežģītÄka - balsoÅ”ana par piedÄvÄtajiem blokiem tiek veikta vairÄkos posmos, lai uzturÄtu tÄ«klu, ja trÅ«kst bloku un problÄmas ar tÄ«klu, taÄu, pat Åemot vÄrÄ to, konsensa algoritmi, izmantojot PVRB, prasa ievÄrojami mazÄk ziÅojumu starp BP, kas ļauj tos padarÄ«t ÄtrÄkus par tradicionÄlo PVFT vai tÄ dažÄdajÄm modifikÄcijÄm.
VisizcilÄkie Å”Ädu algoritmu pÄrstÄvji:
VietnÄ Ouroboros PVRB tiek izmantots, lai definÄtu tÄ saukto āBP grafikuā - grafiku, saskaÅÄ ar kuru katram BP tiek pieŔķirts savs laika posms bloka publicÄÅ”anai. PVRB izmantoÅ”anas lielÄ priekÅ”rocÄ«ba ir pilnÄ«ga BP āvienlÄ«dzÄ«baā (atbilstoÅ”i to bilanÄu izmÄram). PVRB integritÄte nodroÅ”ina to, ka ļaunprÄtÄ«gie BP nevar kontrolÄt laika niÅ”u plÄnoÅ”anu un tÄpÄc nevar manipulÄt ar Ä·Ädi, iepriekÅ” sagatavojot un analizÄjot Ä·Ädes dakÅ”as, un, lai izvÄlÄtos dakÅ”iÅu, pietiek ar to, ka vienkÄrÅ”i paļaujas uz laika posmu garumu. Ä·ÄdÄ, neizmantojot sarežģītus veidus, kÄ aprÄÄ·inÄt BP ālietderÄ«buā un tÄ bloku āsvaruā.
KopumÄ visos gadÄ«jumos, kad decentralizÄtÄ tÄ«klÄ jÄizvÄlas nejauÅ”s dalÄ«bnieks, PVRB gandrÄ«z vienmÄr ir labÄkÄ izvÄle, nevis deterministiska opcija, kuras pamatÄ ir, piemÄram, bloka hash. Bez PVRB iespÄja ietekmÄt dalÄ«bnieka izvÄli noved pie uzbrukumiem, kuros uzbrucÄjs var izvÄlÄties no vairÄkiem nÄkotnes lÄ«gumiem, lai izvÄlÄtos nÄkamo korumpÄto dalÄ«bnieku vai vairÄkus uzreiz, lai nodroÅ”inÄtu lielÄku daļu lÄmuma pieÅemÅ”anÄ. PVRB izmantoÅ”ana diskreditÄ Å”Äda veida uzbrukumus.
MÄrogoÅ”ana un slodzes lÄ«dzsvaroÅ”ana
PVRB var bÅ«t arÄ« liels ieguvums tÄdos uzdevumos kÄ slodzes samazinÄÅ”ana un maksÄjumu mÄrogoÅ”ana. SÄkumÄ ir jÄga iepazÄ«ties ar
Å ai shÄmai ir dažas problÄmas, piemÄram, saÅÄmÄjs var pÄrtraukt apkalpot maksÄtÄju uzreiz pÄc laimÄtÄs biļetes saÅemÅ”anas, taÄu daudzÄm Ä«paÅ”Äm lietojumprogrammÄm, piemÄram, minÅ«tes norÄÄ·iniem vai pakalpojumu elektroniskai abonÄÅ”anai, tÄs var atstÄt novÄrtÄ. GalvenÄ prasÄ«ba, protams, ir loterijas godÄ«gums, un tÄs Ä«stenoÅ”anai ir absolÅ«ti nepiecieÅ”ams PVRB.
NejauÅ”a dalÄ«bnieka izvÄle ir ÄrkÄrtÄ«gi svarÄ«ga arÄ« sadalÄ«Å”anas protokoliem, kuru mÄrÄ·is ir horizontÄli mÄrogot bloku Ä·Ädi, ļaujot dažÄdiem BP apstrÄdÄt tikai to darÄ«jumu apjomu. Tas ir ÄrkÄrtÄ«gi sarežģīts uzdevums, jo Ä«paÅ”i droŔības ziÅÄ, apvienojot skaidas. GodÄ«ga nejauÅ”a BP atlase, lai noteiktu atbildÄ«gos par konkrÄtu Ŕķembu, kÄ tas ir konsensa algoritmos, arÄ« ir PVRB uzdevums. CentralizÄtÄs sistÄmÄs shards pieŔķir balansÄtÄjs; tas vienkÄrÅ”i aprÄÄ·ina jaucÄjkodu no pieprasÄ«juma un nosÅ«ta to vajadzÄ«gajam izpildÄ«tÄjam. BlokÄ·ÄdÄs spÄja ietekmÄt Å”o uzdevumu var izraisÄ«t uzbrukumu vienprÄtÄ«bai. PiemÄram, transakciju saturu var kontrolÄt uzbrucÄjs, viÅÅ” var kontrolÄt, kuri darÄ«jumi nonÄk viÅa kontrolÄtajÄ shardÄ un manipulÄt ar tajÄ esoÅ”o bloku Ä·Ädi. Varat izlasÄ«t diskusiju par problÄmu, kas saistÄ«ta ar nejauÅ”u skaitļu izmantoÅ”anu, lai sadalÄ«tu uzdevumus Ethereum
Sharding ir viena no vÄrienÄ«gÄkajÄm un nopietnÄkajÄm problÄmÄm blokÄ·Ädes jomÄ, tÄs risinÄjums ļaus veidot decentralizÄtus tÄ«klus ar fantastisku veiktspÄju un apjomu. PVRB ir tikai viens no svarÄ«gÄkajiem blokiem, lai to atrisinÄtu.
SpÄles, ekonomiskie protokoli, arbitrÄža
NejauÅ”o skaitļu lomu spÄļu industrijÄ ir grÅ«ti pÄrvÄrtÄt. TieÅ”a izmantoÅ”ana tieÅ”saistes kazino un netieÅ”a izmantoÅ”ana, aprÄÄ·inot spÄlÄtÄja darbÄ«bas sekas, ir ÄrkÄrtÄ«gi sarežģītas problÄmas decentralizÄtiem tÄ«kliem, kur nav iespÄjams paļauties uz centrÄlo nejauŔības avotu. TaÄu nejauÅ”a atlase var arÄ« atrisinÄt daudzas ekonomiskas problÄmas un palÄ«dzÄt izveidot vienkÄrÅ”Äkus un efektÄ«vÄkus protokolus. PieÅemsim, ka mÅ«su protokolÄ ir strÄ«di par apmaksu par dažiem lÄtiem pakalpojumiem, un Å”ie strÄ«di notiek diezgan reti. Å ÄdÄ gadÄ«jumÄ, ja ir neapstrÄ«dams PVRB, klienti un pÄrdevÄji var vienoties par strÄ«du risinÄÅ”anu nejauÅ”i, bet ar noteiktu varbÅ«tÄ«bu. PiemÄram, ar 60% varbÅ«tÄ«bu uzvar klients, bet ar 40% varbÅ«tÄ«bu uzvar pÄrdevÄjs. Å Äda no pirmÄ viedokļa absurdÄ pieeja ļauj automÄtiski atrisinÄt strÄ«dus ar precÄ«zi prognozÄjamu uzvaru/zaudÄjumu daļu, kas der abÄm pusÄm bez jebkÄdas treÅ”Äs puses lÄ«dzdalÄ«bas un liekas laika tÄrÄÅ”anas. TurklÄt varbÅ«tÄ«bas koeficients var bÅ«t dinamisks un atkarÄ«gs no dažiem globÄliem mainÄ«gajiem. PiemÄram, ja uzÅÄmumam klÄjas labi, ir maz strÄ«du un augsta rentabilitÄte, uzÅÄmums var automÄtiski novirzÄ«t strÄ«da risinÄÅ”anas iespÄjamÄ«bu uz klientu orientÄciju, piemÄram, 70/30 vai 80/20 un otrÄdi, ja strÄ«di prasa daudz naudas un ir krÄpnieciski vai neadekvÄti, varat novirzÄ«t varbÅ«tÄ«bu citÄ virzienÄ.
Liels skaits interesantu decentralizÄtu protokolu, piemÄram, žetonu kurÄti reÄ£istri, prognožu tirgi, saistÄ«tu lÄ«knes un daudzi citi, ir ekonomiskas spÄles, kurÄs par labu uzvedÄ«bu tiek atalgota un par sliktu uzvedÄ«bu tiek sodÄ«ts. Tie bieži satur droŔības problÄmas, kuru aizsardzÄ«bas lÄ«dzekļi ir pretrunÄ viens ar otru. Tas, kas ir aizsargÄts no āvaļuā uzbrukuma ar miljardiem žetonu (ālielÄ likmeā), ir neaizsargÄts pret uzbrukumiem tÅ«kstoÅ”iem kontu ar nelielu atlikumu (āsybil stakeā) un pasÄkumiem, kas veikti pret vienu uzbrukumu, piemÄram, pret LineÄrÄs maksas, kas izveidotas, lai padarÄ«tu darbu ar lielu akciju nerentablu, parasti tiek diskreditÄtas ar citu uzbrukumu. TÄ kÄ mÄs runÄjam par ekonomisku spÄli, atbilstoÅ”os statistiskos svarus var aprÄÄ·inÄt iepriekÅ” un vienkÄrÅ”i aizstÄt komisijas ar randomizÄtÄm ar atbilstoÅ”u sadalÄ«jumu. Å Ädas varbÅ«tÄ«bas komisijas tiek ieviestas ÄrkÄrtÄ«gi vienkÄrÅ”i, ja blokÄ·Ädei ir uzticams nejauŔības avots un nav nepiecieÅ”ami sarežģīti aprÄÄ·ini, apgrÅ«tinot dzÄ«vi gan vaļiem, gan sibiliem.
TajÄ paÅ”Ä laikÄ ir jÄturpina atcerÄties, ka kontrole pÄr vienu bitu Å”ajÄ nejauŔībÄ Ä¼auj krÄpties, samazinot un palielinot varbÅ«tÄ«bas uz pusi, tÄpÄc godÄ«gs PVRB ir vissvarÄ«gÄkÄ Å”Ädu protokolu sastÄvdaļa.
Kur atrast pareizo nejauŔību?
TeorÄtiski godÄ«ga nejauÅ”a atlase decentralizÄtos tÄ«klos padara gandrÄ«z jebkuru protokolu droÅ”u pret slepenu vienoÅ”anos. Iemesls ir pavisam vienkÄrÅ”s ā ja tÄ«kls vienojas par vienu 0 vai 1 bitu un mazÄk nekÄ puse dalÄ«bnieku ir negodÄ«gi, tad, veicot pietiekamas iterÄcijas, tÄ«kls garantÄti panÄks vienprÄtÄ«bu par Å”o bitu ar fiksÄtu varbÅ«tÄ«bu. VienkÄrÅ”i tÄpÄc, ka godÄ«gs nejauÅ”s 51% gadÄ«jumu izvÄlÄsies 100 no 51 dalÄ«bniekiem. Bet tas ir teorÄtiski, jo... reÄlos tÄ«klos, lai nodroÅ”inÄtu tÄdu droŔības lÄ«meni kÄ rakstos, ir nepiecieÅ”ami daudzi ziÅojumi starp saimniekiem, sarežģīta daudzpakÄpju kriptogrÄfija, un jebkura protokola komplikÄcija nekavÄjoties pievieno jaunus uzbrukuma vektorus.
TÄpÄc mÄs blokÄ·ÄdÄs vÄl neredzam pÄrbaudÄ«tu izturÄ«gu PVRB, kas bÅ«tu izmantots pietiekami ilgu laiku, lai to pÄrbaudÄ«tu ar reÄlÄm lietojumprogrammÄm, vairÄkiem auditiem, ielÄdÄm un, protams, reÄliem uzbrukumiem, bez kuriem ir grÅ«ti izsaukt produkts patieÅ”Äm droÅ”s.
TomÄr ir vairÄkas daudzsoloÅ”as pieejas, tÄs atŔķiras daudzÄs detaļÄs, un viena no tÄm noteikti atrisinÄs problÄmu. Izmantojot mÅ«sdienu skaitļoÅ”anas resursus, kriptogrÄfijas teoriju var diezgan gudri pÄrvÄrst praktiskos lietojumos. NÄkotnÄ ar prieku parunÄsim par PVRB ievieÅ”anÄm: tagad tÄs ir vairÄkas, katrai ir savs svarÄ«gu Ä«paŔību un ievieÅ”anas pazÄ«mju kopums, un aiz katra slÄpjas kÄda laba ideja. RandomizÄcijÄ nav iesaistÄ«tas daudzas komandas, un katras no tÄm pieredze ir ÄrkÄrtÄ«gi svarÄ«ga visiem pÄrÄjiem. Ceram, ka mÅ«su informÄcija ļaus citÄm komandÄm kustÄties ÄtrÄk, Åemot vÄrÄ viÅu priekÅ”gÄjÄju pieredzi.
Avots: www.habr.com