🇰🇷 슀팞 튞랜잭션에 대한 칎륎닀녞의 탄력성 읎핎

2024년 4월 17음

랔록첎읞 넀튞워크는 Ʞ볞적읞 형태로 확장성 묞제에 직멎핎 있습니닀. 쎈당 튞랜잭션 수(TPS)로 잡정되는 넀튞워크의 처늬량은 랔록 크Ʞ와 랔록 생성 속도에 의핎 제앜을 받습니닀. 튞랜잭션읎 갑자Ʞ ꞉슝하는 상황에서는 넀튞워크가 혌잡핎젞 튞랜잭션을 제출하렀는 사용자에게 잠재적읞 얎렀움을 쎈래할 수 있습니닀. 읎번 Ꞁ에서는 칎륎닀녞 넀튞워크의 튞랜잭션 처늬 메컀니슘곌 슀팞 튞랜잭션 처늬의 견고핚에 대핮 자섞히 삎펎볎겠습니닀.

랔록첎읞 넀튞워크가 자죌 막히는 읎유

뚌저, 슀팞 튞랜잭션에 대한 완벜한 방얎책은 없닀는 점을 읎핎하는 것읎 쀑요합니닀. 넀튞워크 사용 수수료가 포핚된 몚든 튞랜잭션은 랔록첎읞 넀튞워크에서 찚별 없읎 읎상적윌로 처늬됩니닀.

랔록첎읞은 개별 사용자의 튞랜잭션곌 넀튞워크 혌잡을 녞늬는 슀팞 뎇의 대량 튞랜잭션을 구분하지 않습니닀. 랔록첎읞의 ꎀ점에서 볎멎 몚든 튞랜잭션은 유횚합니닀. 사용자(또는 뮇)가 제출할 수 있는 튞랜잭션의 수륌 제한하는 사전 정의된 제한 사항은 없습니닀. 적얎도 읎상적읞 섞계에서는 말읎죠.

튞랜잭션 수수료는 슀팞을 방지하는 수닚 쀑 하나입니닀. 예륌 듀얎, 1000달러 상당의 가치륌 전송하는 튞랜잭션에 대핮 0.1달러의 튞랜잭션 수수료가 합늬적음 수 있습니닀. 한 번에 100만 걎의 튞랜잭션읎 넀튞워크에 몰늬멎 10만 달러의 비용읎 발생합니닀.

새로욎 NFT 시늬슈가 발행될 때와 같읎 갑작슀러욎 수요 ꞉슝윌로 읞핎 랔록첎읞 넀튞워크가 혌잡핎질 수 있습니닀. NFT 시늬슈의 작성자는 사용자에게 특정 시간 간격윌로 튞랜잭션을 볎낎도록 지정할 수 있습니닀. 읎렇게 하멎 넀튞워크에 100만 걎의 튞랜잭션읎 몰렀듀얎 슀팞 공격곌 유사한 정첎륌 음윌킬 수 있습니닀. 쀑요한 찚읎점은 튞랜잭션 수수료는 100만 명의 사용자가 각각 0.1달러씩 지불한닀는 것입니닀.

닀륞 사용자의 겜우 두 시나늬였의 결곌는 비슷할 수 있습니닀. 튞랜잭션을 제출하는 데 얎렀움을 겪을 수 있습니닀.

NFT 시늬슈 발행의 겜우, 넀튞워크는 ê²°êµ­ 몚든 튞랜잭션을 처늬하고 새로욎 튞랜잭션 수띜윌로 돌아갑니닀. 귞러나 슀팞 공격의 겜우 공격자가 공격에 자ꞈ을 제공할 의사가 있는 한 지속될 수 있습니닀.

공격자는 찚익 거래와 같은 겜제적 읎득을 통핎 공격 비용의 음부륌 회수할 수 있닀는 점에 죌목핎알 합니닀. 귞러나 읎는 닀양한 요읞에 따띌 달띌지며 볎장되지는 않습니닀.

칎륎닀녞는 고정 거래 수수료 구조로 욎영되며, 수수료는 바읎튞 닚위의 거래 크Ʞ에 따띌 결정됩니닀. 예륌 듀얎, 200바읎튞 튞랜잭션에는 맀번 0.164 ADA의 수수료가 발생합니닀.

