Idei și proiecte de inovație recente cum ar fi canalele de microplăți și rețelele lightning crează canale între oameni în care nu mai este nevoie să investești încredere, pentru ca aceștia să poată tranzacționa între ei fără să apeleze la blockchain. Acest lucru ar puta nu doar să economisească timp și resurse de memorie, dar ar putea să rezolve și problema dimensiunii block-ului.
Blockchain-ul are nevoie de un spațiu de memorie masiv, care va crește exponențial în viitor și care vor cauza probleme de scalabilitate. Dezvoltatorii au avut multe discuții și dezbateri pe marginea creșterii dimensiunii block-ului de la 1 la 20MB. Pe de-o parte, pentru ca moneda bitcoin să devină globală, are nevoie de o dimensiune a block-ului mult mai mare, iar pe de altă parte creșterea dimensiunii blockului vine cu ineficiență.
Blockchain-ul le-a oferit oamenilor o metodă de a tranzacționa între ei fără să trebuiască să aibă încredere în niște terți. Acest lucru este obținut replicnd istoricul tranzacțiilor pe toți utilizatorii cu noduri pline din rețea. Manipularea datelor ar cere astfel o cantitate uriașă de resurse care ar fi practic imposibilă.
Din moment ce fiecare dintre noi tranzacționează regulat cu un număr limitat de oameni, facem tranzacții repetate cu aceiași oameni. Toate aceste tranzacții trebuiesc adăugate la blockchain, într-un număr care în cele din urmă ar deveni prea mare pentru a putea fi manevrat.
Am putea însă să ocolim blockchain-ul și să faem un canal în care nu e nevoie de încredere? Există vreo metodă să reducem numărul de tranacții profitând de avantajele faptului că tranzacționăm repetat cu aceiași oameni?
O funcție din bitcoin numită nLocktime oferă un parametru care poate fi atașat unei tranzacții, care cere un timp minim în care tranzacția nu poate fi acceptată într-un block.
În cuvinte mai simple, să ne gândim la un canal unidirecțional în care o parte trimite bani altei părți. Pentru a crea acest canal în care nu trebuie să investim încredere în nimeni, utilizatorul are nevoie să își închidă banii într-o tranzacție multisig 2 din 2 cu cealaltă parte. Dar emițătorul are nevoie de o garanție, în cazul în care apare o situație în care cealaltă parte refuză să semneze tranzacția în viitor.
Astfel, înainte de a transmite această tranzacție către contul multisig, emițătorul obține o semnătură de la receptor cu un nLockTIme de 30 de zile, de exemplu, înainte să revină la adresa sa. Asta înseamnă că dacă una dintre părți, la un moment dat, nu mai vrea să continue tranzacția, fondurile vor fi transmise înapoi emițătorului în 30 de zile, ceea ce garantează acestuia că nu va avea banii blocați la altcineva fără un plan de rezervă.
Odată stabilit acest canal, emițătorul poate să înceapă să trimită bani receptorului în afara blockchain-ului din contul închis de multisig. Trebuie doar să semneze o tranzacție multisig. Când receptorul vrea să își primească banii, poate să semneze a doua jumătate a tranzacției multisig și să transmită acest lucru în rețea. Atunci când ultima tranzacție este transmisă în rețea, canalul este închis.
În loc să se facă tranzacții multiple între două părți, este emisă doar una. Asta înseamnă că vor plăti doar un comision de minare și doar o tranzacție trebuie stocată în blockchain.
Ideea a fost propusă inițial pentru a rezolva problema microtranzacțiilor. Taxele de minare previn microplățile foarte mici, dar cu tranzacții în afara lanțului, o taxă este aplicată doar la tranzacția finală după ce un participant intră în posesia banilor.
Ideea descrisă este uni-direcțională. Totuși, prin crearea altui canal, devine un canal bi-direcțional în care ambele părți pot să își trimită și să primească bani unul de la altul.
O extensie a acestei idei ar fi rețeaua lightning, care crează o rețea de canale între utilizatori. Astfel, utilizatorii pot să tranzacționeze fără să meargă pe încredere și fără să transmită tranzacția în blockchain.
Există doar un singur obstacol în calea acestor tehnologii, iar acela este maleabilitatea tranzacțiilor. Din această cauză, tranzacțiile nLockTime, care fac întreaga tranzacție să funcționeze fără a merge pe încredere, nu este credibilă. Totuși, cu o bifurcație care să nu fie fermă, se preconizează că această problemă ar putea fi rezolvată.
Aceste noi idei nu ar rezolva doar problema dimensiunii blockului și problemele de scalabilitate în viitor, dar ar putea să vină cu multe funcții interesante, cum ar fi confirmare 0 fără a fi nevoie de o investiție de încredere sau canale de microplată. S-ar putea ca această idee să ducă într-o direcție bună.