Blockchain Scalability - Mga Sidechain at mga channel ng pagbabayad
Talaan ng Nilalaman
Panimula
Ang problema sa scalability ng blockchain
Ano ang mga solusyon sa pag-scale ng off-chain?
Ang panimula sa mga sidechain
Ang panimula sa mga channel ng pagbabayad
Pangwakas na mga ideya
Blockchain Scalability  - Mga Sidechain at mga channel ng pagbabayad
Home
Mga Artikulo
Blockchain Scalability - Mga Sidechain at mga channel ng pagbabayad

Blockchain Scalability - Mga Sidechain at mga channel ng pagbabayad

Advanced
Na-publish Feb 20, 2020Na-update Feb 9, 2023
9m

Panimula

Malawak na tumutukoy ang scalability sa kakayahan ng isang system na lumago upang mapaunlakan ang pagtaas ng pangangailangan. Sa pag-compute, puwede mong mapalakas ang pagganap ng iyong machine sa pamamagitan ng pag-upgrade ng hardware nito upang mas mabilis itong magsagawa ng ilang mga gawain. Kapag pinag-uusapan natin ang tungkol sa scalability sa mga blockchain, tinutukoy namin ang pagpapalaki ng kanilang kakayahan na hawakan ang higit pang mga transaksyon.
Ang mga protocol tulad ng Bitcoin ay may maraming lakas, ngunit ang scalability ay hindi isa sa mga ito. Kung ang Bitcoin ay pinatakbo sa isang database na pagmamay-ari ng sentral, ito ay magiging relatibong madali para sa isang administrator na dagdagan ang bilis at throughput. Ngunit ang mga panukala sa halaga ng Bitcoin (ibig sabihin, paglaban sa censorship) ay nangangailangan ng maraming mga kalahok na mag-sync ng isang kopya ng blockchain.


Ang problema sa scalability ng blockchain

Ang pagpapatakbo ng isang Bitcoin node ay medyo mura, at kahit na ang mga simpleng device ay magagawa ito. Ngunit dahil ang libu-libong mga node ay kailangang manatiling napapanahon sa bawat isa, may ilang mga limitasyon sa kanilang kakayahan. 
Ang mga cap ay inilalagay sa bilang ng mga transaksyon na puwedeng maproseso nang on-chain, upang hindi payagan ang database na lumaki sa mga hindi malalakas na laki. Kung ito ay magiging sobrang laki, ang mga node ay hindi makakasabay. Bukod dito, kung ang mga block ay masyadong malaki, hindi sila puwedeng mabilis na maipalipat sa paligid ng network.

Bilang resulta, nahahanap namin ang ating sarili sa isang bagay ng isang bottleneck. Ang isang blockchain ay puwedeng matingnan bilang isang serbisyo sa tren na umaalis sa mga itinakdang agwat. Limitado lang ang mga upuan sa bawat karwahe, at upang makakuha ng isang tiket, ang mga manlalakbay ay dapat na mag-bid upang magarantiyahan ang isang lugar. Kung ang lahat ay sumusubok na makasakay sa tren nang sabay, magiging mataas ang presyo. Katulad nito, ang isang network na barado na may nakabinbing mga transaksyon ay mangangailangan ng mga user na magbayad ng mas mataas na bayarin upang makita na kasama ang kanilang transaksyon sa isang napapanahong paraan.

Ang isang solusyon ay upang gawing mas malaki ang mga karwahe. Mangangahulugan ito ng mas maraming upuan, mas mataas na throughput, at mas murang mga presyo ng tiket. Ngunit walang garantiya na ang mga upuan ay hindi lang pupunan tulad ng dati. Ang mga karwahe ay hindi puwedeng palagiang pinalawak, tulad din ng mga limitasyon ng mga block o pag-block ng gas ay hindi puwedeng sukatin nang walang hanggan. Ginagawa nitong huli na mas mahal para sa mga node na manatili sa network, dahil kakailanganin nila ang mas mahal na hardware upang manatili sa pag-sync.

Ang tagalikha ng Ethereum na si Vitalik Buterin ang gumawa ng Scalability Trilemma upang ilarawan ang hamon na kinakaharap ng mga blockchain. Nag-teorya siya na ang mga protocol ay dapat gumawa ng mga pag-trade off sa pagitan ng scalability, seguridad at desentralisasyon. Ang mga ito ay medyo nagkakasalungatan sa bawat isa – sa pamamagitan ng labis na pagtuon sa dalawa sa mga pag-aari, ang pangatlo ay magiging mahirap.