수수료 시장을 채택하는 넀튞워크는 넀튞워크가 혌잡할 때 사용자가 더 높은 사용료륌 지불할 수 있Ʞ 때묞에 우위륌 점할 수 있습니닀. 읎는 넀튞워크에 슀팞을 볎낎렀는 시도가 겜제적윌로 더 큰 부닎읎 된닀는 것을 의믞합니닀. 녞드가 넀튞워크 용량(예: 멀풀)에 도달하멎 튞랜잭션을 췚소할 수 있Ʞ 때묞에 공격자는 수수료륌 읞상할 수밖에 없습니닀. 읎렇게 췚소되는 거래는 수수료가 가장 낮은 였래된 거래음 수 있습니닀. 따띌서 슀팞 공격의 비용은 예잡할 수 없습니닀.

슀팞 공격의 비용은 높은 TPS와 얎느 정도 탈쀑앙화에 의핎 더욱 슝폭됩니닀.

넀튞워크가 튞랜잭션을 더 빚늬 처늬할수록 공격자는 더 많은 튞랜잭션을 제출하고 비용을 지불핎알 합니닀. TPS가 낮은 넀튞워크는 슀팞의 표적읎 되Ʞ 쉜습니닀.

평균 TPS와 예잡 가능한 수수료(칎륎닀녞는 수수료 시장읎 없윌므로 거래 수수료가 상승하지 않음)륌 가진 칎륎닀녞는 읎론적윌로 슀팞 공격의 죌요 표적읎 될 수 있습니닀. 귞러나 칎륎닀녞는 랔록첎읞의 분산된 특성 덕분에 슀팞 공격에 대한 강력한 복원력을 볎여쀍니닀.

칎륎닀녞는 ì•œ 3100개의 녞드로 구성되얎 있윌며, 각 녾드는 랔록 크Ʞ의 두 배에 달하는 멀풀을 볎유하고 있습니닀. 넀튞워크가 몚든 새로욎 튞랜잭션의 수띜을 쀑닚하Ʞ 전에, 슀팞 튞랜잭션은 읎론적윌로 뚌저 몚든 녞드의 멀풀을 가득 채워알 합니닀.

랔록첎읞에서 확장성읎 얎렀욎 읎유는 묎엇읞가?

êž°ì¡Ž 서버 êž°ë°˜ 시슀템에서는 하나의 서버가 수요륌 감당할 수 없을 때 서버륌 추가하는 방식윌로 확장성을 싀현하는 겜우가 많습니닀. 읎륌 수평적 확장읎띌고 합니닀. 귞러나 랔록첎읞 넀튞워크는 닀륎게 작동하며 동음한 방식윌로 확장할 수 없습니닀.

랔록첎읞 넀튞워크에서는 몚든 녞드가 전첎 랔록첎읞의 사볞을 유지하며 합의 곌정에 찞여합니닀. 합의 곌정에는 닀음 랔록에 포핚될 튞랜잭션에 대핮 합의하고 몚든 녞드가 동음한 데읎터륌 볎유하도록 하는 곌정을 포핚합니닀. 읎는 랔록첎읞의 묎결성곌 볎안을 유지하는 데 맀우 쀑요합니닀.

랔록첎읞 넀튞워크에 더 많은 녞드륌 추가한닀고 í•Žì„œ 튞랜잭션 처늬 용량 잡멎에서 확장성읎 향상되는 것은 아닙니닀. 였히렀 넀튞워크 속도가 느렀질 수 있습니닀. 녞드가 추가될 때마닀 합의에 도달하는 데 필요한 통신량읎 슝가하여 랔록 생성 프로섞슀가 느렀질 수 있Ʞ 때묞입니닀.

따띌서 닚순히 랔록첎읞 넀튞워크에 녾드(또는 ‘서버’)륌 더 추가한닀고 í•Žì„œ 확장성읎 향상되는 것은 아닙니닀. 대신, 랔록첎읞 넀튞워크의 확장성은 샀딩(튞랜잭션 병렬 처늬), 레읎얎 2 솔룚션(였프첎읞 튞랜잭션), 합의 알고늬슘 최적화 등 닀양한 전략을 통핎 í•Žê²°í•Žì•Œ 하는 복잡한 묞제입니닀. 읎러한 솔룚션은 탈쀑앙화 특성곌 볎안을 손상시킀지 않윌멎서 넀튞워크가 쎈당 처늬할 수 있는 튞랜잭션 수륌 늘늬는 것을 목표로 합니닀.

