🇰🇷 UTxO 몚덞의 확장성 옵션 삎펎볎Ʞ

2024년 4월 30음

UTxO 몚덞은 튞랜잭션의 병렬 처늬륌 가능하게 하며, 읎는 높은 확장성곌 튞랜잭션의 빠륞 완결성을 달성하는 데 필수적읞 Ʞ능입니닀. 읎 Ꞁ에서는 넀튞워크 합의륌 개선하여 넀튞워크 처늬량을 늘늬고 튞랜잭션 완결성을 높음 수 있는 닀양한 전략에 대핮 자섞히 삎펎볎겠습니닀. 읎 Ꞁ에서는 입력 볎슝자, 샀딩, 읎쀑지불 공격에 대한 볎혞가 확장성을 얎떻게 제한하는지에 대핮 알아볌 것입니닀.

UTxO 몚덞의 Ʞ볞 특징

UTxO는 독늜적읎고 불변하는 객첎입니닀. 튞랜잭션의 출력윌로 UTxO가 생성되멎, 새로욎 튞랜잭션에서 소비될 때까지 변겜되지 않은 상태로 유지됩니닀. 소비되멎 완전히 소진되고 새 튞랜잭션의 출력윌로 새 UTxO가 생성됩니닀.

읎 귞늌에서는 사용자가 새 튞랜잭션을 연속적읎고 병렬적윌로 제출하는 곌정을 볎여쀍니닀. 각 튞랜잭션은 빚간색 화삎표로 표시된 것처럌 UTxO 섞튞의 입력 UTxO륌 고유하게 가늬킀며, 읎는 빚간색 UTxO로 연결됩니닀. 상태 1읎띌는 용얎는 새로욎 랔록을 수띜한 후 각 녞드에 나타나는 새로욎 Ꞁ로벌 상태륌 나타냅니닀. 빚간색 UTxO는 UTxO 섞튞에서 제거되었습니닀. 녹색 화삎표가 녹색 UTxO륌 가늬킀는 것윌로 표시된 새로 형성된 UTxO가 추가되얎 UTxO 섞튞가 업데읎튞되었습니닀.

UTxO 몚덞은 튞랜잭션 유횚성 검사 쀑 Ꞁ로벌 상태륌 ꎀ늬하는 데 쀑추적읞 역할을 합니닀. 칎륎닀녞의 Ꞁ로벌 상태는 UTxO 섞튞띌고도 하는 활성 UTxO 몚음윌로 표현됩니닀. 새로욎 랔록읎 추가될 때마닀 새로 생성된 몚든 UTxO는 UTxO 섞튞에 통합됩니닀. 반대로 튞랜잭션에 의핎 소비(사용)된 UTxO는 UTxO 섞튞에서 제거됩니닀. UTxO는 음회용 엔티티로 읞식될 수 있습니닀.

넀튞워크의 몚든 녾드는 개별 UTxO 섞튞륌 유지합니닀. 컚섌서슀륌 쀀수하는 대부분의 녾드는 가장 최귌에 추가된 랔록을 포핚핎 동음한 랔록첎읞 Ʞ록을 볎졎하Ʞ 때묞에 동음한 UTxO 섞튞(Ꞁ로벌 상태)륌 볎유합니닀. 귞럌에도 불구하고 넀튞워크 데읎터 전송 지연윌로 읞핎 Ꞁ로벌 상태는 몚든 녞드에서 동시에 슉각적윌로 변겜되지 않고 앜간의 지연읎 발생합니닀. 랔록 생성자 녞드가 새로욎 랔록을 넀튞워크에 배포하는 순간 몚든 녞드가 동음한 Ꞁ로벌 상태륌 공유한닀고 가정할 수 있습니닀(슉, 마지막 랔록을 수신하고 귞에 따띌 Ꞁ로벌 상태륌 업데읎튞했닀는 의믞).

튞랜잭션의 완결성을 높읎는 방법은 묎엇읞가?

칎륎닀녞는 나칎몚토식 합의와 유사한 합의 메컀니슘을 사용합니닀. 읎는 랔록의 확률적 완결성, 귞늬고 결곌적윌로 튞랜잭션의 완결성윌로 대표됩니닀. 읎는 튞랜잭션읎 랔록 1읎띌고 하는 새로욎 랔록에 포핚되멎 확읞(confirmation) 횟수가 0읎 된닀는 것을 의믞합니닀. 랔록읎 추가되멎 비슷한 시Ʞ에 생성된 대첎 랔록윌로 대첎될 수 있윌므로 읎 랔록읎 랔록첎읞에 지속되지 않을 가능성읎 졎재합니닀. 랔록읎 랔록첎읞에서 지속될 것읎띌는 확신은 랔록 1을 넘얎 새로욎 랔록읎 추가됚에 따띌 슝가합니닀. 읎륌 종종 확읞 횟수의 슝가띌고 합니닀.

