BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

"사이드 체인"을 이해하는 일품

以太坊爱好者
特邀专栏作者
이 기사는 약 3531자로, 전체를 읽는 데 약 6분이 소요됩니다
사이드체인에는 더 넓은 이더리움 커뮤니티가 기대하는 보안이 없습니다.
AI 요약
사이드체인에는 더 넓은 이더리움 커뮤니티가 기대하는 보안이 없습니다.

편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)편집자 주: 이 기사의 출처는

이더리움 애호가(ID: ethfans)

, 저자: barryWhiteHat, 번역: A Jian, 승인을 받아 Odaily에서 재인쇄함.

소개

면책 조항: 여기에 표현된 의견은 본인의 의견이며 반드시 본인의 고용주 또는 다른 사람의 의견을 대변하지는 않습니다.

읽고 댓글을 달아준 Albert Ni에게 감사드립니다.

소개

Ethereum에 대한 Layer-2의 중요성은 날로 증가하고 있으며 합의가 있습니다.

그러나 "Layer-2"는 부정확한 레이블입니다. 어떤 사람들이 "Layer-2"에 대해 이야기할 때 그들은 단지 "Ethereum Layer-1에 없는 것"을 의미합니다. 그러나 실제로 솔루션이 Ethereum Layer-1과 상호 작용하는 방식은 매우 중요합니다. 동일한 "Layer-2" 이름 하의 서로 다른 솔루션의 특성은 매우 다를 수 있습니다. "Layer-2"는 특정 속성을 가진 것을 가리켜야 한다고 주장할 수 있습니다(예: AWS에 배포된 것이 Layer-2가 아니라는 데 모두 동의할 수 있지만 유사한 보안 보장이 있는 일부 프로젝트도 있습니다. Layer-2)로 간주됩니다. 그러나 이것은 여기서 내 논의의 주제가 아닙니다.

여기서 논의할 것은 사이드체인의 속성입니다.

사이드 체인의 기본 의미는 검증자 그룹이 체인의 최신 상태를 (메인 체인의) 스마트 계약에 제출하여 일종의 시스템을 촉진한다는 것입니다. 이러한 (최신) 체크포인트는 브리지 계약에서 사용자 입금 및 인출을 지원하는 데 사용할 수 있습니다. 일반적으로 말하면 PoA 권한 증명 알고리즘 및 PoS 알고리즘과 같은 특정 순간에 사이드 체인 블록을 생성할 사람을 결정하기 위해 이 검증자 그룹 간에 리더 선출 프로세스가 있을 것입니다. (번역자 주: 이 정의에서 저자가 논의하고 있는 것은 메인 체인에 유효성 보장 메커니즘이 설계되지 않은 사이드 체인이라는 것을 알 수 있습니다. 현재 "사이드 체인"의 광범위한 정의에 따르면 저자는 는 일반화된 사이드 체인에 대해 논의하고 있습니다. 그러나 원래의 "사이드 체인", 즉 사이드 체인의 좁은 개념은 저자가 여기서 제시하는 것과 정확히 동일합니다. "사이드 체인을 사용할 의향이 있는지 여부에 달려 있습니다. "를 고유 명사로 사용하거나 파생된 의미를 기꺼이 사용합니다.)

  • 사이드체인은 또한 이더리움 생태계에서 중요한 역할을 합니다. 연구원이 더 나은 것을 개발할 때까지 확장성과 유용성을 위한 임시 수정입니다. xDai와 같은 제품도 더 나은 사용자 경험에 대한 필요성을 지적하고 확산합니다.

  • 그러나 사이드체인에는 더 넓은 이더리움 커뮤니티가 기대하는 보안이 없습니다. 그렇다고 사이드체인을 절대 사용해서는 안된다는 말은 아닙니다. 사람들이 충분한 정보를 얻었지만 기꺼이 사용할 의향이 있다면 그것은 그들의 선택이며 그만한 가치가 있을 것입니다. 그러나 사람들이 알지 못하면 위험합니다. 이 문서는 몇 가지 정보를 제공하기 위한 것입니다. 모든 사람이 이미 이러한 기능을 완전히 알고 있다면 다른 기사를 작성하는 것이 나에게 해가 되지 않습니다. 그러나이 기사가 사람들이 오해를 깨닫는 데 도움이 될 수 있다면 좋은 일이 될 것입니다.

  • 그렇다면 사이드체인에는 어떤 보안 기능이 없을까요? 거의 모든 사이드체인은 다음을 제공할 수 없습니다.

검열 저항

최종성

자금 소유권 보장

이 모든 기능을 원한다면 사이드 체인을 대체할 다른 솔루션을 찾아야 할 수도 있습니다. 물론 사이드체인의 핵심 아키텍처를 유지하면서 이러한 차원에서 특정 솔루션의 성능을 향상시키는 것도 가능합니다.