큎띌읎얞튞-서버 몚덞에서 서버는 닚음 장애 지점입니닀. 서버가 닀욎되멎 전첎 시슀템에 액섞슀할 수 없게 됩니닀. 귞러나 랔록첎읞 넀튞워크에서는 쀑앙 Ʞꎀ읎나 쀑앙 서버가 졎재하지 않습니닀. 넀튞워크는 여러 녞드에 의핎 유지되며, 각 녾드는 전첎 랔록첎읞의 사볞을 볎유하고 있습니닀. 슉, 하나의 녞드에 장애가 발생하더띌도 넀튞워크는 계속 작동하여 쀑닚 없는 서비슀륌 볎장합니닀.

탈쀑앙화와 높은 확장성을 동시에 달성하Ʞ 얎렵닀는 점에서 랔록첎읞 튾멮레마는 몚든 팀듀읎 직멎하고 있는 곌제입니닀. 서버-큎띌읎얞튞 솔룚션의 겜우 확장성곌 슀팞 방얎는 비교적 간닚합니닀.

서버-큎띌읎얞튞 아킀텍처에서는 넀튞워크가 혌잡핎지멎 부하륌 ꎀ늬하Ʞ 위핎 몇 가지 전략을 사용할 수 있습니닀:

  • 조절(Throttling): 여Ʞ에는 서버가 요청을 처늬하는 속도륌 제한하는 방식을 포핚합니닀. 서버가 죌얎진 시간에 처늬할 수 있는 것볎닀 많은 요청을 받지 않도록 하여 서버 곌부하륌 방지하는 데 도움읎 됩니닀.
  • 부하 분산: 읎 Ʞ술은 넀튞워크 튞래픜을 여러 서버에 분산하여 닚음 서버가 너묎 많은 요청윌로 읞핎 곌부하가 걞늬지 않도록 합니닀.
  • 튞래픜 우선순위 지정: 음부 시슀템은 특정 유형의 튞래픜에 닀륞 튞래픜볎닀 우선순위륌 부여할 수 있습니닀. 예륌 듀얎, 동영상 슀튞늬밍 서비슀는 원활한 재생을 위핎 닀륞 유형의 데읎터볎닀 동영상 데읎터에 우선순위륌 부여할 수 있습니닀.
  • 튞랜잭션 삭제: 극닚적읞 겜우, 서버에 너묎 많은 요청읎 몰늬멎 서버가 수신 요청을 삭제할 수 있습니닀. 읎는 음반적윌로 서버 충돌을 방지하Ʞ 위한 최후의 수닚입니닀.

귞러나 읎러한 메컀니슘은 탈쀑앙화, 묎허가성, 개방성읎띌는 랔록첎읞 넀튞워크의 특성윌로 읞핎 직접적윌로 적용되지는 않습니닀:

  • 탈쀑앙화: 쀑앙 집쀑식 서버와 달늬 랔록첎읞 넀튞워크는 여러 녞드로 구성되며, 각 녾드는 전첎 랔록첎읞의 사볞을 유지합니닀. 읎는 조절읎나 부하 분산을 쀑앙에서 ꎀ늬할 수 없음을 의믞합니닀.
  • 묎허가성곌 개방성: 누구나 랔록첎읞 넀튞워크에 가입하여 찞여할 수 있윌며, 몚든 찞여자는 튞랜잭션을 제출할 동등한 권늬륌 가집니닀. 수수료에 따띌 거래의 우선순위륌 정할 수 있습니닀. 귞러나 넀튞워크는 부자듀만 읎용할 수 있는 배타적읞 넀튞워크가 될 수 있습니닀.
  • 공정성: 랔록첎읞 프로토윜은 튞랜잭션의 출처와 ꞈ액에 ꎀ계없읎 몚든 튞랜잭션읎 동등하게 처늬되도록 볎장합니닀.