귞늌에서 랔록 0 읎후 랔록첎읞의 포크가 발생한 것을 볌 수 있습니닀. 두 개의 대첎 랔록 1읎 생성되었습니닀. 더 많은 랔록읎 추가되얎 상위 첎읞읎 우섞했습니닀. 상위 첎읞에는 튞랜잭션 TX 1읎 있었습니닀.

칎륎닀녞는 튞랜잭션 완결성읎 낮습니닀. 칎륎닀녞의 랔록 시간은 20쎈로 섀정되얎 있습니닀. 읎는 튞랜잭션에 10번의 확읞읎 필요한 겜우 ì•œ 200쎈, 슉 ì•œ 3분을 Ʞ닀렀알 한닀는 것을 의믞합니닀.

UTxO 섞튞 낮 UTxO의 독늜성 덕분에 튞랜잭션의 유횚성 검사도 상혞 배타적입니닀. 각 녾드는 튞랜잭션 또는 튞랜잭션 귞룹의 유횚성을 검사할 수 있습니닀. 랔록 낮 튞랜잭션의 순서는 서로 영향을 믞치지 않윌므로 쀑요하지 않습니닀. 따띌서 녾드는 튞랜잭션을 수신하는 슉시 개별 튞랜잭션의 유횚성을 검사할 수 있을 뿐만 아니띌 튞랜잭션을 넀튞워크에 배포하Ʞ 전에 ì–Žë–€ 형태로든 승읞 또는 투표륌 추가할 수도 있습니닀. 읎후 튞랜잭션을 수신하는 몚든 후속 녾드는 앞서 튞랜잭션을 수신한 녞드의 승읞 여부도 확읞합니닀.

귞늌에서 TX 1 튞랜잭션읎 확산되는 닀륞 몚든 녞드에서 점찚적윌로 승읞을 수집하는 곌정을 볌 수 있습니닀. 녾드 4가 새 랔록을 생성할 때 튞랜잭션에는 읎믞 4개의 승읞읎 있습니닀. 녾드 4가 멀풀을 가장 뚌저 수정했닀는 점에 유의하섞요. NODE 4는 튞랜잭션 TX 1에서 읎전 입력 UTxO(빚간색)륌 제거하고 새로 생성된 UTxO(녹색)륌 삜입했습니닀.

녞드의 메몚늬 풀에 더 였랜 êž°ê°„ 동안 있었던 튞랜잭션은 음반적윌로 더 많은 승읞을 받윌며, 랔록에 추가될 때 더 높은 우선순위륌 부여받을 수 있습니닀. 읎는 읎믞 칎륎닀녞 튞랜잭션의 특징읎며, 칎륎닀녞는 선입선출 방식윌로 작동하Ʞ 때묞입니닀. 결정적윌로, 튞랜잭션읎 넀튞워크 낮 대닀수의 녞드로부터 승읞을 받윌멎 랔록첎읞읎 재구성되더띌도 폐Ʞ될 가능성읎 쀄얎듭니닀.

튞랜잭션 포핚에 대한 합의에 도달하는 곌정은 새로욎 랔록의 생성곌는 별개로 더 빠륎고 독늜적윌로 진행될 수 있습니닀.

튞랜잭션읎 포핚된 랔록에 몇 개의 확읞만 있더띌도(얎쩌멎 당 한 개음 수도 있습니닀), 넀튞워크 녾드 사읎에는 읎믞 튞랜잭션읎 랔록첎읞의 음부가 되얎알 한닀는 합의가 있을 것입니닀. 승읞 횟수가 많은 가장 였래된 튞랜잭션읎 가장 빠륞 시음 낎에 랔록첎읞에 포핚되도록 넀튞워크륌 섀계할 수 있습니닀.

귞러나 랔록첎읞의 잠재적 재구성은 튞랜잭션의 완결성에 대한 묞제륌 제Ʞ합니닀. 튞랜잭션읎 많은 수의 승읞을 받았음에도 불구하고 읎론적윌로 랔록첎읞에서 음시적윌로 제거될 수 있습니닀. 읎는 첎읞의 음부(랔록첎읞의 가장 최귌 랔록)가 대첎 버전윌로 교첎될 때 발생할 수 있습니닀. 읎 새로욎 하위 첎읞 버전의 랔록에는 닀륞 튞랜잭션 섞튞가 포핚될 수 있습니닀. 따띌서 튞랜잭션의 완결성을 높읎렀멎 랔록첎읞의 재구성을 방지하Ʞ 위핎 합의륌 변겜하거나 튞랜잭션 승읞 횟수륌 반영하도록 규칙을 수정핎알 합니닀.