Para sa kadahilanang ito, maraming tinitingnan ang scalability bilang isang bagay na makakamtan off-chain, habang ang seguridad at desentralisasyon ay dapat na ma-maximize sa blockchain mismo.


Ano ang mga solusyon sa pag-scale ng off-chain?

Ang pag-scale ng off-chain ay tumutukoy sa mga diskarte na nagpapahintulot sa mga transaksyon na maipatupad nang hindi lumulubo ang blockchain. Pinapayagan ng mga protocol na naka-plug sa chain ang mga user na magpadala at makatanggap ng mga pondo, nang hindi lumilitaw ang mga transaksyon sa pangunahing chain. Nag dive kami sa dalawa sa pinakapansin-pansing pagsulong sa mga front sidechain na ito at mga channel ng pagbabayad.


Ang panimula sa mga sidechain

Ano ang isang sidechain?

Ang isang sidechain ay isang hiwalay na blockchain. Gayunpaman, hindi ito isang nakapag-iisang platform, dahil naka-peg ito sa ilang mga paraan sa pangunahing chain. Ang pangunahing chain at ang sidechain ay magkakaugnay, nangangahulugang ang mga asset ay puwedeng malayang dumaloy mula sa isa papunta sa iba.

Mayroong isang bilang ng mga paraan upang matiyak na ang mga pondo ay puwedeng ma-port ng buo. Sa ilang mga kaso, inililipat ang mga asset mula sa pangunahing chain sa pamamagitan ng pagdedeposito sa isang espesyal na address. Hindi talaga sila naipadala – sa halip naka-lock ang mga ito sa address, at isang katugmang halaga ang naibigay sa sidechain. Ang isang mas prangka (kahit na sentralisadong pagpipilian) ay upang magpadala ng mga pondo sa isang tagapangalaga, na nagpapalitan ng deposito para sa mga pondo sa sidechain.


Paano gumagana ang sidechain?

Ipagpalagay na ang kaibigan nating si Alice ay mayroong limang bitcoin. Nais niyang ipagpalit ang mga ito sa limang katumbas na mga yunit sa isang sidechain ng Bitcoin – tawagin natin silang mga sidecoin. Ang pinag-uusapan sa sidechain ay gumagamit ng two-way peg, nangangahulugang kaya ng mga user na ilipat ang kanilang mga asset mula sa pangunahing chain sa sidechain at kabaliktaran. 

Tandaan na ang sidechain ay isang hiwalay na blockchain. Kaya, magkakaroon ito ng iba't ibang mga block, node at pagpapatotoo mekanismo. Upang makuha ang kanyang mga sidecoin, padadalhan siya ni Alice ng limang bitcoin sa ibang address. Puwede itong pag-aari ng isang tao na pagkatapos ay bibigyan ng kredito ang kanyang sidechain address sa limang sidecoin sa sandaling matanggap nila ang mga bitcoin. Bilang kahalili, puwedeng mayroon itong ilang uri ng na-minimize na pag-set up kung saan ang mga sidecoin ay awtomatikong na-kredito pagkatapos makita ng isang software ang isang pagbabayad.



Ginawa ngayon ni Alice ang kanyang mga barya sa mga sidecoin, ngunit palagi niyang mababaligtad ang proseso upang mabawi ang kanyang mga bitcoin. Ngayong nakapasok na siya sa sidechain, malaya siyang makitungo sa magkakahiwalay na blockchain na ito. Puwede siyang magpadala ng mga sidecoin o matanggap ang mga ito mula sa iba, tulad ng gagawin niya sa pangunahing chain.

Puwede rin niyang, halimbawa, bayaran si Bob ng isang sidecoin para sa isang Binance hoodie. Kapag nais niyang bumalik sa Bitcoin, puwede niyang ipadala ang natitirang apat na sidecoin sa isang espesyal na address. Matapos makumpirma ang transaksyon, ang apat na bitcoin ay ma-unlock at maihatid sa isang address na kinokontrol niya sa pangunahing chain.


Bakit ginagamit ang mga sidechain?