쀑앙 집쀑식 시슀템에서는 닚음 서버 또는 서버 귞룹읎 서비슀 요청 속도륌 제얎(슀로틀링)하거나 여러 서버에 부하륌 분산(로드 밞런싱)하여 부하륌 ꎀ늬할 수 있습니닀. 하지만 탈쀑앙화된 랔록첎읞 넀튞워크에서는 읎러한 작업을 쀑앙에서 ꎀ늬할 수 없습니닀. 넀튞워크의 각 녞드가 요청을 처늬하고 읎러한 작업을 조정할 쀑앙 Ʞꎀ읎 없Ʞ 때묞입니닀.

귞러나 음부 프로젝튞는 높은 TPS륌 달성하Ʞ 위핎 합의륌 쀑앙 집쀑화하는 겜향읎 있습니닀.

랔록첎읞은 탈쀑앙화륌 통핎 공정성을 볎장합니닀. 슉, ì–Žë–€ 찞여자도 자신의 읎익을 위핎 시슀템을 조작할 수 없습니닀. 넀튞워크의 몚든 녾드는 랔록첎읞을 유지하는 데 있얎 동등한 권한곌 책임을 갖습니닀. 합의륌 쀑앙화하렀는 녞력은 녞드의 자윚성을 제한하는, 슉 시슀템의 불공정을 쎈래할 수 있습니닀.

심각한 슀팞 공격읎 발생하멎 녾드는 튞랜잭션을 폐Ʞ하거나 새로 듀얎였는 튞랜잭션의 수띜을 쀑닚할 수 있습니닀. 읎는 공정성 원칙에 위배되Ʞ 때묞에 읎상적읞 핎결책은 아닙니닀. 하지만 넀튞워크륌 볎혞하고 생졎을 볎장하Ʞ 위핎 필요한 조치입니닀.

넀튞워크에 연결된 몚든 장치, 슉 랔록첎읞 녾드는 자원읎 고갈되지 않도록 볎혞핎알 하며, 귞렇지 않윌멎 장치가 쀑닚될 수 있습니닀. 여러 녞드가 동시에 쀑닚되멎 전첎 시슀템의 Ʞ능읎 위험에 처할 수 있습니닀. 넀튞워크 재시작은 랔록첎읞의 선택 사항읎 아닙니닀.

귞러나 특정 녞드가 자윚적윌로 자원을 방얎하거나 쀑앙 Ʞꎀ읎 읎륌 수행하는 겜우띌멎 읎알Ʞ가 달띌집니닀.

튞랜잭션 처늬 속도(TPS)가 빠륞 랔록첎읞을 구축하고 서버-큎띌읎얞튞 아킀텍처와 유사한 슀팞 방지 메컀니슘을 통합하렀는 팀의 겜우, 종종 탈쀑앙화에서 타협핎알 합니닀. 합의 메컀니슘은 쀑앙 집쀑화 특성을 볎음 수 있습니닀. 쀑앙 집쀑화가 강화되멎 넀튞워크에서 슀팞에 대한 볎혞 조치의 개발읎 용읎핎집니닀.

칎륎닀녞는 슀팞에 대핮 얌마나 탄력적음까?

적절한 튞랜잭션 수수료와 더불얎 랔록첎읞 넀튞워크의 탈쀑앙화 구조는 슀팞 공격에 대한 얎느 정도 횚곌적읞 볎혞 장치 역할을 합니닀. 칎륎닀녞의 목표는 수띜된 몚든 튞랜잭션을 처늬하는 것입니닀.

칎륎닀녞가 새로 제출된 튞랜잭션을 수띜할 수 없는 겜우, 사용자는 슉시 알늌을 받고 재제출을 시도할 수 있습니닀.

칎륎닀녞 넀튞워크는 3,100개의 풀로 구성됩니닀. 랔록 생성 녾드 역할을 하는 각 풀은 음반적윌로 2~3개의 늎레읎 녞드에 연결되며, ê·ž 뒀에서 볎혞됩니닀. 읎러한 섀정은 랔록 생성 녞드와의 직접적읞 넀튞워크 통신을 찚닚합니닀. 늎레읎 녾드는 핵심 넀튞워크 녞드와 읞터넷 사읎의 쀑개자 역할을 하며, 핵심 랔록 생성 녾드 죌변 볎안 겜계륌 형성합니닀.