아래 읎믞지에서 랔록첎읞의 원치 않는 재구성을 확읞할 수 있습니닀. 상위 첎읞의 TX1은 4번의 승읞곌 1번의 확읞을 받았습니닀(랔록 2). 귞럌에도 불구하고 ê²°êµ­ TX 1 튞랜잭션읎 없는 하위 첎읞읎 우섞했습니닀.

튞랜잭션의 완결성은 넀튞워크 전파 곌정에서 녞드듀읎 랔록첎읞에 통합하는 데 동의핚윌로썚 향상될 수 있습니닀. 튞랜잭션의 유횚성 검슝은 입력된 UTxO의 졎재(UTxO 섞튞에 졎재)만 확읞하멎 되Ʞ 때묞에, 슉 사용 가능하닀는 것을 의믞하는 UTxO 몚덞 덕분에 가능합니닀.

아래 Ꞁ에서는 넀튞워크가 닀음 랔록을 생성하Ʞ 전에 튞랜잭션의 완결성을 더 빠륎게 달성하는 것읎 읎론적윌로 얎떻게 가능한지 볎여드늬겠습니닀.

또한, 넀튞워크 낎에서 새로 추가된 랔록에 대한 합의륌 가속화핚윌로썚 완결성을 높음 수 있습니닀. 읎는 녞드가 랔록읎 랔록첎읞에 추가되Ʞ 전 또는 직후에 랔록에 투표핚윌로썚 달성할 수 있습니닀.

입력 볎슝자

입력 볎슝자(Input Endorser)는 칎륎닀녞의 확장성을 개선하Ʞ 위한 계획입니닀. 읎 개선 사항은 랔록(합의 랔록)읎 랔록첎읞에 추가되Ʞ 전에 투표하는 형태로 볌 수 있습니닀.

입력 볎슝자는 3가지 유형의 랔록을 사용합니닀: 입력 랔록(IB), 볎슝 랔록(EB), 랭킹 랔록(RB)입니닀. 각 유형의 랔록은 닀륞 죌Ʞ로 발행됩니닀. 음부 랔록은 동음한 슬롯에서 발행될 수 있습니닀. 입력 랔록은 가장 빠륞 빈도로 발행됩니닀.

입력 볎슝자는 제출된 몚든 튞랜잭션을 추적하고 읎러한 튞랜잭션을 믞늬 구성된 랔록에 묶습니닀. 입력 볎슝자 Ʞ능의 죌요 목적은 튞랜잭션 선택곌 랔록 생성을 분늬하는 것입니닀.

읎 몚덞에서는 튞랜잭션읎 멀풀로 읎동하는 도쀑에 동의륌 수집할 수 있습니닀. 읎는 입력 볎슝자가 랔록첎읞의 선형성을 유지하멎서 병렬성곌 동시성 요소륌 합의에 통합하Ʞ 때묞입니닀.

입력 볎슝자 알고늬슘은 넀튞워크에서 더 많은 녞드의 동시 찞여륌 허용하Ʞ 때묞에 튞랜잭션 선택 닚계에서 많은 수의 튞랜잭션을 쉜게 쀀비할 수 있습니닀. 볎슝자 녾드는 튞랜잭션을 검슝하고 사전 승읞하여 랭킹 랔록 생성자의 계산 부닎곌 대역폭 수요륌 쀄읎는 동시에 튞랜잭션 풀의 닀양성곌 가용성을 향상시킵니닀. 또한, 검슝 가능한 볎슝 슝명을 제공핚윌로썚 아직 첎읞에 통합되지 않은 튞랜잭션의 확읞을 신속하게 처늬합니닀.

입력 볎슝자의 배포는 녞드가 튞랜잭션을 독늜적윌로 검슝할 수 있는 UTxO 몚덞 덕분에 가능합니닀. 랔록첎읞읎 선형적읞 랔록 시퀀슀띌는 점에서 시슀템에서 볎졎되얎알 하는 유음한 선형성은 랔록의 순위 지정 수쀀입니닀. 랭킹 랔록을 포핚한 랔록 낎의 튞랜잭션 시퀀슀는 쀑요하지 않습니닀. 흥믞롭게도 랭킹 랔록은 튞랜잭션을 저장하지 않윌며, 닚지 볎슝 랔록을 통핎 튞랜잭션에 대한 찞조륌 포핚할 뿐입니닀.

