DePHY Şəbəkəsindən Jun Jiang və Usher Labs-dan Ryan Soury-ə rəy və fikirlərə görə xüsusi təşəkkür edirik.
2008-ci ildə mürəkkəb treyderlər ilkin qəzəbə düşdükcə Wall Street-də həyəcan siqnalları çalındı. İpoteka krediti ilə təmin olunmuş qiymətli kağızların ağırlığı altında iflasa uğrayan maliyyə institutları acgöz bankirləri ifşa etdi və xilas üçün yalvardılar. Güclərini əlindən almaq üçün çarəsiz qalan mərkəzi banklar bankirlərin günahlarının əvəzini adi adamın çek dəftərindən ödədilər. Bu xəyanət mərkəzləşdirilmiş pul sisteminin qüsurlarını ortaya qoydu, daha yeni, daha azad və ədalətli maliyyə sisteminə ehtiyacı ortaya qoydu. Amerika İnqilabı və onun ardınca gələn konstitusiya kilsə və dövləti bir-birindən ayırdığı kimi, pul və dövləti ayırmaq üçün Bitcoin adlı yeni bir inqilab ortaya çıxdı və öz müqəddəratını təyin etmək üçün əsas olan eyni azadlıq və azadlıqların çoxunu təmin etdi.
Blockchain texnologiyası azadlıq texnologiyasıdır. O, bizə mərkəzləşdirilmiş vasitəçiyə etibar tələb etməyən maliyyə, şəxsiyyət, məlumat və sosial koordinasiya sistemlərini qurmağa imkan verir. Mərkəzi bankın pul axınına nəzarət etmədiyi, tək platformanın sosial diskursa nəzarət etmədiyi və tək bir şirkətin rəqəmsal şəxsiyyətlərə nəzarət etmədiyi bir dünyada fərdi azadlıqlar inkişaf edir.
Bu yeni dünya ilə bu gün olduğumuz yer arasındakı fərqlərin çoxu blokçeyn platformalarının texniki imkanlarındadır. Ağıllı müqavilələrin ilk nəsli bu azadlıq sistemlərini təmin edən aysberqin görünən hissəsi idi; lakin onların imkanları əsaslı şəkildə məhduddur. Bu yazıda mən cari smart müqavilələrdəki bəzi kritik məhdudiyyətləri və yeni sistemin, “SQL Smart Contracts”ın insan azadlıqlarının kilidini açmaq və blokçeynin potensialını yeni hesablama platforması kimi reallaşdırmaq üçün necə daha texniki cəhətdən bacarıqlı təməl təmin etdiyini izah edirəm.
"Əsas problem... onun işləməsi üçün lazım olan bütün inamdır." - Satoshi Nakamoto
Blockchain-in ilkin əsas xüsusiyyəti dəyişməzlikdir; Şəbəkədəki maraqlı tərəflərin (və ya “qovşaqların”) müəyyən həddi nəyinsə doğru olması ilə razılaşdıqda, blokçeyn bu həqiqətin daimi qeydini saxlayacaq. Blokçeynlər zərərli aktyorların həqiqəti manipulyasiya edə bilməmələrini təmin etmək üçün qovşaqların hesablama gücü, maliyyə payı və ya reputasiya şəklində böyük məbləğdə dəyər sərf etdiyi müxtəlif “sübut” mexanizmlərindən istifadə edir.
Bitcoin rəqəmsal valyuta üçün “həqiqət maşını”dırsa, Ethereum daha mürəkkəb maliyyə məhsulları üçün “həqiqət maşını”dır. Ethereum proqramlaşdırıla bilən dizayn məkanı yaratmaqla Bitcoin-in imkanlarını genişləndirir, burada tərtibatçılar bir sıra qovşaqlarda yerləşdirilməsi, yoxlanılması və icrası üçün istənilən məntiqi həyata keçirə bilərlər. Bu o deməkdir ki, biz indi yalnız valyutadan kənarda mərkəzi orqana inam ehtiyacını aradan qaldıran sistemlər yarada bilərik! Kredit, daşınmaz əmlak sənədləri, şəxsiyyət məlumatları, sosial media, iqtisadi göstəricilər və s. kimi mərkəzi orqanlara ehtiyac duyan istənilən sistem indi mərkəzi vasitəçilər olmadan işləyə bilər. Bu tamamilə yeni bir dünyadır!
Ağıllı müqavilə, proqram tərtibatçılarının blokçeyn üzərində yazdıqları və yerləşdirdikləri proqramdır, tərtibatçılar üçün mərkəzləşdirilməmiş proqramlar yaratmaq üçün kətan. “Ağıllı müqavilə” termini iki tərəfin müəyyən hüquq və öhdəliklərə bağlı olduğu hüquqi müqavilə demək deyil. Bunun əvəzinə "ağıllı müqavilə" sadəcə olaraq tətbiqin kodun qeyri-müəyyən müddətə tam olaraq necə yazıldığına zəmanət verildiyini bildirir. Kredit müqavilələri borcalanların və borc verənlərin hər zaman əməliyyat apara biləcəyinə zəmanət verir. Daşınmaz əmlak müqavilələri insanların mülkiyyət hüququnu hər zaman yoxlaya və köçürməsinə zəmanət verir. Ağıllı müqavilə kodun qanuna çevrildiyi bir tətbiqdir.
Steve Jobs kompüteri "ağıl üçün velosiped" adlandırdı. Ağıllı müqavilələr təkərlərin heç vaxt düşməyəcəyinə zəmanət verir.
“Kripto təkcə tokenlərin ticarəti deyil, o, azadlığı və məxfiliyi qorumaq və gücü kiçik oğlanın əlində saxlamaq üçün daha geniş etosun bir hissəsidir.” - Vitalik Buterin
Ethereum smart müqavilələri mərkəzləşdirilməmiş məhsulların tamamilə yeni bir dünyasını təqdim etsə də, onların dizaynında və məlumatların manipulyasiya imkanlarında əsas məhdudiyyətlər kriptovalyutadan kənar bir çox tətbiqlərdə effektiv olmasına mane olur.
Solidity-də (Ethereum üçün proqramlaşdırma dili) müqavilə məlumatları açar-dəyər cütlərində saxlanılır. Strukturlar (dəyişən qruplaşmalar) və xəritələşdirmələr (açar-dəyər cütlərinin toplanması) məlumatları təşkil etmək üçün faydalı yollar təqdim etsə də, bütün məlumatlar yalnız açarı ilə əldə edilə bilər. İstifadəçi şəxsiyyəti məlumatlarının saxlanması üçün nəzəri müqaviləni nəzərdən keçirin:
contract IdentityStorage { // Struct to store KYC details struct identity { string fullName; string dateOfBirth; string residentialAddress; } // mapping a country to its citizens to their info // "Canada" => 0x123… => {Vitalik Buterin, 01/31/1994, ...} mapping(string => mapping(address => identity)) public idData; //...rest of contract }
Bu müqavilədə istifadəçinin şəxsiyyət qeydi yalnız İstifadəçinin ölkəsini və pul kisəsinin ünvanını bilməklə əldə edilə bilər. Müqavilə yerləşdiricisi yüksək qaz dəyəri məlumatlarının manipulyasiyası üçün ağıllı müqaviləni yenidən dizayn etmədikcə, müqavilə istifadəçisinin şəxsiyyət qeydini əldə etməsi üçün başqa yollar yoxdur. Məlumatların açar-dəyər cütlərində saxlanması son nəticədə verilənlərə necə daxil olmaq və manipulyasiya etmək imkanını məhdudlaşdırır.
Xüsusilə, Ethereum smart müqavilələrində məlumatların idarə edilməsi iki əsas problem təqdim edir: indeksdən asılılıq və giriş yolundan asılılıq.
İndeksdən asılılıq o deməkdir ki, müəyyən bir məlumat parçasına daxil olmaq üçün verilənlər indeksdə mövcud olmalıdır. İndeks kolleksiya daxilində unikal identifikatoru səmərəli şəkildə axtaran məlumat strukturudur. Yuxarıdakı nümunə KYC müqaviləsində qeydlərə yalnız açar üçün istifadə edilən dəqiq Ethereum ünvanı vasitəsilə daxil olmaq mümkündür. Bu sərt indeksləşdirmə strukturu müqavilə istifadəçilərinin “Hansı istifadəçilərin bu yaşayış ünvanı var?” kimi digər meyarlar əsasında məlumatları sorğulamasına mane olur. və ya "Bu milli şəxsiyyət vəsiqəsi olan istifadəçilərin neçə faizi 1970-ci il yanvarın 1-dən sonra doğulub?" Bu cür sorğuları yerinə yetirmək bacarığı olmadan tərtibatçılar müqavilə məlumatları ətrafında tətbiq məntiqini toplamaq, təhlil etmək və qurmaq üçün çevikliyə malik deyillər. Tərtibatçılar bu əlavə çevikliyə ehtiyac duyduqda, məsələn, şəxsiyyət qeydini tam adı ilə əldə etmək kimi, bütün müqavilə yenidən strukturlaşdırılmalıdır. Ethereum-da indekslərin yenidən qurulması müqavilənin qaz xərclərini də artıra bilər, bu da müqavilənin istifadəsinə mane olur.
Giriş yolundan asılılıq məlumatların yalnız müəyyən axtarış yolu ilə əldə edilə bilən və başa düşülən olmasına aiddir. Nümunə müqaviləsində, Vitalikin ölkəsini və pul kisəsinin ünvanını bilmək, tərtibatçıya şəxsiyyət qeydini əldə etməyə imkan verəcəkdir. Bununla belə, yalnız pul kisəsinin ünvanını bilmək, tərtibatçıya Vitalik-in mənşə ölkəsini əldə etməyə imkan verməz. Bundan əlavə, tərtibatçıda Vitalik-in pul kisəsi ünvanı olsa belə, onlar mənşə ölkəsini ("Kanada" açarı) bilmədən onun şəxsiyyət qeydini ala bilməzlər. Vitalikin şəxsiyyət qeydinə giriş yolu sabitdir; əgər tərtibatçı öz qeydini yalnız pul kisəsinin ünvanı ilə əldə etməyə cəhd etməli olsaydı, bütün müqavilə yenidən qurulmalıdır. Giriş yolundan asılılıq o deməkdir ki, verilənlər yalnız bir istiqamətdə əlçatan və mənalıdır, müxtəlif perspektivlərdən məlumatları sorğulamaq və ya şərh etmək imkanını məhdudlaşdırır.
İndeks və giriş yolundan asılılıq mürəkkəb və ya inkişaf edən məlumat modeli tələb edən tətbiqlər üçün əhəmiyyətli problemlər yaradır. Kriptovalyutaların Ethereum-da tətbiq oluna bilən sadə məlumat strukturlarına malik olmasına baxmayaraq (ERC20 tokenləri mahiyyətcə sadəcə balanslara ünvanların xəritəsidir), bu problemlər daha çox məlumat tələb edən tətbiqlər üçün problemli olur. Tətbiqin mürəkkəb məlumat modelini saxlaması, sorğulaması və manipulyasiya etməsi lazım olduqda, Ethereum-un əsas açar-dəyər yaddaşı məlumatların idarə edilməsini əhəmiyyətli dərəcədə məhdudlaşdırır və mürəkkəb məlumatların idarə edilməsini tələb edən proqramların qurulmasını və saxlanmasını çətinləşdirir.
"Tarix təkrarlanmır, lakin tez-tez qafiyələnir" - Mark Tven
1970-ci ildə IBM-də kompüter alimi Edqar F. Codd “Böyük Paylaşılan Məlumat Bankları üçün Məlumatların Əlaqəli Modeli” adlı məqalə dərc etdi. O zamanlar ən populyar proqram verilənlər bazası növü "ierarxik verilənlər bazası" idi ki, burada hər bir məlumat parçası faylların kompüterdə necə təşkil edildiyinə bənzər bir ana qovluq altında saxlanılan sərt, ağaca bənzər strukturdan istifadə edilirdi. Codd iyerarxik verilənlər bazasına qarşı mübahisə edərək, cədvəl strukturu ilə daha yeni, daha sadə, daha bacarıqlı relyasiya verilənlər bazası təklif etdi.
İerarxik verilənlər bazasının ağaca bənzər strukturu o deməkdir ki, verilənlərə yalnız hər bir məlumat parçasının valideyn-övlad münasibətlərini başa düşmək üçün sərt sistem vasitəsilə daxil olmaq olar. Xüsusilə, Codd iyerarxik sistemlə bağlı üç əsas problemi müəyyən etdi:
Sifarişdən Asılılıq: Sorğunun nəticəsi çox vaxt məlumatların yaddaşda necə təşkil olunduğundan asılıdır. Məlumatın saxlandığı qaydada sorğulanacağını fərz edən proqram qurulubsa, o zaman sifariş gələcəkdə dəyişdirilə bilməz.
İndeksdən Asılılıq: Müəyyən bir məlumat parçasına daxil olmaq üçün proqram valideyni (yəni, indeksi) bilməlidir. Əks halda, tələb olunan məlumatları əldə etmək mümkün deyil.
Giriş Yolu Asılılığı: Verilənlərə daxil olmaq və ya başa düşmək xüsusi axtarış yoluna riayət etməyi tələb edir. Tətbiq müəyyən bir giriş nümunəsindən istifadə edərək məlumatları əldə etmək üçün nəzərdə tutulubsa, alternativ yollardan istifadə edərək eyni məlumatları əldə edə və ya şərh edə bilməz.
Bu tanış səslənir? Ethereum smart müqavilələrinin sifarişdən asılılığı olmasa da (xəritələr sıralanmamışdır), 1960-cı və 1970-ci illərdə verilənlər bazalarını saxlayan eyni indeks və giriş yolundan asılılıq məhdudiyyətləri bu gün ağıllı müqavilə platformalarını geridə qoyur.
Verilənlər bazası səviyyəsində məhdudiyyətlər əhəmiyyətsiz uğursuzluqdan daha çox şeydir; onlar tərtibatçıları əsaslı şəkildə məhdudlaşdırır və platformada qurulan tətbiq növlərini məhdudlaşdırırlar. Yeni funksiyaların tətbiqinə diqqət yetirmək əvəzinə, indeks və giriş yolundan asılılıqla mübarizə aparan tərtibatçılar mövcud tətbiqin funksionallığını qorumaq üçün çox böyük səy sərf etməlidirlər. 1960-1970-ci illərdə verilənlər bazasından istifadə ilk növbədə inventarın idarə edilməsi, mühasibat uçotu və ümumi məlumatların emalı kimi sərt biznes tapşırıqları üçün nəzərdə tutulmuşdu; tərtibatçılar daha mürəkkəb proqramlar yaratmaq üçün məlumat çevikliyinə malik deyildilər. Bununla belə, əlaqəli verilənlər bazalarının tətbiqindən sonra, ERP sistemlərinin, CRM-lərin və biznes kəşfiyyat vasitələrinin yüksəlməsinə səbəb olan əhəmiyyətli dərəcədə daha ifadəli və məlumat tutumlu proqramlar meydana çıxdı. Bundan əlavə, internetin meydana gəlməsi ilə bu irəliləyişlər e-ticarət platformaları və sosial media tətbiqləri üçün yol açdı. Tərtibatçılar əvvəllər bütün verilənlər bazasının yalnız bir neçə SQL xətti ilə yenidən qurulmasını tələb edən xüsusiyyətləri həyata keçirə bilərdilər. Əlaqəli verilənlər bazası paradiqma dəyişikliyindən daha çox idi; bu, prinsipcə yeni tətbiqlərin meydana gəlməsinə imkan verən kateqoriya yaradan platforma idi.
Bu gün blokçeyn platformaları 1970-ci illərdəki kompüterlərə və verilənlər bazalarına bənzəyir. Blokçeyn səviyyəsində bacarıqlı məlumatların işlənməsinin olmaması o deməkdir ki, tərtibatçılar daha mürəkkəb, məlumat tutumlu mərkəzləşdirilməmiş proqramları həyata keçirə bilməzlər. Əgər blokçeynlər üçün əsas istifadə halı nə vaxtsa kriptovalyutadan kənara çıxacaqsa, bizə daha bacarıqlı məlumat emal funksiyasına malik blokçeyn platformalarına ehtiyacımız var.
"İntellektin ölçüsü dəyişmək bacarığıdır." - Albert Eynşteyn
1980-ci illərdə əlaqəli verilənlər bazasının kommersiyalaşdırılması yeni tətbiqlərin yayılmasına səbəb olduğu kimi, əlaqəli verilənlər bazalarının blokçeyn platformalarına inteqrasiyası da yaradıla bilən mərkəzləşdirilməmiş tətbiqlərin növlərini yenidən formalaşdırmaq üçün eyni potensiala malikdir.
Kwil-də biz tərtibatçılara SQL-in tam ifadəliliyindən istifadə edən mərkəzləşdirilməmiş proqramlar yaratmağa imkan verən blokçeyn platforması və ağıllı müqavilə dili qururuq. Kwil ilə tərtibatçılar daha bacarıqlı, məlumat tutumlu mərkəzləşdirilməmiş proqramlar yaratmaq üçün relational modelin çevikliyindən istifadə edə bilərlər.
Əvvəlki eyni şəxsiyyət saxlama nümunəsini nəzərdən keçirin. Hər bir qeydin yalnız açarı ilə əldə edilə bilən xəritədə şəxsiyyət qeydlərini saxlamaq əvəzinə, Kwil tərtibatçılara qeydləri cədvəldə saxlamağa və cədvəl üzərində sorğu aparmaq üçün çevik SQL sintaksisindən istifadə etməyə imkan verir:
database user_registry; table identities { address uuid primary key, name text notnull, date_of_birth int notnull, residential_address text notnull, national_id int notnull, #country_index index(national_id) } action query_by_national_id ($id) public view { SELECT * FROM identities WHERE national_id = $id; } action query_by_dob ($dob) public view { SELECT * FROM identities WHERE date_of_birth > $dob; }
Orijinal Ethereum smart müqaviləsində, şəxsiyyətlər arasında axtarış etmək və bir şərt (məsələn, milli şəxsiyyət vəsiqəsi kimi) verilmiş bütün istifadəçiləri qaytarmaq və ya xüsusi bir atribut (məsələn, doğum tarixi) əsasında pul kisəsini əlaqələndirmək üçün heç bir yol yox idi. Bu cür funksionallığı təmin etmək üçün müqavilənin yenidən qurulmasını tələb edəcək ki, bu da bahalı, qaz tutumlu funksiyaları əlavə etsin. Bununla belə, əlaqə modeli ilə tərtibatçılar bu sorğuları heç bir yenidən strukturlaşdırma tələb etmədən yerinə yetirə və bununla da əlavə xərc çəkmədən daha çox məlumat manipulyasiyası çevikliyi əldə edə bilərlər.
Məsələn, idOS şəbəkəsi Kwil ilə qurulmuş suveren blokçeyndir və istifadəçilərə və dApp-lara istifadəçi etimadnamə məlumatlarını saxlamağa imkan verir. idOS şəbəkəsi üzərində SQL-dən istifadə etmək imkan verir:
İstifadəçilər birdən çox pul kisəsi, etimadnamə və atributlarla əlaqələndiriləcək və götürülə bilər.
DeFi protokolları istifadəçilərinin haradan gəldiyini ümumi təhlil etmək üçün.
Hansı istifadəçilərin yüksək riskli bölgələrdən olduğunu qiymətləndirmək üçün Stablecoin protokolları.
Mərkəzləşdirilməmiş blokçeyn platformasında əlaqə modeli və SQL-in işə salınması bizə mövcud Ethereum smart müqavilələrində mövcud olmayan prinsipial olaraq yeni proqramlar yaratmağa imkan verir.
40 il əvvəl hesablama sənayesində inqilab edən relational model, bu gün blokçeyn sənayesində inqilab etmək üçün eyni imkanlara malikdir. 1960 və 1970-ci illərdə indeks və giriş yolundan asılılıq iyerarxik verilənlər bazasının məlumatların intensiv istifadəsi ilə bağlı faydalılığını məhdudlaşdırdı. Bu gün eyni indeks və giriş yolundan asılılıq Ethereum smart müqavilələrini və onların mərkəzləşdirilməmiş platformaları mürəkkəb məlumat modelləri ilə gücləndirmək qabiliyyətini məhdudlaşdırır. Bununla belə, relational modeli blokçeynə inteqrasiya etməklə və tərtibatçıları eyni ifadəli SQL ləhcəsi ilə təmin etməklə biz yeni proqram növlərinin kilidini aça bilərik. Əlaqəli verilənlər bazası biznes tələbini sürətləndirdiyi və kompüterlərin əsas qəbula nail olmasına kömək etdiyi kimi, blokçeyn platformalarına da eyni şeyi etməyə kömək edə bilər və bununla da daha azad, daha mərkəzləşdirilməmiş, daha etibarlı rəqəmsal dünyanın kilidini aça bilər.