칎륎닀녞에서는 각 랔록 생성 녾드, 슉 풀읎 멀풀을 유지합니닀. 멀풀은 튞랜잭션읎 랔록에 포핚되Ʞ 전에 대Ʞ하는 곳입니닀. 멀풀의 크Ʞ는 현재 랔록 크Ʞ의 두 배로 섀정되얎 있윌며, ì•œ 600개의 표쀀 튞랜잭션 또는 더 적은 수의 더 크고 수수료가 높은 튞랜잭션을 볎유할 수 있습니닀.

멀풀은 넀튞워크 버퍌 역할을 하며 튞랜잭션을 랔록에 닎을 때 앜간의 지연읎 발생할 수 있습니닀. "선입 선출"로 욎영되는 멀풀의 튞랜잭션은 몚든 녞드로 확산되었닀는 가정 하에 닀음 두 랔록 읎낎에 새 랔록에 포핚되얎알 합니닀. 귞러나 넀튞워크가 혌잡한 시Ʞ에는 튞랜잭션읎 음부 멀풀에만 졎재할 수 있윌므로 새 랔록에 포핚되Ʞ까지 대Ʞ 시간읎 더 Ꞟ얎질 수 있습니닀.

튞랜잭션읎 제출되멎 늎레읎 녞드에서 랔록 생성 녞드로 새 튞랜잭션읎 전달됩니닀. 귞런 닀음 읎 튞랜잭션은 닀륞 몚든 랔록 생성 녞드로 확산되며, 읎 곌정은 늎레읎 녞드륌 통핎 읎룚얎집니닀. 튞랜잭션 확산을 위핎 녾드 간(NtN) 믞니 프로토윜읎 얎떻게 활용되는지 더 자섞히 섀명하겠습니닀.

튞랜잭션은 슉각적윌로 처늬되지 않습니닀. 대신 닀양한 넀튞워크 녞드에 걞쳐 멀풀에 저장됩니닀. 닀음 슬롯 늬더, 슉 새 랔록을 생성할 수 있는 권한을 부여받은 녾드는 멀풀에서 튞랜잭션을 검색하여 새 랔록에 포핚합니닀. 따띌서 칎륎닀녞 넀튞워크의 몚든 풀은 새로욎 랔록을 생성할 쀀비가 되얎 있윌며, 닚음 장애 지점을 제거하여 넀튞워크의 견고성을 향상시킵니닀.

첚부된 닀읎얎귞랚에서 늎레읎 녞드륌 통한 튞랜잭션의 점진적 확산(빚간색 화삎표로 표시)을 통핎 튞랜잭션(빚간색 박슀로 표시)읎 몚든 멀풀(녞란색 박슀로 표시)에 점진적윌로 도달하는 것을 ꎀ찰할 수 있습니닀.

특정 순간에 몚든 녞드에서 멀풀의 낎용은 닀륌 수 있습니닀. 읎는 여러 위치에서 동시에 튞랜잭션읎 제출되고, 튞랜잭션읎 전파되는 데 걞늬는 시간읎 닀륎Ʞ 때묞입니닀. 따띌서 각 멀풀은 고유하지만 맀우 유사한 튞랜잭션 집합을 포핚합니닀.

3,100개의 랔록 생성 녾드 쀑 각 녾드는 유사한 튞랜잭션 집합을 포핚하는 새로욎 랔록을 생성할 수 있는 가능성을 가지고 있습니닀. 닀음 슬롯 늬더로 선택된 녾드는 읎 새로욎 랔록을 생성하는 임묎륌 맡게 됩니닀.

칎륎닀녞는 수요 쀑심 프로토윜로 욎영됩니닀. 각 녾드는 듀얎였는 데읎터의 속도, 최대 동시성(동시 작업 수), 믞승읞 데읎터(전송되었지만 아직 승읞되지 않은 데읎터)의 양을 제얎합니닀. 슉, 각 녾드는 작업읎 부곌되는 것읎 아니띌 쀀비가 되었을 때만 추가 작업을 요청합니닀.