읎 읎믞지는 사용자가 활성 UTxO 섞튞(Ꞁ로벌 상태)에서 입력 UTxO(빚간색 UTxO로 표시됚)륌 찞조하는 튞랜잭션을 제출하는 몚습을 볎여쀍니닀. 읎러한 튞랜잭션은 병렬 검슝을 거친 후 입력 랔록에 통합됩니닀. 녾드는 읎러한 입력 랔록을 동시에 볎슝할 수 있습니닀. 읎 시슀템은 랭킹 랔록읎 랔록첎읞에 첚부되는 최고 수쀀의 합의에서 선형성곌 최고 수쀀의 검슝을 유지하여 읎쀑지불 공격 등윌로부터 볎혞합니닀.

랔록첎읞에 랔록읎 새로 추가될 때마닀 Ꞁ로벌 상태도 변겜됩니닀. 위에서 섀명한 것처럌, 소비된 UTxO는 UTxO 섞튞에서 제거되고 동시에 새로욎 UTxO(튞랜잭션의 녹색 UTxO)가 삜입됩니닀.

ì°žê³ : 위 읎믞지는 UTxO의 소비만 볎여쀄 뿐, UTxO 섞튞에 새 UTxO가 삜입되는 것은 볎여죌지 않습니닀.

읎쀑지불 공격에 대한 볎혞

읎쀑지불 공격에 대한 볎혞는 튞랜잭션의 확장성곌 병렬 처늬륌 제한하는 요소 쀑 하나입니닀. 튞랜잭션의 유횚성을 검사하Ʞ 위한 입력은 Ꞁ로벌 상태입니닀. 녾드는 현재 유지 쀑읞 Ꞁ로벌 상태의 컚텍슀튞에서 튞랜잭션의 유횚성을 검사합니닀.

계정 몚덞은 Ʞ볞적윌로 녞드가 Ꞁ로벌 상태륌 사용하는 방식곌 튞랜잭션 유횚성 검사의 병렬화 및 확장성에 ꎀ한 옵션에 영향을 믞칩니닀.

UTxO 몚덞의 맥띜에서, 사용자가 동음한 입력 UTxO륌 찞조하는 두 개의 튞랜잭션을 제출하멎 읎쀑지불 공격읎 발생할 수 있습니닀. 읎는 같은 돈을 두 번 사용하렀는 것곌 비슷합니닀. 정교한 공격자는 서로 닀륞 녾드, 슉 넀튞워크의 서로 닀륞 위치륌 통핎 튞랜잭션을 넀튞워크에 제출할 수 있습니닀. 슉, 특정 녾드 귞룹에서는 동음한 UTxO륌 사용하는 닀륞 튞랜잭션읎 도착할 때까지 두 튞랜잭션읎 몚두 유횚한 것윌로 간죌됩니닀. 읎때 충돌읎 발생합니닀.

읎상적읞 시나늬였에서는 읎쀑지불 공격읎 가장 빠륞 시음 낎에 식별됩니닀. 한 튞랜잭션은 새 랔록에 포핚되고 닀륞 튞랜잭션은 삭제됩니닀. 포핚된 튞랜잭션은 Ꞁ로벌 상태에 영향을 믞칩니닀. 소비된 UTxO는 더 읎상 사용할 수 없게 되며, 두 번짞 튞랜잭션은 읎믞 소비된 UTxO륌 찞조하므로 영구적윌로 묎횚화됩니닀.

입력 볎슝자가 구현되멎 입력 랔록 또는 볎슝 랔록 닚계에서 읎쀑지불 공격읎 잠재적윌로 감지될 수 있습니닀. 읎러한 탐지가 발생하지 않더띌도, 공격은 랭킹 랔록을 구성하는 동안 녞드에 의핎 확싀히 식별될 것입니닀.

읎 읎믞지는 읎쀑지불 공격 시도륌 볎여쀍니닀. 튞랜잭션 TX 1은 튞랜잭션 TX 2와 닀륞 입력 랔록에 배치됩니닀. ê·ž 후 두 튞랜잭션은 별도의 볎슝 랔록에 포핚됩니닀. 읎 닚계에서 넀튞워크는 잠재적윌로 충돌하는 튞랜잭션을 식별하고 ê·ž 쀑 하나륌 삭제할 수 있습니닀. 귞러나 읎런 음읎 발생하지 않는닀멎 랭킹 랔록을 구성하는 동안 충돌읎 핎결됩니닀. 랭킹 랔록을 구축하는 녾드는 충돌하는 튞랜잭션을 감지하고 묞제륌 핎결하는 데 필요한 몚든 정볎륌 볎유하고 있습니닀.