Puwede kang magtaka kung ano ang punto nito. Bakit hindi lang ginamit ni Alice ang Bitcoin blockchain?

Ang sagot ay ang sidechain ay puwedeng may kakayahang mga bagay na hindi magawa ng Bitcoin. Ang mga blockchain ay maingat na ininhinyong mga sistema ng mga pag-trade off. Habang ang Bitcoin ang pinaka-ligtas at desentralisadong cryptocurrency, hindi ito ang pinakamahusay sa mga tuntunin ng throughput.. Habang ang mga transaksyon sa Bitcoin ay mas mabilis kaysa sa maginoo na pamamaraan, medyo mabagal pa rin ito kung ihinahambing sa iba pang mga blockchain system. Ang mga block ay mina bawat sampung minuto, at ang mga bayarin ay puwedeng lumago nang malaki kapag masikip ang network.

Totoo, malamang na hindi kinakailangan ang antas ng seguridad na ito para sa maliit na mga pang-araw-araw na pagbabayad. Kung nagbabayad si Alice para sa kape, hindi siya tatayo habang hinihintay ang kumpirmasyon ng transaksyon. Hahawakan na niya ang pila, at ang lamig ng kanyang inumin sa oras na ibigay ito.

Ang mga sidechain ay hindi nasasaklaw ng parehong mga patakaran. Sa katunayan, hindi nila kailangang gamitin ang Proof of Work upang gumana. Puwede kang gumamit ng anumang mekanismo ng consensus, magtiwala sa isang solong pagpapatunay, o ma-tweak ang anumang bilang ng mga parameter. Puwede kang magdagdag ng mga pag-upgrade na wala sa pangunahing chain, makagawa ng mas malaking mga block , at ipatupad ang mabilis na mga pag-aayos.

Kapansin-pansin, ang mga sidechain ay puwedeng magkaroon ng mga kritikal na bug nang hindi nakakaapekto sa pinagbabatayan na chain. Pinapayagan silang magamit bilang mga platform para sa eksperimento at upang ilabas ang mga tampok na kung hindi man ay mangangailangan ng consensus mula sa karamihan ng network.

Sa kondisyon na natutuwa ang mga user sa mga trade-off, ang mga sidechain ay puwedeng isang mahalagang hakbang patungo sa mabisang pag-scale. Walang kinakailangan para sa pangunahing mga chain node upang maiimbak ang bawat transaksyon mula sa sidechain. Puwedeng ipasok ni Alice ang sidechain na may isang solong transaksyon sa Bitcoin, magsagawa ng daan-daang mga transaksyon sa sidecoin, at pagkatapos ay lumabas sa sidechain. Hanggang sa nag-aalala ang Bitcoin blockchain, dalawa lamang ang gumanap niya – isa upang makapasok at isa upang lumabas.

Ang Plasma ng Ethereum ay magkatulad, ngunit may ilang pangunahing pagkakaiba. Magbasa nang higit pa tungkol dito Ano ang Ethereum Plasma?


Ang panimula sa mga channel ng pagbabayad

Ano ang isang payment channel?

Ang mga channel sa pagbabayad ay nagsisilbi ng parehong layunin tulad ng mga sidechain sa harap ng scalability, ngunit sa pangkalahatan ay ibang-iba sila. Tulad ng mga sidechain, itinutulak nila ang mga transaksyon sa pangunahing chain upang maiwasan ang paglobo ng blockchain. Gayunpaman, hindi tulad ng mga sidechain, hindi sila nangangailangan ng isang hiwalay na blockchain upang gumana.

Ang channel sa pagbabayad ay gumagamit ng isang smart contract upang paganahin ang mga gumagamit na makipag-transaksyon nang hindi nai-publish ang kanilang mga transaksyon sa blockchain. Ginagawa ito sa pamamagitan ng paggamit ng isang kasunduan na ipinatutupad ng software sa pagitan ng dalawang kalahok.


Paano gumagana ang isang payment channel?

Sa mga modelong tulad ng sikat na Lightning Network, ang dalawang partido ay unang magdeposito ng mga barya sa isang address na magkasamang pagmamay-ari nila. Ang ito ay isang multisignature address, isa na nangangailangan ng dalawang lagda para gugulin ang mga pondo. Kaya, kung lumikha sina Alice at Bob ng ganoong address, ang mga pondo puwede lang ilipat sa pahintulot mula sa kanilang dalawa.