녾드 간(NtN) 프로토윜은 늎레읎 녞드륌 통핎 전첎 녾드 간의 튞랜잭션 전송을 용읎하게 합니닀. NtN은 3개의 믞니 프로토윜(chain-sync, block-fetch, tx-submission)을 포핚하며, 읎는 닚음 TCP 채널을 통핎 멀티플렉싱됩니닀.

NtN은 개시자 녞드가 새로욎 튞랜잭션을 요청하고 응답자 녞드가 가능한 겜우 튞랜잭션을 제공하는 풀 êž°ë°˜ 전략을 사용합니닀. 읎 프로토윜은 상대방의 자원 소비 공격윌로부터 양쪜을 몚두 볎혞핎알 하는 묎신뢰 환겜에 읎상적윌로 적합합니닀.

아래 닀읎얎귞랚에서 믞니 프로토윜을 통핎 풀 간 랔록 확산읎 얎떻게 읎룚얎지는지 ꎀ찰할 수 있습니닀. 앚늬슀는 녾드 1(빚간색 화삎표로 표시)에 튞랜잭션을 제출합니닀. 메몚늬 풀에 여유 공간읎 있는 녾드 2는 죌변 녞드에 튞랜잭션을 요청하Ʞ 시작합니닀. 녾드 2는 녾드 1에 요청을 전송하여 앚늬슀의 튞랜잭션을 획득합니닀(파란색 화삎표 1~6윌로 표시). 잠시 후 녾드 3도 같은 방식윌로 녾드 2에 요청을 볎냅니닀(파란색 화삎표 7~12). 읎제 앚늬슀의 튞랜잭션읎 몚든 멀풀에 졎재합니닀.

각 녾드는 튞랜잭션읎 늎레읎되Ʞ 전에 튞랜잭션의 유횚성을 검사할 책임읎 있습니닀. 녞드가 유횚하지 않거나 원치 않는 튞랜잭션을 전송하멎 닀륞 녞드에 의핎 연결읎 끊얎질 위험읎 있습니닀. 넀튞워크 연결을 유지하Ʞ 위핎 녾드는 닀륞 녞드와 연결하도록 선택할 수 있습니닀.

멀풀은 넀튞워크의 여러 지점에서 동시에 채워진닀는 점을 읎핎하는 것읎 쀑요합니닀. 수많은 사용자가 서로 닀륞 늎레읎 녞드륌 통핎 동시에 튞랜잭션을 제출합니닀. 읎러한 튞랜잭션은 믞니 프로토윜을 통핎 점진적윌로 전파됩니닀.

첚부된 귞늌에서 ì„ž 개의 멀풀읎 닚계별로 채워지는 곌정을 ꎀ찰할 수 있습니닀. 앚늬슀, ë°¥, 뎇은 각각 닀륞 위치에서 튞랜잭션을 제출합니닀. TIME-1에서 각 멀풀에는 하나의 튞랜잭션읎 포핚되얎 있습니닀. TIME-2가 되멎 녞드듀은 플얎 녞드로부터 튞랜잭션을 가젞옵니닀. 읎제 몚든 멀풀에는 하나의 뮇 튞랜잭션곌 두 개의 사용자 튞랜잭션읎 포핚됩니닀. ì–Žë–€ 녞드가 슬롯 늬더가 되든, 후속 랔록의 튞랜잭션 집합은 동음합니닀.

슀팞 공격 쀑에 ì–Žë–€ 음읎 발생하는지 자섞히 삎펎볎겠습니닀.

뎇은 유횚한 슀팞 튞랜잭션윌로 닚음 녞드륌 곌도하게 공격하여 핎당 녞드의 멀풀을 가득 채욞 수 있습니닀. 멀풀읎 포화 상태가 되멎 핎당 녾드는 새로욎 튞랜잭션 수띜을 쀑닚합니닀. 슉, 멀풀에 튞랜잭션을 추가하지 않습니닀.

닀륞 녾드는 멀풀에 여유 공간읎 있는 겜우에만 튞랜잭션을 가젞옵니닀. 읎듀읎 가젞였는 튞랜잭션은 뎇에 의핎 생성된 튞랜잭션곌 사용자로부터 생성된 튞랜잭션의 조합음 수 있습니닀.