읎 시슀템은 튞랜잭션의 병렬 처늬륌 용읎하게 하는 동시에 충돌을 결정적윌로 핎결하고 읎쀑지불 공격을 저지할 수 있는 Ʞ능을 유지합니닀. 대부분의 튞랜잭션은 랭킹 랔록에 통합되지만, 충돌하는 튞랜잭션은 검슝을 통곌할 가능성읎 없습니닀.

튞랜잭션의 완결성읎 랔록 랭킹 레벚에서 확읞 횟수가 아니띌 승읞 횟수에 따띌 결정되는 개선안을 상상핎 볎시Ʞ 바랍니닀. 읎는 넀튞워크 낮 튞랜잭션 전파 속도에 따띌 완결성읎 대략 비례한닀는 것을 의믞합니닀. 사용자가 튞랜잭션을 넀튞워크에 제출하는 데 사용한 녾드는 반드시 승읞 횟수륌 알고 있얎알 합니닀. 읎륌 위핎서는 볎슝 랔록을 전파하는 메컀니슘읎 필요합니닀. 튞랜잭션을 시작한 녾드는 볎슝 랔록을 수신하고 ê·ž 안에서 사용자의 튞랜잭션에 대한 승읞 횟수륌 ꎀ찰하게 됩니닀. 읎 정볎는 지갑읎나 랔록첎읞 탐색Ʞ륌 통핎 사용자에게 표시될 수 있습니닀. 튞랜잭션읎 가상적윌로 51%의 지분윌로부터 승읞을 받았고 충돌하는 튞랜잭션읎 없는 것읎 거의 확싀하닀멎, 읎론적윌로는 튞랜잭션읎 최종 승읞된 것윌로 간죌할 수 있습니닀. 귞러나 튞랜잭션은 랭킹 랔록의 음부가 될 때에만 궁극적읞 완결성을 얻게 됩니닀.

UTxO 몚덞곌 샀딩

샀딩은 랔록첎읞의 확장성을 향상시킀는 핵심 Ʞ술입니닀. 랔록첎읞 넀튞워크는 '샀드’띌고 하는 작은 부분 또는 하위 넀튞워크로 나뉩니닀. 전첎 컎퓚팅 및 슀토늬지 워크로드는 샀드로 나뉩니닀.

샀딩은 시슀템에서 병렬 처늬의 한 형태입니닀. 각 샀드는 독늜적윌로 작동하며 자첎 튞랜잭션 섞튞륌 처늬할 수 있습니닀. 읎러한 튞랜잭션의 병렬 싀행은 전첎 시슀템 횚윚성곌 처늬량을 슝가시킵니닀.

각 샀드는 Ꞁ로벌 상태의 음부륌 유지합니닀. 읎륌 로컬 상태띌고 합니닀. 전첎 랔록첎읞의 Ꞁ로벌 상태는 읎러한 몚든 로컬 상태의 쎝합입니닀.

샀드 간 통신은 샀딩의 쀑요한 잡멎입니닀. 읎는 서로 닀륞 샀드 간에 튞랜잭션읎나 정볎가 교환되는 곌정을 말합니닀. 읎는 샀딩된 랔록첎읞 넀튞워크의 처늬량읎 샀드 간 통신의 영향을 크게 받Ʞ 때묞에 맀우 쀑요합니닀.

UTxO 몚덞은 계정 êž°ë°˜ 몚덞볎닀 샀딩에 더 유늬합니닀.

UTxO 몚덞의 맥띜에서 튞랜잭션은 검슝의 Ʞ볞 닚위 역할을 합니닀. 튞랜잭션은 여러 당사자가 동시에 독늜적윌로 검슝할 수 있는 엔티티입니닀. 읎러한 검슝의 결곌는 항상 동음합니닀. 칎륎닀녞는 튞랜잭션 검슝을 결정론적윌로 싀행합니닀. 여러 당사자는 랔록에 ꎀ계없읎, 슉 튞랜잭션읎 랔록에 통합되는 시점곌 랔록 낮 튞랜잭션의 순서에 ꎀ계없읎, ì–Žë–€ 순서로든 튞랜잭션을 동시에 검슝할 수 있습니닀.

읎와 대조적윌로 읎더늬움의 계정 êž°ë°˜ 몚덞에서는 랔록읎 검슝의 Ʞ볞 닚위입니닀. 튞랜잭션은 상혞 의졎적입니닀. 읎더늬움 튞랜잭션은 개별적윌로 유횚성을 검사할 수 없윌며, 음반적읞 Ꞁ로벌 상태와 ꎀ렚핎서만 유횚성을 검사할 수 있습니닀. 읎더늬움의 Ꞁ로벌 상태는 튞랜잭션의 시퀀슀로 개념화할 수 있습니닀. 튞랜잭션 검슝의 결곌는 읎 시퀀슀 낎에서의 위치에 따띌 달띌집니닀.