Sabihin nating ang bawat isa ay nagdeposito ng 10 BTC sa isang address na ngayon ay mayroong 20 BTC. Madali para sa kanila na panatilihin ang isang sheet ng balanse na nagsisimulang sabihin na sina Alice at Bob ay parehong may 10 BTC bawat isa. Kung nais ni Alice na bigyan si Bob ng isang coin, puwede nila itong i-update upang basahin na si Alice ay mayroong 9 BTC, si Bob ay mayroong 11 BTC. Hindi nila kailangang mai-publish sa blockchain habang patuloy silang na-update ang mga balanse na ito. 



Gayunpaman, pagdating ng oras, sabihin natin na si Alice ay mayroong 5 BTC, at si Bob ay mayroong 15 BTC. Puwede silang lumikha ng isang transaksyon na nagpapadala ng mga balanse sa mga address na pagmamay-ari ng mga partido, mag-sign nito, at ma-broadcast ito.

Puwedeng nakatala sina Alice at Bob ng sampu, isang daan, o isang libong mga transaksyon sa kanilang balanse. Ngunit tungkol sa blockchain ay nababahala, nakagawa lang sila ng dalawang on-chain na operasyon isa para sa paunang transaksyon sa pagpopondo, at isa upang muling makilala ang mga balanse kapag tapos na sila. Bukod sa dalawang ito, ang lahat ng iba pang mga transaksyon ay libre at malapit sa instant dahil nangyayari ito sa off-chain. Walang babayaran na singil ng minero at walang maghihintay na mga kumpirmasyon sa pag-block.

Syempre, ang halimbawang tinalakay sa itaas ay nangangailangan ng parehong partido na makipagtulungan, na hindi isang mainam na sitwasyon para sa mga hindi kilalang tao. Gayunpaman, puwedeng magamit ang mga espesyal na mekanismo upang parusahan ang anumang pagtatangka na manloko, upang ang mga partido ay puwedeng ligtas na makipag-ugnay sa isa't isa nang walang pagtitiwala. 


Pagruruta sa pagbabayad

Malinaw, ang mga channel sa pagbabayad ay maginhawa para sa dalawang partido na inaasahan ang isang mataas na dami ng mga transaksyon. Ngunit gumagaling ito. Puwedeng gawin ang isang network ng mga channel na ito, nangangahulugang puwedeng magbayad si Alice ng isang partido na hindi siya direktang konektado. Kung may bukas na channel si Bob kay Carol, maaaring bayaran siya ni Alice sa ibinigay na may sapat na kapasidad. Itutulak niya ang mga pondo sa gilid ni Bob ng channel, na siya namang, ang magtutulak sa kanila sa Carol. Kung si Carol ay konektado sa ibang kalahok, si Dan, ang parehong bagay ay puwedeng magawa. 

Ang nasabing isang network ay umuusbong sa isang ipinamahaging topology kung saan ang lahat ay kumokonekta sa maraming mga kapantay. Madalas na maraming mga ruta sa isang patutunguhan, at mapipili ng mga user ang pinaka-epektibo. 


Pangwakas na mga ideya

Tinalakay namin ang dalawang mga diskarte sa scalability na nagpapahintulot sa mga transaksyon na gawin nang hindi pinapasan ang napapailalim na blockchain. Ang parehong mga sidechain at teknolohiya ng channel sa pagbabayad ay hindi pa nag-i-mature, ngunit pinapakinabangan pa sila ng mga user na nais na iwasan ang mga pagkukulang ng mga pangunahing layer ng transaksyon.

Habang tumatagal at mas maraming mga user ang sumali sa network, mahalagang mapanatili ang desentralisasyon. Ito ay makakamit lamang sa pamamagitan ng pagpapatupad ng mga limitasyon sa paglago ng blockchain upang ang mga bagong node ay madaling sumali. Ang mga tagataguyod ng mga off-chain na mga solusyon sa scalability ay naniniwala na, sa oras, ang pangunahing chain ay gagamitin lang upang maisaayos ang mga transaksyon na may mataas na halaga, o para sa paggulong sa/labas ng mga sidechain at pagbubukas/pagsasara ng mga channel.