저는 열린 토론이 모두에게 좋다고 생각합니다.

검열 저항

확실히, 사이드체인은 (잘 설계된) 블록체인보다 검열 저항성이 낮습니다. 그렇지 않으면 블록체인이 전혀 필요하지 않습니다. 그러나 여기서 우리는 조금 더 깊이 파헤칩니다.

특정 사이드 체인에 N개의 검증자가 있고 M개의 검증자가 만장일치로 동의하는 한 모든 트랜잭션을 검토할 수 있는 경우 (NM)개의 검증자만 블록을 검토하기 위해 연합하면 됩니다. 이는 흥미로운 딜레마로 이어집니다. 트랜잭션을 검열하기 어렵게 만들면 블록을 검열하기가 더 쉬워집니다. 트랜잭션 검열과 블록 검열은 나쁜 것이기 때문에 사이드체인은 근본적으로 강력한 검열 저항을 달성할 수 없습니다. NM 검증자가 동의하는 한 임의로 블록을 생성할 수 있다는 것(특정 블록이 아닌 다른 콘텐츠를 포함하는 블록이거나 그룹 플레이조차 사라지는 경우).

  • 이 문제는 PoS를 사용하는 경우에도 지속되며 스테이크별로 블록 가중치를 계산하더라도 임계값에 도달하는 독립 엔티티의 수가 더 적을 수 있기 때문에 상황을 악화시킵니다(전체 지분이 균등하게 분배되는 최상의 경우에도 PoS가 없는 것과 동일합니다. , 나아지지 않을 것입니다).

  • 데이터 가용성 보장

  • (NM) 검증자만 블록을 생성할 수 있다고 가정합니다. 추가로 다른 모든 유효성 검사기가 새 상태의 유효성을 검사할 수 있으려면 전체 상태 데이터가 필요하다고 가정합니다. 그런 다음 (NM) 유효성 검사기가 악의적인 한 다음을 수행할 수 있습니다.

새 블록 생성

정직한 검증자와 블록 데이터 공유 거부

본질적으로 합의 과정에서 N-(NM) = M 정직한 검증자를 제거하여 시스템을 완전히 제어합니다.

이것이 일어날 가능성은 얼마나 됩니까? 결론을 내리기 위해서는 분명히 더 구체적인 세부 사항이 필요하지만 다음과 같이 생각할 수 있습니다. 합리적인 검증자가 다른 사람과 데이터를 공유할 인센티브는 어디에 있습니까? 기존의 권한 증명 메커니즘에서 그렇게 하지 않으면 평판이 손상될 수 있습니다. 그러나 다른 사람이 모든 데이터를 체인에 넣지 않는 한 실제로 데이터가 보류되었음을 증명할 방법이 없기 때문에 평판 메커니즘도 작동하기 어렵습니다. 이 솔루션이 낙관적 롤업처럼 들린다고 생각하십니까? 맞습니다. 이것은 또한 더 나은 보안을 가진 사이드체인이 본질적으로 낙관적 롤업으로 "퇴화"한다는 것을 의미합니다.

대부분의 사이드체인 체계에서 검증인은 작업에 대한 대가를 받습니다. 정직한 검증인의 경우 N개의 검증인이 보상을 공유합니다. 부정직한 유효성 검사기의 경우 동일한 양의 보상이 N-(NM)=M 유효성 검사기 간에만 공유되므로 유효성 검사기는 업데이트된 상태를 다른 사람과 공유하지 않을 모든 인센티브를 갖습니다(번역자 참고: 여기서 계산이 잘못된 것으로 의심됨).

state1 => state2 => state3

여기에는 근본적인 어려움이 있습니다. 즉, 데이터 가용성 공격을 식별하기 어렵습니다. 누군가가 공격을 시작했는지 또는 동기화 문제가 있는지 정직한 검증자가 말하기는 어렵습니다.

최종성

상태 전이의 흐름이 다음과 같다고 가정합니다.

state1 => state2 => state1

그리고 각각의 전환은 상태를 변경하기 위해 기존 상태에 영향을 미치기 위해 일부 트랜잭션이 필요합니다. 완결성은 거래가 일단 발효되면 취소할 수 없음을 의미합니다.

사이드체인의 체크포인트는 사이드체인 검증자들의 합의를 거쳐 이더리움 블록체인으로 보내지고 이더리움의 합의 메커니즘에 따라 굳어진다. 따라서 어떤 사람들은 사이드 체인의 최종성이 이더리움의 최종성과 동일하다고 생각할 수 있으며, 사이드 체인의 블록을 롤백하려면 이더리움 블록도 롤백해야 합니다. 그러나 이것은 모두 잘못된 것입니다.