회계 몚덞의 찚읎는 샀딩의 구현에 큰 영향을 믞칩니닀.

간닚히 섀명하자멎, 칎륎닀녞 넀튞워크륌 하나의 샀드띌고 생각핎 볎겠습니닀. 10개의 샀드가 있닀멎, 읎는 10개의 칎륎닀녞 넀튞워크가 나란히 욎영되는 것곌 비슷할 것입니닀. 읎론적윌로 읎는 넀튞워크 처늬량을 10ë°° 슝가시킬 수 있습니닀. 귞러나 싀제로는 샀드 간 통신, 데읎터 음ꎀ성 및 볎안 볎장 필요성, 넀튞워크 지연 시간, ꎀ늬 였버헀드(샀드 간 부하 분산, 녾드 가입 및 탈퇮 ꎀ늬, 튞랜잭션 띌우팅 등) 등의 요읞윌로 읞핎 싀제로는 귞렇지 않을 수 있습니닀.

UTxO 몚덞을 사용하는 랔록첎읞의 겜우, Ꞁ로벌 상태가 자연슀럜게 병렬 처늬륌 허용하고 각 샀드 낎에서 튞랜잭션을 독늜적윌로 검슝할 수 있Ʞ 때묞에 샀딩을 구현하는 것읎 비교적 간닚합니닀.

두 샀드에서 검슝읎 필요한 튞랜잭션을 생성하는 것읎 비교적 쉜Ʞ 때묞에 UTxO 몚덞은 샀드 간 통신에 있얎 장점읎 있습니닀.

샀드 1의 Ꞁ로벌 슀테읎튞에서 입력 UTxO륌 받고 샀드 2의 Ꞁ로벌 슀테읎튞에서 출력 UTxO륌 생성하는 튞랜잭션을 상상핎 볎섞요. 읎 튞랜잭션은 두 샀드 몚두에서 랔록첎읞의 음부가 될 것입니닀. 여Ʞ서 장점은 랔록에 ꎀ계없읎, 슉 랔록 낮 튞랜잭션의 순서와 상ꎀ없읎 유횚성 검사륌 수행할 수 있닀는 것입니닀.

입력 볎슝자가 있는 각 샀드에서 크로슀 샀드 튞랜잭션은 제출 직후에 볎슝(승읞)을 받을 수 있습니닀. 튞랜잭션읎 샀드 1에 제출되멎 샀드 2로 슉시 전달되며, 두 샀드에서 튞랜잭션은 동시에 승읞을 받습니닀. 두 샀드 몚두에서 튞랜잭션은 맀우 짧은 시간 낎에 51%의 지분을 가진 사람듀로부터 지지륌 받을 수 있습니닀. 샀드 간에 볎슝 랔록을 공유하는 메컀니슘읎 있얎알 합니닀(크로슀 첎읞 튞랜잭션곌 ꎀ렚된 데읎터의 하위 집합읎멎 충분할 것입니닀). 각 샀드가 랭킹 랔록에 튞랜잭션을 삜입할 때, 특정 샀드는 많은 수의 승읞 덕분에 닀륞 샀드의 랭킹 랔록에 튞랜잭션읎 삜입될 것을 높은 수쀀의 확싀성윌로 Ʞ대할 수 있습니닀.

읎론적윌로 샀드 1은 튞랜잭션읎 랭킹 랔록에 삜입될 때까지 Ʞ닀늎 필요가 없습니닀. 묌론 읎는 닀수의 지분윌로부터 많은 수의 승읞을 받은 튞랜잭션읎 항상 닀음 랔록 쀑 하나에 삜입되도록 볎장하는 메컀니슘(및 읞섌티람)읎 있닀는 가정 하에서만 가능합니닀.

귞늌에서 튞랜잭션 TX 1을 볌 수 있는데, 읎 튞랜잭션은 샀드 1에서 UTxO륌 입력받습니닀. 튞랜잭션의 결곌는 샀드 2에서 생성되는 출력 UTxO로, 샀드 간에 값읎 전송된닀고 할 수 있습니닀. 튞랜잭션은 샀드 1의 입력 랔록에 도달합니닀. 샀드 1은 튞랜잭션을 샀드 2로 전달합니닀. TX 1은 샀드 2의 입력 랔록에 도착합니닀. 튞랜잭션 TX 1은 점찚적윌로 두 샀드의 볎슝 랔록에 도달하고 마지막윌로 랭킹 랔록에 도달합니닀. 튞랜잭션읎 랭킹 랔록에 삜입되는 슉시 핎당 샀드의 로컬 상태가 변겜됩니닀. 입력된 UTxO는 샀드 1의 로컬 슀테읎튞에서 제거됩니닀. 샀드 2의 로컬 슀테읎튞에 새로욎 UTxO가 생성됩니닀.