녾드는 늎레읎 녞드륌 통핎 사용자 튞랜잭션을 받습니닀. 녞드가 멀풀을 채우Ʞ에 충분한 튞랜잭션을 가지고 있닀멎, 닀륞 녞드에서 튞랜잭션을 가젞올 필요가 없습니닀. 읎는 넀튞워크의 몚든 녞드에 대한 표쀀 방식입니닀. 뎇읎 닚음 녞드륌 표적윌로 삌는 겜우, 대부분의 사용자 튞랜잭션읎 후속 랔록에 포핚되는 것을 막을 수 없습니닀.

뎇읎 유횚한 슀팞 튞랜잭션윌로 더 많은 멀풀을 채우Ʞ 때묞에 공격 성공 확률은 뎇읎 표적윌로 삌는 녞드의 수에 따띌 슝가합니닀. 하지만 읎렇게 하멎 공격읎 상당히 복잡핎지고 비용읎 슝가합니닀.

뎇읎 생성한 튞랜잭션윌로 간죌하여 튞랜잭션을 거부하는 각 녾드는 Ʞ볞적윌로 넀튞워크의 닀륞 녞드륌 볎혞합니닀.

첚부된 귞늌에서 뎇읎 유횚한 슀팞 튞랜잭션을 녾드 1로 볎낎는 것을 볌 수 있습니닀. 녾드 1의 멀풀은 유횚한 슀팞 튞랜잭션윌로 가득 ì°° 것입니닀. 동시에 앚늬슀와 밥은 유횚한 사용자 튞랜잭션을 녾드 3윌로 볎냅니닀. 멀풀에 여유 공간읎 있는 녾드 3은 녾드 2에서 유횚한 슀팞 튞랜잭션을 하나만 가젞옵니닀. 녾드 3읎 닀음 띌욎드에서 슬롯 늬더가 되멎 랔록의 튞랜잭션 대부분읎 사용자의 튞랜잭션읎 됩니닀.

녾드 1 또는 녾드 2가 슬롯 늬더로 선택되멎 결곌 랔록은 슀팞 튞랜잭션윌로 채워집니닀. 귞러나 사용자가 튞랜잭션을 성공적윌로 멀풀에 제출할 수 있닀멎 몚든 튞랜잭션은 ê²°êµ­ 랔록에 포핚될 것입니닀.

볎시닀시플, 칎륎닀녞는 죌얎진 순간에 닀양한 녞드에 걞쳐 개별 멀풀의 용량만큌 튞랜잭션을 수띜합니닀. 읎는 슀팞 튞랜잭션곌 사용자 튞랜잭션을 구분하지 않습니닀.

새로욎 랔록을 수신하멎 녾드는 랔록 낎의 튞랜잭션을 검사하고 핎당 튞랜잭션을 멀풀에서 제거합니닀. 읎 작업은 멀풀의 공간을 확볎하여 녞드가 새로욎 튞랜잭션을 수띜할 수 있도록 합니닀.

몚든 멀풀에 동음한 슀팞 튞랜잭션읎 있는 겜우, 몚든 멀풀은 두 랔록 읎낎에 닀시 비워집니닀.

고유 슀팞 튞랜잭션읎 몚든 멀풀을 가득 채욎 겜우, 새로 생성된 두 랔록마닀 하나의 멀풀만 비워집니닀.

공격자가 장Ʞ간 새로욎 사용자 튞랜잭션의 제출을 막윌렀는 겜우, 몚든 멀풀을 고유 슀팞 튞랜잭션윌로 계속 채우렀고 시도핎알 합니닀. 멀풀읎 비워지멎 사용자는 공격자볎닀 뚌저 튞랜잭션을 제출할 수 있는 Ʞ회륌 가질 수 있습니닀.

공격자가 넀튞워크 낮 한 곳에서 슀팞 튞랜잭션을 제출하멎 특정 녞드의 멀풀읎 포화 상태가 될 수 있습니닀. 동시에 읎러한 슀팞 튞랜잭션은 잠시 지연된 후 읞접 녞드에 의핎 부분적윌로 풀링될 가능성읎 높습니닀. 귞러나 읎러한 튞랜잭션읎 새 랔록에 포핚되멎 여러 멀풀읎 동시에 비워지게 됩니닀. 멀늬 ë–šì–Žì ž 있는 녞드의 멀풀에는 사용자 튞랜잭션 비윚읎 더 높을 가능성읎 높습니닀.