완결성은 트랜잭션을 롤백할 수 없음을 의미하기 때문에 이전 상태를 새 상태로 바꿀 수 없다는 의미는 아닙니다. (NM) 검증자가 동의하는 한 다음과 같은 상태 전환을 수행할 수 있습니다.

(state1을 사용하여 state3를 대체하는 것은 state2를 롤백하는 것과 같으며 기본적으로 완료되지만 이더리움 메인 체인이 롤백할 필요는 없습니다.)

사이드체인 펀드 소유권 보장

현재 state1={Alice:1000, Bob:0}이라고 가정합니다. 즉, Alice는 1000위안을 가지고 있지만 Bob은 아무것도 가지고 있지 않습니다. Bob이 악의적이고 대부분의 POA 유효성 검사기를 제어(또는 효율적으로 손상시킬 수 있는 경우)할 수 있다면 어떻게 해야 할까요?

그는 상태 전환, state1 => state2 및 state2={Alice:0,Bob:1000}을 수행할 수 있습니다. 즉, Alice의 돈을 모두 훔쳐서 Bob에게 줍니다.

따라서 사이드체인의 방어는 어떤(NM) 검증인도 그러한 불법적인 상태 전환을 수행하는 데 동의하지 않을 것이라는 사실로 축소됩니다.

이것은 이미 알려져 있지만 (적어도 나는 그렇게 믿습니다) 모든 사람에게 상기시킬 필요가 있다고 생각합니다. 대다수의 유효성 검사기가 그런 일을 하지 않을 것이라고 믿는 경우에만 사이드체인에 대한 확신을 가질 수 있습니다. 사이드체인에 대한 대부분의 보안 분석은 여기에 초점을 맞춰야 합니다.

여전히 어느 정도 신뢰할 수 있는 특정 사람들이 있을 수 있습니다. 우리 중 많은 사람들이 (여러 이유로) 중앙 집중식 서비스 공급자를 신뢰하는 것처럼. 때때로 희생은 그만한 가치가 있습니다. 이것이 절충점이라는 것을 이해하는 것이 중요합니다.

거버넌스 프로세스를 방어 수단으로 사용하는 문제

  • "위에서 언급한 모든 문제를 해결하기 위해 거버넌스 절차를 사용할 수 있습니다."라는 말이 있습니다. 이 접근 방식은 전체 시스템이 하나의 거버넌스 프로세스로 변질되기 때문에 결함이 있습니다. 이 진술이 특히 걱정되는 한 가지 이유는 사이드체인의 다른 속성이 연극이라는 것을 암시하기 때문입니다(언제 그리고 왜 그러한 속성이 필요한가요?). 예를 들어 거버넌스 프로세스가 위의 문제를 방지하는 궁극적인 수단이라면 PoS도 PoA도 중요하지 않다는 의미입니다. 시스템의 거버넌스 프로세스는 실제 PoA입니다. 또한 시스템의 거버넌스 프로세스에 대해 동일한 공격이 시작될 수 있음이 분명합니다.

  • 더 빠른 블록 시간(따라서 더 나은 사용자 경험)과 같은 사이드체인의 일부 추가 속성 외에도 실제로 사이드체인의 특성이 빛을 발할 수 있는 경우가 있습니다. 예를 들어:

발문

NM 유효성 검사기가 임의의 상태 전환을 수행할 수 있기를 원합니다. 높은 수준의 제어를 원하는 엔터프라이즈 애플리케이션을 예로 들 수 있습니다.

M=0이고 N개의 검증자가 모든 상태 전이를 수행할 수 있는 경우. 예를 들어, 네 사람이 참여하는 게임입니다. 하지만 문제는 1명의 검증인이 체인을 종료할 수 있다는 것입니다.

  • 발문

  • 한때 사이드체인은 이더리움과 일정 수준의 구성 가능성 및 상호 운용성을 유지하면서 사용할 수 있는 유일한 솔루션이었습니다. 이제 다른 Layer-2 스케일링 솔루션이 성숙함에 따라 사이드체인이 다른 솔루션과 더 잘 통합될 수 있는 방법을 고려해야 할 때입니다.

  • 사이드 체인이 통합하기에 적합한 몇 가지 속성이 있습니다.

  • 수수료 없는 대규모 마이그레이션을 실현하고 사용자가 수수료 때문에 꼼짝도 못하고 나가지 못하는 일이 없도록 합니다.

리더 선거를 검열에 더 강한 다른 것으로 교체하십시오(PoS는 잘못된 방향일 수 있습니다. 이 게시물 참조).

ETH
开发者
Odaily 공식 커뮤니티에 가입하세요