UTxO 몚덞은 입력 볎슝자와 샀딩 몚두에 적용할 수 있는 등 여러 가지 읎점을 제공합니닀. 앞서 얞꞉한 예시는 읎 두 Ʞ술의 통합을 볎여쀍니닀. 입력 볎슝자가 자늬륌 잡윌멎 샀딩은 칎륎닀녞의 확장성을 향상시킬 수 있는 잠재력을 가지고 있습니닀. 귞러나 입력 볎슝자는 튞랜잭션 완결성을 신속하게 처늬하여 샀드 간 통신읎 느렀지는 것을 방지하고 Ꞁ로벌 상태의 묎결성을 볎장핎알 합니닀.

읎더늬움에서 샀딩을 구현하Ʞ 얎렀욎 읎유는 묎엇읞가?

읎더늬움은 계정 êž°ë°˜ 몚덞에서 욎영되며, 각 계정에는 연ꎀ된 상태가 있습니닀. 읎더늬움의 Ꞁ로벌 상태는 볞질적윌로 몚든 계정곌 현재 자산 잔액의 데읎터베읎슀입니닀. 새로욎 랔록읎 생성될 때마닀 시슀템 상태는 핎당 랔록 낎의 튞랜잭션을 Ʞ반윌로 업데읎튞됩니닀.

튞랜잭션은 발신자의 잔고가 충분한지 확읞하여 처늬됩니닀. 성공하멎 발신자의 잔고는 감소하고 수신자의 잔고는 슝가합니닀. 귞러멎 읎더늬움 가상 ëšžì‹ (EVM)은 현재 상태와 튞랜잭션에서 새로욎 상태륌 계산하며, 읎는 닀음 튞랜잭션의 Ʞ쎈가 됩니닀. 랔록첎읞 상태의 지속적읞 진화는 튞랜잭션 순서가 검슝에 맀우 쀑요하닀는 것을 의믞합니닀.

각 튞랜잭션은 잠재적윌로 몚든 계정의 상태륌 변겜할 수 있윌며, ê·ž 결곌는 처늬 순서에 따띌 달띌질 수 있습니닀. 음ꎀ성을 유지하고 읎쀑지불을 방지하Ʞ 위핎 각 유횚성 검사 쀑에 Ꞁ로벌 상태륌 '잠ꞈ’하여 한 번에 하나의 튞랜잭션만 처늬할 수 있도록 합니닀. 읎 잠ꞈ 메컀니슘은 시슀템 묎결성을 위핎 맀우 쀑요하며, 동시 튞랜잭션윌로 읞핎 불음치나 읎쀑지불읎 발생하는 것을 방지합니닀.

튞랜잭션 입력은 공유 늬소슀읞 계정 잔고입니닀. 슉, 튞랜잭션 제출 시점의 잔고는 검슝 시점의 잔고와 닀륌 수 있윌며, UTxO 몚덞곌 달늬 튞랜잭션 입력은 비결정적입니닀.

읎더늬움에서 잔고는 튞랜잭션에 의핎 얞제든지 수정될 수 있는 영속적읞 싀첎읎지만, 두 튞랜잭션읎 동시에 동음한 잔고륌 수정할 수는 없습니닀.

귞늌에서 사용자가 5개의 튞랜잭션을 제출하는 곌정을 볌 수 있습니닀. 튞랜잭션은 병렬로 제출할 수 있습니닀. 여러 튞랜잭션읎 동음한 잔고륌 조정한닀는 점에 유의하섞요. 예륌 듀얎 TX 1곌 TX 2는 같은 잔고에서 값을 뺍니닀. 튞랜잭션 TX 3곌 TX 4는 같은 잔고에 값을 더합니닀. 상태 1에서 상태 4까지는 튞랜잭션읎 순찚적윌로 처늬되얎 Ꞁ로벌 상태가 점진적윌로 업데읎튞되는 것을 나타냅니닀. Ꞁ로벌 상태는 동음한 잔고, 슉 튞랜잭션을 통핎 상태가 연속적윌로 여러 번 변겜될 수 있는 영구적읞 객첎로 구성됩니닀.

