커뮤니티 논쟁: 사이드체인이 L2로 간주됩니까?
지난 5월 16일 이더리움 확장 솔루션 폴리곤(Polygon)의 시장가치가 암호화폐 시장가치 상위 20위권에 진입했고, 당시 스타크웨어(StarkWare) 공동 창업자인 우리 콜로드니(Uri Kolodny)가 축하 리트윗을 하면서도 동시에 “폴리곤은 사이드체인, L2 사이드체인의 보안은 이더리움에 달려있고, 사이드체인의 보안은 이더리움과 무관(혹은 더 낮음)합니다. 아니다.
Uri Kolodny의 의견에 대한 응답으로 Mihailo Bjelic은 다음과 같이 응답했습니다[1]. 우선 Polygon은 사이드 체인이 아니라 확장 솔루션의 집합입니다. 둘째(그리고 가장 중요한 것은) 기본적으로 L2가 PoS 사이드체인(저희 것이 커밋 체인임)보다 더 안전하다고 가정하는 것은 절대적으로 잘못된 것입니다. 이유를 설명하기 위해 Polygon의 PoS 체인과 StarkWare의 zkRollup 또는 Validium을 간단히 비교해 보겠습니다. 우리의 PoS 체인에는 자체 검증자 세트가 있지만 완전히 무허가 상태이며 28억 달러가 스테이킹되어 있습니다. 또한 구현은 전투 테스트를 거쳤습니다(사고가 없는 1,400만 블록). 그러나 StarkWare Rollup에는 PoA 연산자가 하나만 있습니다. 이 운영자는 충돌, 도망, 사용자 트랜잭션 검토 등을 할 수 있습니다. 그리고 검증되지 않은 새로운 암호화 기술인 STARKs에 의해 보호됩니다. 발리디움은 상황이 더 걱정스럽다. DeversiFi에서 사용하는 Validium 체계는 PoA 데이터 가용성 노드의 작은 세트에도 의존합니다. 이러한 노드는 데이터에 대한 액세스를 거부하여 일부 또는 모든 사용자가 자금을 인출하지 못하도록 공모할 수 있습니다. 위의 내용을 고려할 때 기본 L2가 사이드체인/커밋체인보다 더 안전하다는 생각은 잘못되었다고 생각합니다. Mihailo Bjelic의 답변에 대한 응답으로 커뮤니티는 1) 보안 측면에서 Layer-2와 사이드 체인의 차이점, 2) Layer-2가 Layer-1과 동일한 보안을 달성할 수 있는지 여부, 3) 차이점의 세 가지 관점에서 논의했습니다. 보안 측면에서 Eth2와 사이드 체인 사이. 커뮤니티의 혼란에 대해 이더리움 재단의 개발자인 Dankrad Feist는 "모두가 51% 공격에 대해 잘못 알고 있는 것"[2](아래 참조)이라는 기사를 게시했습니다. 1. 먼저 첫 번째 질문에 대해 Dankrad Feist는 동의하지 않고 L2가 기본 계층과 동일한 보안을 제공해야 하기 때문에 L2가 실제로 더 안전하다고 말했습니다. 반면 PoS 사이드체인은 약한 체인(보통 사이드체인)의 보안을 가지고 있습니다. [삼] James Prestwich도 토론[4]에 참여했습니다. 사이드 체인 전문: 비검열에 의존(사기 증명) 새로운 암호화 및 신뢰할 수 있는 설정(유효성 증명)에 대한 의존 또한 Starks는 신뢰할 수 있는 설정에 의존할 필요가 없습니다. 더 높은 하드웨어 및 대역폭 요구 사항
다음에서 Dankrad Feist는 "사이드체인은 유효성을 검증하지 않고 대다수의 합의 조건만 검증하며 데이터 가용성 검사가 없다"고 지적합니다. 일? "그 부분.
2. L2가 L1과 동일한 보안을 달성할 수 있는지 여부. Patrick McCorry [5]에 따르면 L2의 목표는 가능한 한 L1의 안전성에 근접하는 것이지만 정확히 동일하기를 원하는 것은 불가능합니다.
사기 증명은 묘책이 아닙니다. 특히 발급 수수료가 너무 높아서 보안이 더욱 취약한 경우에는 더욱 그렇습니다.
마찬가지로 영지식 증명은 만병통치약이 아니며 분류기가 오프라인 상태가 되어 L1이 대규모 출구를 처리할 수 없는 상황이 있을 수 있습니다.
그는 또한 L2 솔루션을 다음 네 가지로 요약할 수 있다고 언급했습니다.
데이터 가용성(위원회/롤업/등)
상태 전환 무결성(영지식 증명/사기 증명)
출금 무결성(출금 보장)
프로토콜 활동성(주문자 선택)
이 하이브리드 체계는 L1 보안을 완전히 달성하기 어렵습니다.
아래 기사에서 Dankrad Feist는 L1 보안을 달성하기 어려운 이유를 강조하기 위해 "블록체인의 보안 모델"을 설명합니다.
3. 그렇다면 Polygon의 PoS 체인은 Eth2의 PoS 메커니즘과 어떻게 비교됩니까? 토론에서 Dankrad Feist는 [5] 장기적으로 PoS 사이드 체인이 큰 숨겨진 위험이 될 것이라고 지적했습니다. Eth2에서 우리는 대부분의 정직성 가정을 제거하려고 노력하지만 PoS 브리징은 그렇게 할 수 없습니다.
보조 제목
51% 공격에 대해 모두가 잘못 알고 있는 것
제목의 도발을 용서하십시오. 분명히 모든 사람이 51% 공격을 잘못 이해한 것은 아니지만 상당수는 여전히 이해하지 못했으므로 이에 대한 기사를 작성하는 것이 나쁠 것은 없습니다.
누군가 비트코인, 이더리움 또는 기타 블록체인 컴퓨팅 성능의 50% 이상을 제어하는 한 네트워크에 대해 무엇이든 할 수 있습니다. PoS(Proof of Stake) 메커니즘에서 누군가가 전체 서약의 2/3를 모으는 한 타도 네트워크에 무엇이든 할 수 있습니다. ta는 다른 사람의 자산을 양도하고 마음대로 토큰을 발행하는 등의 작업을 할 수 있습니다.
이 생각은 잘못된 것입니다. 51% 공격이 할 수 있는 일은 다음과 같습니다.
공격자는 사용자가 블록체인을 사용하지 못하게 할 수 있습니다. 즉, 사용자가 원하지 않는 트랜잭션을 가로챌 수 있습니다. 이것을 검열이라고 합니다.
그들은 블록체인의 트랜잭션을 롤백할 수 있습니다. 즉, 특정 수의 블록을 실행 취소하고 트랜잭션 순서를 변경할 수 있습니다.
그들이 할 수 없는 것: 시스템의 규칙을 변경합니다. 이것은 다음을 의미합니다.
그들은 단순히 블록체인 시스템의 규칙 밖에서 새로운 토큰을 발행할 수 없습니다; 예를 들어 비트코인은 현재 새로운 블록 생산자당 6.25 BTC입니다.
주소에 대한 개인 키가 없으면 해당 주소의 토큰을 사용할 수 없습니다.
그들이 생성하는 블록은 합의 규칙이 지시하는 것보다 클 수 없습니다.
그것은 51% 공격이 나쁘지 않다는 것이 아니라 여전히 꽤 고약한 공격입니다. 거래를 재정렬하면 이중 지출이 발생할 수 있으며 이는 매우 심각한 문제입니다. 그러나 그들이 할 수 있는 일에는 여전히 한계가 있습니다.
보조 제목
블록체인 보안 모델
때때로 사람들은 가장 긴 체인이 유효한 비트코인 또는 이더리움 체인이라고 주장합니다. 이 진술은 완전하지 않습니다. 현재 체인 헤드의 올바른 정의는 다음과 같습니다.
총 난이도가 가장 높은 유효한 체인입니다.
따라서 클라이언트가 블록체인을 사용하여 현재 기록 데이터를 기록해야 한다는 조건을 수락하기 전에 두 가지 속성을 확인해야 합니다.
블록체인이 유효해야 합니다. 즉, 모든 상태 전환이 유효합니다. 예를 들어 비트코인에서 모든 트랜잭션은 이전에 사용되지 않은 트랜잭션 출력만 사용하고 코인베이스는 트랜잭션 수수료와 블록 보상만 받습니다.
가장 어려운 사슬임에 틀림없다. 평신도의 관점에서 이것은 가장 긴 체인이지만 "가장 긴"은 블록 수가 아니라 이 체인에 얼마나 많은 마이닝 파워가 사용되었는지로 측정됩니다.
다소 추상적으로 들릴 수 있습니다. 위의 첫 번째 조건, 즉 블록체인의 모든 블록이 유효한지 누가 확인할 것인지 질문할 이유가 있습니다. 광부들이 여전히 체인이 유효한지 확인한다면 그것은 단지 작업의 중복일 뿐이며 우리는 그것으로부터 실제로 아무것도 얻지 못합니다.
하지만 블록체인은 다릅니다. 일반적인 클라이언트/서버 데이터베이스 아키텍처부터 시작하여 그 이유를 분석해 보겠습니다.
일반적인 데이터베이스에서는 사용자가 데이터베이스 서버를 신뢰합니다. 응답이 올바른지 확인하지 않고 클라이언트가 프로토콜에 따라 유효한 형식인지 확인하는 것, 그게 전부입니다. 클라이언트(여기서는 빈 사각형으로 표시됨)는 "바보"입니다. 클라이언트는 아무 것도 확인할 수 없습니다.
그러나 블록체인의 아키텍처에서는 다음과 같습니다.
먼저 위의 다이어그램에 포함된 구성 요소를 요약하겠습니다. 첫 번째 채굴자(또는 스테이커)가 블록체인을 생산합니다. P2P(peer-to-peer) 네트워크는 일부 부정직한 노드가 있음에도 불구하고 모든 사람이 유효한 체인을 사용할 수 있도록 보장합니다(항상 동기화 상태를 유지하려면 정직하고 잘 연결된 P2P 노드 하나 이상에 연결해야 함). 유효한 사슬로). 마지막으로 클라이언트는 트랜잭션을 P2P 네트워크로 보내고 네트워크의 다른 노드에서 최신 체인 업데이트(또는 동기화 중인 경우 전체 체인)를 받습니다. 클라이언트는 실제로 네트워크의 일부이며 블록 및 트랜잭션을 전달하여 기여하지만 여기서는 그다지 중요하지 않습니다.
중요한 부분은 사용자가 위 이미지에서 클라이언트의 막대로 표시되는 전체 노드를 실행하고 있다는 것입니다. 클라이언트가 새 블록을 얻을 때마다 다른 노드와 마찬가지로 채굴자이든 P2P 네트워크의 노드이든 이러한 클라이언트는 블록이 유효한 상태 전환인지 확인합니다.
이것이 유효한 상태 전환이 아닌 경우 블록이 무시됩니다. 이것이 네트워크의 채굴자가 잘못된 상태 전환을 채굴하려고 시도하는 것이 이치에 맞지 않는 이유입니다. 다들 그냥 무시합니다.
보조 제목
예: 삼권분립
그것은 민주주의에서 권력 분립과 약간 비슷합니다. 정부에는 여러 가지 부서가 있고, 입법부와 같이 한 부서에서 다수를 차지한다고 해서 원하는 것은 무엇이든 할 수 있고 모든 법을 무시할 수 있다는 의미는 아닙니다. 마찬가지로 채굴자나 스테이커는 블록체인에서 트랜잭션을 주문할 수 있는 권한이 있지만 커뮤니티에 새로운 규칙을 쉽게 적용할 수 있는 권한이 없습니다.
하지만 모든 블록체인이 이렇게 작동합니까?하지만 모든 블록체인이 이렇게 작동합니까?
그건 좋은 질문이야. 주목해야 할 중요한 점은 위에서 설명한 모델이 전체 노드를 실행하기 쉬운 경우에만 작동한다는 것입니다. 일반 사용자로서 풀 노드를 실행하기 위해 다른 컴퓨터를 구입하는 데 $5000를 지출해야 하고 항상 1GBit/s 네트워크 연결이 필요한 경우 풀 노드 실행을 선택하지 않을 것입니다. 어떤 곳에서는 이 네트워크 요구 사항을 충족할 수 있지만 자체 블록체인 노드를 실행하기 위해 영구적으로 유지 관리하는 것은 그리 편리하지 않을 수 있습니다. 이 경우 일반 사용자는 노드 자체를 실행하도록 선택하지 않을 가능성이 매우 높으며(트랜잭션이 매우 중요하지 않은 경우), 이는 그가 다른 사람이 자신을 위해 이 작업을 수행하도록 신뢰한다는 것을 의미합니다.
스테이커와 거래소만이 풀 노드를 운영할 정도로 운영 비용이 너무 많이 드는 체인이 있다고 가정합니다. 방금 신뢰 모델을 변경한 후 대다수의 스테이커와 거래소가 함께 모여 합의 규칙을 변경할 수 있었습니다. 사용자는 이에 대해 논쟁의 여지가 없습니다. 사용자가 체인을 전혀 제어할 수 없는 경우 포크를 시작할 수 없습니다. 그들은 이전 규칙을 고수할 수 있지만 전체 노드 실행을 시작하지 않는 한 원하는 체인(합의 요구 사항을 충족하는 체인)에서 요청이 응답되고 있는지 알 수 없습니다.
보조 제목
라이트 클라이언트는 어떻게 작동합니까?
하지만 사용자가 암호화폐로 커피 값을 지불하기만 한다면 어떻게 될까요? Ta는 전화에서 전체 노드를 실행해야 합니까?
물론 아무도 이 작업을 원하지 않으며 사용자도 마찬가지입니다. 그런 다음 라이트 클라이언트가 작동할 때입니다. 라이트 클라이언트는 전체 체인을 검증할 필요가 없는 단순한 클라이언트입니다. 전체 난이도 또는 투표된 스테이크 양과 같은 합의만 검증합니다.
즉, 라이트 클라이언트는 유효하지 않은 블록이 포함된 체인을 따르도록 속입니다. 데이터 가용성 확인 및 사기 증거와 같은 이에 대한 해결책이 있습니다. 내가 아는 한, 아직 이것을 구현한 체인은 없지만 적어도 이더리움은 미래에 그렇게 할 것입니다.
보조 제목
사이드체인은 어떻게 작동합니까?
사이드 체인은 현재 뜨거운 주제입니다. 롤업만큼 복잡하지 않고 간단한 스케일링 솔루션을 제공하는 것 같습니다. 요컨대:
새로운 PoS 체인 생성
자신과 이더리움 사이에 양방향 브리지 생성
…
집중하다! 사이드 체인의 보안은 거의 전적으로 하나의 체인이 다른 체인의 상태를 읽을 수 있도록 하는 구조인 브리징에 의존합니다. 결국 공격자가 메인 체인의 브리지를 속여 브리지 체인의 모든 자산을 소유할 수 있다면 PoS 체인의 전체 노드가 이의를 제기하더라도 방법이 없습니다. 따라서 모든 것은 다리에 달려 있습니다.
아쉽게도 브리지의 상태는 라이트 클라이언트의 상태와 동일합니다. 유효성을 확인하지 않고 대다수의 합의 조건만 확인합니다. 그러나 사이드체인은 두 가지 측면에서 라이트 클라이언트보다 나쁩니다.
브리지는 대부분의 사용자가 가능한 경우 전체 노드를 선택하는 매우 높은 가치의 트랜잭션에 사용됩니다.
안타깝게도 우리는 브리지를 강화할 수 있는 방법이 없지만 라이트 클라이언트에 대해서는 이 작업을 수행할 수 있습니다. 그 이유는 클라이언트가 데이터 가용성 확인을 검증할 수 없기 때문입니다.
두 번째 요점은 매우 미묘하며 한두 개의 기사로 설명할 수 있습니다. 그러나 간단히 말해서 브리지는 데이터 가용성 확인을 수행할 수 없으며 데이터 가용성 확인 없이 사기 증명은 거의 쓸모가 없습니다. 그리고 영지식 증명을 사용하는 경우 이 문제를 개선하기 위해 브리지에 모든 유효한 블록의 증명을 포장하도록 요청할 수 있습니다. 불행히도 이것은 여전히 데이터 가용성에 의해 공격받을 수 있지만 개선이기도 합니다.
보조 제목
이러한 모든 문제를 샤딩으로 해결해야 합니까?
보조 제목
하지만 누군가 과거 데이터를 모두 취소하면 어떻게 될까요? 그러면 여전히 모든 비트코인/ETH 등을 훔칠 수 있습니다.
이론적으로 체크포인트가 없는 PoW 체인에서는 모든 트랜잭션을 롤백하여 비트코인을 도난당할 수 있습니다. 네, 1조 비트코인을 발행할 수는 없지만 존재하는 모든 비트코인을 훔칠 수는 있습니다. 그것도 괜찮죠?
나는 이것이 매우 이론적이라고 생각합니다. 커뮤니티가 몇 년 동안(또는 단 몇 시간 동안) 데이터를 수정하는 포크를 받아들일 가능성은 거의 없습니다. 가능한 모든 포크에는 유효한 체인이 존재한다는 데만 동의하면서 신속하게 결론에 도달하고 포크를 거부하는 대규모 스크램블이 있을 것입니다.
PoS 및 종료를 통해 이 메커니즘이 공식화됩니다. 클라이언트는 종료된 블록을 롤백할 수 없습니다.
[1] https://twitter.com/MihailoBjelic/status/1393686451255226368
[2] https://dankradfeist.de/ethereum/2021/05/20/what-everyone-gets-wrong-about-51percent-attacks.html
[3] https://twitter.com/dankrad/status/1393721324300865537?s=20
[4] https://twitter.com/_prestwich/status/1393730794238005253
[5] https://twitter.com/stonecoldpat0/status/1393869662572748801


