
이 기사는 Decentralized Financial Community, 저자: ChinaDeFi, 승인을 받아 재인쇄되었습니다.
Arbitrum Rollup은 온체인 이더리움 계약에 의해 관리되는 오프체인 프로토콜입니다. dApp 개발자는 Solidity로 작성된 일련의 계약을 가지고 있으며 개발자는 Arbitrum 가상 머신(VM)으로 컴파일하여 Arbitrum 롤업에서 실행합니다. 우리는 그들이 빨리 실행되기를 원합니다.
롤업의 기본
기본부터 시작하겠습니다. VM의 상태는 Merkle 트리로 구성되므로 VM 상태의 암호화 해시를 계산할 수 있습니다. 프로토콜의 어느 지점에서든 VM의 일부 상태가 완전히 확인됩니다. 해시는 온체인에 저장됩니다.
프로토콜 참가자는 일부 기술적 전제 조건 하에서 특정 상태 해시로 시작하여 VM이 지정된 수의 계산 단계를 수행하여 지정된 새 상태 해시를 생성할 수 있다고 주장하는 분쟁 주장(DA)을 할 수 있습니다. 지정된 결제를 수행하고 해당 계산 중에 지정된 로그 이벤트를 내보냅니다. DA는 유효(예: 실제)하거나 유효하지 않을 수 있습니다. DA를 작성하는 당사자는 DA의 유효성을 기탁해야 합니다.
경쟁적 어설션은 프로토콜에 대한 결정 지점을 생성합니다.
왼쪽에 표시된 것처럼 경쟁 주장은 프로토콜이 결국 해결되어야 하는 논리적 결정 지점을 생성합니다. DA가 유효한 경우 시스템은 오른쪽 상단 모서리에 새로운 상태 해시와 DA에 지정된 부작용(결제 및 로그)이 있는 새로운 상태로 들어갑니다. 또는 다른 지점에서 DA가 유효하지 않아 거부되고 상태가 동일하게 유지됩니다.
이전 Arbitrum 프로토콜
원래 Arbitrum 프로토콜은 분쟁 주장을 한 번에 하나씩 처리합니다. DA는 누군가에 의해 소유권이 주장되고 누구나 DA에 도전할 수 있는 도전 기간이 지나게 됩니다. 이의가 없으면 DA가 확정되고 그렇지 않으면 분쟁 프로토콜이 실행되고 DA가 취소됩니다.
간단하지만 두 가지 단점이 있습니다. 첫째, 한 번에 하나의 DA만 활성화될 수 있으므로 VM의 프로세스 속도가 제한됩니다. 기본적으로 프로세스는 각 챌린지 중에 중지해야 합니다. 둘째, 악의적인 행위자는 해당 VM에서 생성된 모든 DA에 의도적으로 도전하여 VM을 정지시킬 수 있습니다. 이로 인해 공격자에게 다양한 비용이 발생하지만 해당 비용을 지불할 의향이 있는 경우 최소한 일부 경우에는 진행을 오랫동안 지연시킬 수 있습니다.
새롭게 개선된 Arbitrum 프로토콜
새로운 Arbitrum Rollup 프로토콜은 이러한 단점을 모두 해결합니다. 유효성 검사기의 계산이 VM을 에뮬레이션하는 것처럼 VM이 빠르게 진행될 수 있도록 여러 DA를 "파이프라인"할 수 있습니다. 둘째, 아래에서 볼 수 있듯이 "악의적인 행위자는 진행 속도를 늦출 수 없으며 정직한 행위자에 대해 이미 "신뢰할 수 없는 결과"인 결과에 대한 온체인 인식을 일시적으로 지연시킬 수 있습니다.
이것이 어떻게 가능한지?
각 상태에는 최대 하나의 DA가 뒤따를 수 있습니다. DA가 상태를 따르지 않으면 누구나 이를 따르는 DA를 만들 수 있으므로 새 분기점을 만들 수 있습니다. 결과는 가능한 미래 트리일 수 있습니다.
약속
약속
프로토콜의 또 다른 중요한 부분은 스테이킹입니다. 누구나 나무 위의 네모난 상자에 걸 수 있습니다. 스퀘어를 스테이킹함으로써 사용자는 스퀘어가 결국 프로토콜에 의해 확인될 것이라고 주장할 수 있습니다. 사용자는 현재 상태에서 자신이 배치한 사각형까지의 경로에 있는 각 DA에서 올바른 분기를 취했다고 주장합니다. 잘못하면 사용자가 지분 예치금을 잃을 수 있습니다.
서약 작업은 취소할 수 없습니다. 사용자는 예치금을 오른쪽(각 지점에서 위 또는 아래)으로 이동할 수 있지만 왼쪽으로는 이동할 수 없습니다. 이는 이전 약속을 취소하는 것과 같습니다.
분쟁 중인 클레임을 제기하는 당사자는 해당 DA의 "DA 유효한" 승계인에게 지분을 주어야 합니다. 일반적으로 기존 항목을 오른쪽으로 이동하여 원하는 후속 사각형에 배치하여 이 요구 사항을 충족할 수 있습니다. (드물게 이 작업을 수행할 수 없는 경우 원하는 사각형에 추가 마진을 걸 수 있습니다. 그러나 일치하지 않는 두 경로에 걸게 되므로 결국 두 경로 중 적어도 하나를 잃게 됩니다. 서약 - 자신과 모순되는 것은 현명하지 않습니다.)
서약에 대한 또 다른 세부 사항은 다음과 같습니다. 사용자가 서약한 블록이 확인되고 승인된 기록이 되면 사용자는 서약 예치금을 인출할 수 있습니다. 즉, 사용자가 맞다면 지분을 유지하고 시스템이 자신을 "따라잡을" 때까지 기다린 다음 사용자가 지분을 되찾을 수 있습니다.
보다 일반적인 상태 트리 - 일련의 진정한 어설션
이 시점에서 사용자는 가능성 트리가 매우 커지고 분기될 수 있다고 우려할 수 있습니다. 이는 여러 당사자가 서로 일치하지 않는 결과에 지분을 요구하기 때문에 실제로는 발생하지 않을 것입니다. 하나만 맞을 수 있고 다른 모든 사람들은 지분 유대를 잃습니다. 아마도 "트리"는 실제로 유효한 DA 체인이며 모두 동일한 결과에 걸려 있습니다.
서약 마감
너무 오래 걸리기 전에 각 분쟁 주장에 대한 결정에 도달하는 시스템이 필요합니다. 따라서 DA가 체인에 추가되어 분기점을 생성하면 이 DA와 만료 날짜가 연결됩니다. 앞으로 마감일이 충분히 길면 모든 사람이 DA가 유효한지 확인할 시간을 갖게 될 것이며, 그렇게 하기로 선택하면 DA의 결과에 대한 온체인 트랜잭션을 얻을 것입니다. 누구든지 이 DA의 타당성을 지지하거나 반대하려면 마감일 전에 그렇게 해야 합니다. (Staking bond는 마감일 이후에도 도입할 수 있지만 DA 지원 여부 결정에는 관여하지 않습니다.) 마감일에 도달하면 결정 DA와 관련된 모든 지분 채권이 알려집니다.
논쟁
Alice와 Bob이 서로 다른 사각형에 내기를 걸면 두 가지 중 하나가 참이 됩니다. 둘 중 하나에서 다른 하나까지 오른쪽으로 향하는 경로가 있거나(그들의 주장이 서로 일치함을 의미) 그렇지 않으면 그러한 경로가 없을 것입니다. Alice와 Bob의 사각형을 연결하는 오른쪽 이동 경로가 없으면 어떤 식으로든 분기해야 합니다. 그들 사이에는 항상 고유한 경합 지점이 있습니다. 하나는 스테이킹된 것이 유효하고 다른 하나는 유효하지 않은 고유한 DA입니다.
Alice와 Bob은 분쟁을 준비하고 있습니다.
두 당사자 간에 분쟁이 발생하면 시스템은 두 당사자 간의 대화형 분쟁 해결 프로토콜을 시작할 수 있습니다.
분쟁 해결 합의 결과 한 당사자가 잘못된 것으로 판명됩니다. 그 당사자는 서약 채권을 잃게 됩니다. 서약 채권은 해당 광장에서 청산됩니다. 일부는 분쟁 상대방에게 가고 나머지는 소각됩니다.
여러 분쟁이 동시에 진행될 수 있지만 각 스테이커는 한 번에 최대 하나의 분쟁에만 참여할 수 있습니다. 각 분쟁은 패자의 지분 보증금이 지워지기 때문에 시스템의 불일치 횟수를 줄입니다. 보증금을 잃은 당사자는 원하는 경우 다시 스테이킹할 수 있지만, 새로운 보증금은 약속 기간이 지난 DA에 영향을 미치지 않습니다. 이것의 결론은 DA의 스테이킹 기간이 지나면 DA를 어떻게 취급해야 하는지에 대한 분쟁이 점차 해결될 것이라는 것입니다.
결과 확인
DA의 스테이킹 기한이 지나고 남아 있는 모든 적시(설정된 스테이킹 기한 이전) 스테이크가 해당 DA의 동일한 포크에 있으면 시스템은 해당 DA의 결과를 확인할 수 있습니다. DA는 수락되거나 거부되며 현재 상태는 DA 오른쪽의 적절한 사각형으로 이동합니다. DA가 유효한 것으로 확인되면 그 부작용(예: 지불)이 온체인에서 구현되며 이것이 VM의 상태가 진행되는 방식입니다.
일반적으로 당사자들은 거짓 청구로 지분을 잃고 싶지 않기 때문에 정직하게 행동할 것입니다. 단일 체인에서는 유효한 DA만 어설션되며 유효하지 않은 DA 포크에는 아무도 스테이킹하지 않습니다. 이 경우 각 DA는 스테이킹 기간이 만료되면 즉시 확인할 수 있습니다.
신뢰할 수 없는 이유
Arbitrum Rollup의 중요한 속성은 신뢰할 수 없다는 것입니다. 정직한 당사자는 VM이 올바르게 작동하고 진행하도록 강제할 수 있습니다. 그 이유는 앨리스가 항상 각 DA의 실제 가지에 걸고 있고 트리가 비어 있으면 앨리스가 DA를 주장한다고 상상해 보십시오.
Alice는 실제 지점에 걸려 있기 때문에 그녀가 참여하는 모든 분쟁에서 승리합니다. 다른 사람들이 Alice에 동의하지 않는 경우, 그들은 (a) 제3자와 관련 없는 분쟁에서 지분 유대를 잃거나, (b) 결국 Alice와 분쟁을 일으키고 그녀에 대한 유대를 잃습니다. 어느 쪽이든 Alice에 동의하지 않는 모든 사람은 지분 채권을 잃게 됩니다. 앨리스의 의견에 동의하는 사람만이 살아남을 것이므로 결국 앨리스의 경로는 시간에 걸린 유일한 사람이 될 것입니다. 앨리스의 경로도 확인됩니다.
앨리스가 정직하다면 남들이 어떻게 하든 결국 녹색 네모가 확정될 것이다.
이 경우 시스템은 신뢰할 수 없기 때문에 Alice가 사각형에 스테이킹하고 해당 사각형에 대한 경로가 실제임을 알고 있으면 Alice는 자신이 있는 사각형이 결국 확인될 것이라고 확신할 수 있습니다. Alice에게는 이 경로가 최종 경로만큼이나 좋습니다.
사용자가 경로에 스테이킹하지 않더라도 그 경로에 스테이킹하는 여러 사람을 보고 사용자 자신이 그 중 적어도 한 사람이 정직하다고 믿는다면 이 경로는 최종 경로와 동일합니다.
불신 결과의 이점
신뢰할 수 없는 결과가 가치 있는 이유 이 고전적인 예는 다른 롤업 프로토콜에 대한 이전 논의에서 나온 것입니다. VM이 Alice에게 일정 금액을 지불하려고 한다고 가정합니다. 결제 이벤트는 정직한 경로로 이루어지지만 결제가 발생한 스퀘어의 온체인 확인까지는 시간이 좀 걸립니다.
불신의 결과 앨리스는 자신의 돈에 즉시 접근할 수 있습니다. Bob이 언스테이킹된 돈을 가지고 있다면 Alice가 미래의 확인되지 않은 지불을 Bob에게 할당하는 대가로 즉시 그것을 Alice에게 줄 수 있습니다(또한 Bob에게 최소 수수료를 지불함). Bob은 정직한 결과에 걸림으로써 이를 보장할 수 있습니다. 그런 다음 지불이 최종적으로 확인될 때까지 자신 있게 기다릴 수 있습니다. 이것을 할 수 있는 사람은 Bob만이 아닙니다. 채권이 있는 사람은 누구나 앨리스와 그녀와 같은 다른 사람들에게 같은 방식으로 빌려줄 수 있습니다. 이 사람들은 더 낮은 수수료를 제공함으로써 앨리스의 채권 획득 비용을 낮춤으로써 서로 경쟁할 수 있습니다.
요점은 이 시장 메커니즘의 생존 가능성이 무신뢰의 최종 결과에 달려 있다는 것입니다. "모든 사람"이 무언가가 결국 확인될 것이라는 것을 이미 알고 있다면 온체인 확인 지연은 성가신 일이 아닙니다.
이는 결제뿐만 아니라 VM이 수행하는 다른 작업에도 적용됩니다. VM이 어떤 일이 발생했음을 알리는 로그 항목을 내보내는 경우 무신뢰 결과는 누구나 로그 항목이 온체인에서 식별될 것이라고 확신할 수 있음을 의미합니다.
지연된 공격
시스템은 신뢰할 수 없기 때문에 악의적인 행위자는 잘못된 결과를 강요할 수 없습니다. 그들이 할 수 있는 것은 프로세스 속도를 늦추는 것뿐입니다. 그렇게 하려면 스테이킹 보증금을 희생해야 하며 스테이킹 보증금이 크면 비용이 많이 들 수 있습니다.
누군가가 지연 공격을 시작하기를 원한다고 가정하면 그들은 서약 채권을 희생할 용의가 있습니다. 그들이 할 수 있는 최악의 피해는 무엇입니까?
가장 먼저 주목해야 할 점은 악의적인 행위자가 정직한 행위자가 계속해서 정직한 가지를 만드는 것을 막을 수 없다는 것입니다. 또한 정직한 트러스터가 최종적으로 정직한 포크를 확인할 때 신뢰할 수 없는 신뢰를 얻는 것을 막을 수 없습니다.
공격자가 할 수 있는 일은 정직한 경로의 온체인 확인을 지연시키기 위해 가짜 브랜치에 지분을 거는 것뿐입니다. 그들이 배치하는 모든 지분은 공격자의 지분 예치금의 상당 부분을 가져가는 정직한 행위자에게 더 많은 분쟁을 야기합니다. 공격자의 지분 채권을 모두 가져가면 온체인 프로세스가 계속됩니다.
공격자가 잘못된 결과에 여러 가지 위험을 부과하면 이러한 약속된 예치금은 분쟁에서 하나씩 제거됩니다. 여러 사람이 정직한 결과에 참여하면 그 사람들은 모두 공격자와 분쟁을 개시하여 동시에 공격자의 서약 채권을 빼앗을 수 있습니다. 모든 사람이 무슨 일이 일어나고 있는지 명확하게 볼 수 있으며 많은 사람들이 행동에 참여하기를 원할 것이며 실제 결과에 지분을 가하여 공격자를 강탈하기 위해 논쟁을 사용하는 사람들의 군중에 합류할 수 있습니다. 모기지 열풍. 정직한 편에 K명이 스테이킹되어 있는 경우 공격자는 K개의 스테이킹된 예치금을 사용하여 분쟁 지연을 구매합니다. 이것은 공격자가 더 큰 지분 예치금을 걸면 더 많은 정직한 지분을 유치할 수 있습니다. 이것은 공격자에게 나쁜 역학입니다.
최적화
다양한 최적화를 통해 프로토콜을 운영하는 데 필요한 온체인 부기의 양을 줄이고 온체인 가스 비용을 줄일 수 있습니다.