하나의 튞랜잭션읎 샀드 1의 잔고와 샀드 2의 잔고륌 동시에 변겜핎알 한닀멎 샀드 간 통신읎 얌마나 더 복잡핎질지 상상핎 볎섞요. 읎더늬움 랔록에서 튞랜잭션의 순서는 검슝 결곌에 쀑요한 역할을 합니닀. 현재 EVM 구현에서는 두 샀드가 튞랜잭션을 랔록에 포핚시킀고 검슝 결곌에 대한 정볎륌 서로에게 전달핎알 합니닀. 샀드 1에서는 튞랜잭션 검슝읎 성공하여 잔고에서 가치가 찚감되는 반멎, 샀드 2에서는 튞랜잭션 검슝읎 싀팚하여 가치가 잔고에 반영되지 않는닀는 것은 말읎 되지 않습니닀. 샀드 간 통신은 각 샀드에서 랔록을 구성하는 Ʞ능을 심각하게 제한합니닀.

귞늌에서 튞랜잭션 TX 1은 제출 후 멀풀에 삜입되는 것을 볌 수 있습니닀. 읎 튞랜잭션은 멀풀에서 랔록 1에 삜입됩니닀. 튞랜잭션 TX 1의 유횚성 검사는 샀드 1의 현재 로컬 상태륌 변겜하지만, 샀드 1은 샀드 2의 유횚성 검사 결곌륌 알아알 합니닀. 따띌서 샀드 1은 랔록 2(샀드 2)의 튞랜잭션 검슝 결곌에 대핮 샀드 2와 통신을 합니닀. 따띌서 샀드 2는 튞랜잭션 TX 1을 랔록 2에 삜입하고 검슝을 수행핎알 합니닀. 귞런 닀음 검슝 결곌륌 샀드 1에 전달할 수 있습니닀. 샀드 1은 랔록 1에 닀륞 튞랜잭션을 추가하Ʞ 전에 샀드 2의 검슝 결곌륌 알고 있얎알 합니닀.

싀제로 제공된 예시는 샀딩의 닚순화된 (순진한) 구현입니닀. 읎는 읎더늬움 팀읎 현재의 합의 메컀니슘윌로 샀딩을 구현할 때 직멎한 쀑대한 곌제륌 잘 볎여쀍니닀.

계정 êž°ë°˜ 랔록첎읞에서 샀드 간 통신 쀑에 튞랜잭션 원자성을 유지하는 것은 복잡한 작업입니닀. 시슀템의 묎결성을 유지하Ʞ 위핎서는 튞랜잭션읎 완전히 싀행되거나 전혀 싀행되지 않도록 하는 것읎 쀑요합니닀.

읎 묞제륌 핎결하Ʞ 위핎 2닚계 컀밋 프로토윜을 비롯한 닀양한 전략곌 프로토윜읎 제안되었습니닀. 귞러나 읎러한 솔룚션도 장닚점곌 복잡성읎 졎재합니닀. 몇몇 프로젝튞가 계정 êž°ë°˜ 몚덞을 사용핎 랔록첎읞 낎에서 샀딩을 성공적윌로 구현했닀는 점은 죌목할 만한 사싀입니닀.

ê²°ë¡ 

합의 메컀니슘을 변겜하는 것은 넀튞워크 확장성을 향상시킀는 한 가지 방법음 뿐입니닀. 확장성은 2ì°š 레읎얎 솔룚션, 계잵화된 아킀텍처 또는 횚윚성 향상을 통핎 개선할 수도 있습니닀. 예륌 듀얎, 플룚투슀 V2는 읎전 버전읞 플룚투슀 V1볎닀 더 횚윚적읎얎서 랔록 공간을 절앜할 수 있습니닀. 읎러한 횚윚성 덕분에 랔록당 더 많은 튞랜잭션을 처늬할 수 있얎 넀튞워크 처늬량읎 슝가합니닀. 귞러나 입력 볎슝자는 횚윚성 향상볎닀 더 큰 확장성 개선을 제공할 수 있습니닀.

칎륎닀녞 컀뮀니티의 음부 구성원은 입력 볎슝자볎닀는 ZK 암혞화륌 통한 확장성 향상에 더 쀑점을 두얎알 한닀고 생각합니닀. 칎륎닀녞는 장(Chang) 하드포크륌 통핎 ZK 암혞화륌 통합할 예정입니닀. 칎륎닀녞의 결정론 덕분에 시퀀서가 필요 없는 ZK 례업을 구성하는 것읎 가능핎질 것입니닀.

음회성 객첎로 구성된 Ꞁ로벌 상태는 병렬화가 가능하Ʞ 때묞에 UTxO 몚덞은 입력 볎슝자 또는 샀딩에 맀우 적합합니닀. 넀튞워크의 여러 녾드는 샀딩의 겜우에도 병렬로 서로 독늜적윌로 튞랜잭션의 유횚성을 검사할 수 있습니닀.


* Source: Exploring Scalability Options of the UTxO Model
* Translation: Ilhun@CryptoVeri :twitter: enics_sky@naver.com