대략적읞 슀팞 공격 비용

수치륌 자섞히 삎펎뎅시닀.

멀풀은 600개의 표쀀 튞랜잭션을 수용할 수 있습니닀. 현재 ADA의 시장 가치륌 가정하멎, 하나의 멀풀을 채우는 데 드는 튞랜잭션 수수료는 $50입니닀.

3,100개의 녞드가 각각 멀풀을 가지고 있닀멎 공격자가 몚든 멀풀을 동시에 고유 튞랜잭션윌로 채우는 데 드는 비용은 ì•œ $155,000가 됩니닀. 읎륌 위핎서는 180만 개의 튞랜잭션을 제출핎알 합니닀.

칎륎닀녞는 쎈당 15개의 표쀀 튞랜잭션을 처늬할 수 있윌며, 읎는 하룚에 ì•œ 130만 개의 튞랜잭션에 핎당합니닀. 슉, 하룚에서 몇 시간 낎에 칎륎닀녞는 멀풀의 몚든 고유 튞랜잭션을 처늬할 수 있습니닀.

귞러나 멀풀에 여유 공간읎 생Ʞ멎 사용자는 슉시 새로욎 튞랜잭션을 전송할 것입니닀. 읎렇게 새로 제출된 튞랜잭션 쀑 음부는 멀풀의 였래된 튞랜잭션볎닀 뚌저 처늬될 것입니닀. 따띌서 싀제로는 멀풀에서 몚든 슀팞 튞랜잭션을 삭제하는 데 시간읎 더 였래 걞늜니닀.

공격자는 공격을 연장할 수 있는 옵션읎 있습니닀.

ADA 윔읞의 시장 가치가 상승하멎 슀팞 공격을 싀행하는 데 드는 비용읎 슝가합니닀. 또한, 입력 볎슝자 구현을 통핎 칎륎닀녞의 튞랜잭션 처늬 속도(TPS)가 향상되멎 공격 비용은 더욱 슝가할 것입니닀. 튞랜잭션 처늬 속도가 빚띌지멎 공격자는 더 빠륞 속도로 유횚한 튞랜잭션(수수료 포핚)을 제출핎알 합니닀. 계잵별 가격 책정을 구현하멎 상위 계잵윌로 갈수록 튞랜잭션 가격읎 높아지Ʞ 때묞에 슀팞 거래에 대한 저항에 Ɥ정적읞 영향을 믞칩니닀.

ê²°ë¡ 

슀팞 튞랜잭션에 대한 복원력은 넀튞워크의 닀양한 녞드에서 튞랜잭션을 공평하게 수용하는 데 달렀 있닀는 점을 읎핎하는 것읎 쀑요합니닀. 넀튞워크가 혌잡한 상황에서도 사용자는 튞랜잭션을 슉시 제출할 수 있얎알 하며, 자신의 튞랜잭션읎 닀음 랔록 쀑 하나에 포핚될 것읎띌는 확신을 가질 수 있얎알 합니닀. 묌론 음부 사용자는 튞랜잭션을 제출하지 못할 수도 있습니닀. 균형 잡힌 튞랜잭션 수수료는 슀팞 튞랜잭션에 대한 최선의 볎혞책읎 될 수 있습니닀.

ì–Žë–€ 튞랜잭션을 거부할지 결정하거나 ì–Žë–€ 식윌로든 튞랜잭션 흐늄을 제한할 수 있는 권한을 가진 쀑앙 Ʞꎀ읎 있얎서는 안 됩니닀. 랔록첎읞 튞늎레마의 ꎀ점에서 볌 때, 탈쀑앙화륌 희생하지 않윌멎서도 높은 TPS륌 달성하는 것읎 곌제입니닀. 현재 TPS가 높고 튞랜잭션 수수료가 낮은 넀튞워크의 겜우 음반적윌로 쀑앙 집쀑화 요소가 포핚되얎 있음을 알 수 있습니닀.


* Source: https://cexplorer.io/article/understanding-resilient-of-cardano-against-spam-transactions
* Translation: Ilhun@CryptoVeri :twitter: enics_sky@naver.com