위험 경고: '가상화폐', '블록체인'이라는 이름으로 불법 자금 모집 위험에 주의하세요. — 은행보험감독관리위원회 등 5개 부처
검색
로그인
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
시장 동향 보기
zkRollup에 대한 두 가지 논의: SNARK와 블록체인의 미래 논의
以太坊爱好者
特邀专栏作者
2021-12-03 03:03
이 기사는 약 6711자로, 전체를 읽는 데 약 10분이 소요됩니다
zkrollup을 설명하는 방법?

첫 번째 규칙:

@StopAndDecrypt:

zkrollup을 설명해줄 비트코인 ​​애호가가 있습니까?

나는 이더리움 개발자들이 장단점에 대해 정직할 것이라고 기대하지 않으며, 이더리움 팬들이 그것이 어떻게 작동하는지 실제로 이해할 것이라고 기대하지도 않습니다.

(이것은 심각한 질문입니다)

@SomsenRuben:

Bitcoin 용어로 이것은 큰 블록 체계입니다. 모든 사람이 추가 데이터를 다운로드합니다. 거래가 블록에 진입하기 전에 중개자는 SNARK 증명을 사용하여 모든 증인 데이터(서명과 같은 증인)를 집계/압축하고(현재 SNARK는 신뢰할 수 있는 시작 설정을 사용해야 함) 새로운 트랜잭션의 UTXO 세트 약속을 게시합니다. 상태(위의 SNARK 증거로도 증명됨).

모두가 이 SNARK를 확인하여 블록의 유효성과 UTXO 세트 약속의 정확성을 증명합니다. 아무도 UTXO 세트를 생성할 필요가 없습니다. SNARK는 원하는 경우 생성할 수 있음을 입증했기 때문입니다. 해당 중개인이 없는 경우 UTXO 설정 약정을 사용하여 상태를 증명하기만 하면 자금을 사용할 수 있습니다.

요컨대 장점은 증인 데이터 및 계산을 저장할 수 있다는 것입니다(둘 다 SNARK 증명에 아웃소싱됨). zkrollup은 SNARK가 할 수 있는 것으로 항상 알고 있는 것을 적용할 뿐이며 유일한 차이점은 단일 UTXO 세트에서 사용된다는 것입니다.

내 SNARK 기사: SNARKs and the Future of Blockchains도 참조하십시오. (번역자 주: 아래 첨부. SNARK가 무엇을 할 수 있는지, zkrollup이 증인 데이터 없이 트랜잭션 데이터를 게시하는 이유를 명확하게 설명합니다.)

두 번째 규칙(아주 오래, 기다려주십시오):

(2층 네트워크의 부상이 1층 블록 공간에 대한 수요를 감소시킬 것인지에 대한 두 사람의 논의는 생략)

@AdrianoFeria:

사이드체인은 L1과 동일한 수준의 보안을 제공할 수 없습니다. Statechain은 완전히 신뢰할 수 없습니다. 아직 Chaumian 은행을 조사하지 않았습니다.

@bergealex4:

(사이드체인) 물론 아닙니다. 가능하다고 말한 적이 없습니다.

레이어 간에 L1의 보안을 복제할 수 없습니다.

@AdrianoFeria:

"계층 간에 L1 보안을 복제할 수 없습니다."

이것이 ZK-Rollup이 할 수 있는 일입니다.

@bergealex4:

글쎄, 우리가 이 전제를 받아들이더라도 이것만으로는 ETH가 BTC보다 낫지 않습니다.

@AdrianoFeria:

이것만으로도 이더리움은 채널을 열고 닫는 오버헤드나 라이트닝 네트워크에 내재된 데이터 가용성 위험 없이 L1의 보안을 유지하는 확장 메커니즘을 가지고 있습니다.

어떤 시스템이 전반적으로 더 나은지 논의하기 위해 Twitter에 의존할 수는 없습니다.

어쨌든 zk-rollup은 큰 발전이며 결제 채널보다 훨씬 더 큰 이점을 제공합니다.

@SomsenRuben:

ZK 롤업 및 지불 채널은 직교합니다. zk-롤업은 확장 블록과 같습니다. 증인이 아닌 데이터는 온체인에 저장되고 모든 사람이 검증합니다(SNARK를 통해 저렴하게). 왜 "L2"라고 부르는지 이해할 수 있지만 기술적으로는 그렇지 않습니다. NIWA(Non-Interactive Witness Data Aggregation)만 수행합니다. 내 기사 "SNARK와 블록체인의 미래"를 참조하십시오.

@AdrianoFeria:

SNARK 계산이 다른 네트워크에 위임되기 때문에 L2입니다. L1은 증명을 저장하는 데만 사용되며 L1의 처리량을 약 100배 향상시키는 것으로 나타났습니다. 내가 이해한 바로는 무손실 압축과 동일합니다.

@SomsenRuben:

"L2"는 레이블일 뿐입니다. 핵심은 우리가 SNARK가 이 프로세스에서 수행하는 작업에 동의한다는 것입니다. 비대화형 증인 데이터 집계는 메인 체인에서도 사용할 수 있습니다(즉, L1에서 완전히 사용되며 채굴자는 NIWA를 수행함). 체인의 체인에 있습니다(zk-rollup과 비슷하지만 "확대된 블록"일 뿐입니다).

비트코인 네트워크에서 증인 데이터는 블록의 50%만 차지하므로(이더리움과 달리) 최대 2배의 효율성 향상(블록 공간 관점에서)만 얻을 수 있으며 이는 완벽한 SNARK 기술을 가정한 것입니다. ; 이 확장 효과는 매우 일반적입니다. 그럼에도 불구하고 지불 채널은 분명히 유익합니다.

@AdrianoFeria:

롤업 기반 결제 채널 운영이 불가능한가요?

@SomsenRuben:

물론 할 수 있습니다. 그래서 같은 차원이 아니라고 말한 것입니다.

(약간)

@AdrianoFeria:

그것이(zk-rollup) 추가 계산 비용으로 L1 처리량을 증가시킨다고 주장할 수 있습니까(이더리움의 경우 검증자는 현재 사양 요구 사항으로 인해 이를 수행할 수 없습니다)? 그리고 증거 제공자가 충돌하더라도 자금을 회수할 수 있습니다.

@SomsenRuben:

내 기사에서 제시된 NIWA 개념은 이러한 직관을 설명합니다. 누구나 모든 증인 데이터(서명, 트랜잭션의 정당성을 증명하는 데이터 포함)를 수집하고 SNARK 증명으로 압축/집계할 수 있습니다. 누군가가 모든 사람에게 혜택을 주기 위해 필요한 것은 조금 더 있습니다.

자금은 항상 회수할 수 있으며 증거 제공자는 항상 교체될 수 있습니다.

@AdrianoFeria:

나는 이것을 이해하지만 이상적으로는 SNARK 계산이 분산된 네트워크에 의해 서비스로 제공되어야 합니다. 그것이 이더리움 생태계에서 일어나고 있는 일이며, 그런 것이 비트코인에 바람직하지 않은 이유를 모르겠습니다.

@SomsenRuben:

항상 장점이 ​​있지만 이점을 과대평가하고(스케일링은 기껏해야 2배에 불과함) 비용을 과소평가하고 있습니다(수학이 테스트되지 않았으며 신뢰할 수 있는 부팅 설정을 사용하지 않으면 비효율적임), 채굴기의 중앙 집중화).

언젠가는 SNARK가 성숙하고 의미가 있을 것이라고 믿지만 아직은 그렇지 않습니다.

@AdrianoFeria:

일반적인 합의는 zkrollup이 Ethereum에서 100배 더 잘 확장된다는 것입니다(이 정보는 여러 소스에서 일관됨).

비트코인에 동일한 효과가 없는 이유는 무엇입니까?

@SomsenRuben:

내가 생각할 수 있는 두 가지 이유:

비트코인과 비교하여 이더리움의 증인 데이터는 훨씬 더 크고 확인 비용이 더 많이 들기 때문에 SNARK는 이더리움의 비효율성을 더 잘 완화할 수 있습니다.

주소 재사용은 증인이 아닌 데이터를 더욱 줄여줍니다. 이는 비트코인이 수용할 수 없는 개인정보 희생입니다.

내 주장은 다음과 같이 쉽게 추론할 수 있습니다.

  • SNARK는 증인 데이터만 줄일 수 있습니다.

  • 비트코인의 증인 데이터는 블록의 약 50%를 차지합니다.

이것만 이해하면 "내가 전문가라고 믿을" 필요는 없지만 100배, 정말 추리하기 힘듭니다.

@AdrianoFeria:

이 100x 주장에 이의를 제기하는 사람은 어디에서도 보지 못했습니다. zkrollup의 기술 설계가 비트코인 ​​예제와 약간 다를 수 있고/또는 UTXO 또는 비트코인 ​​스크립트 제한과 관련이 있다고 가정합니다.

@SomsenRuben:

나는 가정을 그렇게 빨리 시작하지 않을 것입니다. "믿지 말고 스스로 확인하라"

일반적으로 매우 강한 확신이 없는 한 주장을 방어하지 말라고 조언합니다. 겸손해지세요, http://www.paulgraham.com/identity.html

@AdrianoFeria:

그래서 나는 또한 이 진술에 대한 기술적 도전을 환영합니다. 많은 저명한 개발자들에 의해 인용되었고, 널리 유포되었으며, 이의를 제기한 적이 없다는 사실에 근거하여 이 진술을 선호하는 것이 합리적입니다. 롤업이 거의 통합되었으며 증거가 보입니다.

이 "신뢰하지 말고 스스로 확인하십시오"라는 만트라에 대해 실용적이어야 합니다. 모든 것을 직접 확인하는 것보다 무언가를 믿는 데에는 이유가 있습니다. 예를 들어:

  • 잘 작동하도록 SHA-256을 신뢰하십시오.

  • 공개 키 암호화에 대한 신뢰

  • 클라이언트용 바이너리 생성이 반드시 컴파일러가 유효함을 의미하지는 않습니다.

@SomsenRuben:

방금 비트코인이 SNARK에 의해 두 번 이상 확장될 수 없음을 확인할 수 있다는 증거를 제시했습니다.

이러한 관점에서 볼 때, 이더리움이 100배 확장을 달성할 수 있다는 주장은 적어도 처음에는 의심스럽습니다.

이것이 "유효성 검사"라고 불리지 않는다면 무엇인지 모르겠습니다.

@AdrianoFeria:

나는 이것을 완전히 소화하지 못했지만, 이 기사는 당신이 Bitcoin으로 설명하는 것과는 완전히 다른 상황처럼 보입니다. 의견이 있으십니까? https://medium.com/interdax/ethereum-l2-optimistic-and-zk-rollups-dffa58870c93

@SomsenRuben:

기사에 나열된 많은 확장 체계가 있지만 내가 아는 한 zk-rollup을 제외한 다른 체계는 Ethereum 커뮤니티에서 포기했습니다.

하지만 그에 비해 저는 비트코인을 더 잘 이해합니다. 내 기사에 대해 궁금한 점이 있으면 기꺼이 답변해 드리겠습니다. 이것은 또한 이더리움을 이해하는 데 간접적으로 도움이 될 것입니다.

@AdrianoFeria:

Vitalik은 이 기사를 방금 게시했으며 읽을 시간이 없었지만 많은 기술 설계 세부 사항과 다양한 유형의 트랜잭션에 대해 얼마나 많은 데이터를 압축할 수 있는지에 대한 세부 사항을 설명하는 것 같습니다. "불완전한 롤업 가이드

@SomsenRuben:

좋은 기사. 그래서 내 두 가지 이유가 모두 맞지만 이제 나는 이 100번이 어떻게 되었는지 더 잘 이해합니다. 이더리움에서는 공간과 계산 모두 가스를 소비하지만 전자의 가스 비용이 더 낮습니다. SNARK는 계산량을 0에 가깝게 줄이기 때문에 모든 가스를 사용하여 데이터를 게시할 수 있습니다. 단점은 무엇입니까? 블록이 커집니다.

@AdrianoFeria:

블록이 점점 커지고 있지만 이것이 내가 아는 저장 공간의 가장 효율적인 사용입니다.

또한 이 기사는 일반적인 트랜잭션이 10배의 공간을 절약할 수 있음을 증명합니다. 따라서 이것은 롤업이 비트코인으로 설명하는 상황보다 5배의 효율성 이점이 있음을 보여줍니다. 이것은 작지 않습니다.

@SomsenRuben:

심각한 개인 정보 보호 등급인 두 번째 비용인 주소 재사용을 잊었습니다. 블록 공간을 절약하기 위해 비트코인에 대한 이러한 역 업그레이드를 도입할 수도 있습니다. 이전에 제안되었지만 정당한 이유로 거부되었습니다.

@AdrianoFeria:

주소 재사용이 특별히 설계된 개인 정보 보호 강화 스마트 계약으로 완화할 수 있는 롤업 관련 문제인지 모르겠습니다. 더군다나 UTXO의 프라이버시를 가장한 지갑은 현금을 받을 때마다 새로운 주소를 사용할 수 없는 걸까요?

@SomsenRuben:

핵심은 주소 재사용이 트랜잭션 크기를 줄이는 방법이라는 것입니다. 모든 트랜잭션에 대해 새 주소(및 변경 주소)를 사용하면 zk-rollup의 트랜잭션 크기가 훨씬 커집니다.

(이 토론에는 여기에 첨부되지 않은 다른 측면 토론이 있습니다)

(번역자 주: 독자들이 zk-rollup의 확장 효과가 어떻게 입증되었는지 아직도 기억하고 있는지 모르겠습니다. 간단히 말해서 메인 체인의 일반 트랜잭션이 X 단위의 가스를 소비하는 반면 zk-rollup에서는 롤업을 사용한다고 가정합니다. Y 단위의 가스만 소비하면 되므로 확장 효과는 X/Y입니다. 즉, 모든 주장은 이더리움의 다양한 작업에 대한 가스 가격 책정을 기반으로 하지만 가스는 실제 자원이 아니라 가상입니다. unit은 서로 다른 리소스의 비용을 인덱스로 줄일 수 있다고 가정합니다.지금 calldata의 가스 가격을 두 배로 하면 zk-rollup의 확장 효과는 두 배가 될 수 있습니다(EIP-4488 및 4490정확히 무엇을 의미하는지). 이거 좀 장난 아니지? 반대로 SNARK의 확장 효과에 대한 Somsen의 시연은 증인 데이터를 저장하는(그리고 이상적으로는 검증 계산을 저장하는) 기술의 원래 얼굴에 더 가깝습니다.

이 기사이 기사). UTXO를 시뮬레이션하고 매번 새 주소를 사용하는 Adriano의 소위 방법은 불가능하지는 않지만 모든 과거 주소가 상태에 남아 노드에 부담이 되기 때문에 이더리움 세계에서는 좋은 관행이 아닙니다. 소위 상태 폭발 문제입니다.

첫 번째 레벨 제목

SNARK와 블록체인의 미래

루벤 솜센

출처: https://medium.com/@RubenSomsen/snarks-and-the-future-of-blockchains-55b82012452b

SNARK(간결한 비대화형 지식 인수, 간결한 비대화형 지식 증명)는 종종 확장 문제를 "해결"하기 위한 만병통치약으로 간주됩니다. SNARK가 상상할 수 없는 이점을 제공할 수 있지만 SNARK가 현재 블록체인이 직면한 대역폭 제약을 해결할 수 없다는 것도 알아야 합니다.

이 기사는 SNRAK이 블록체인에 대해 할 수 있는 것과 할 수 없는 것에 대한 (상대적으로) 간략한 개요를 제공함으로써 SNARK를 이해하기를 희망합니다. 블록체인 관련 기능이 "NIWA(Non-Interactive Witness Compression)"로 간결하게 요약될 수 있는 이유에 대해 이야기하는 것으로 시작하겠습니다. Bitcoin이 어떻게 작동하는지 알고 있다면 이 기사를 이해할 수 있습니다.

첫 번째 레벨 제목

SNARK는 무엇입니까?

보조 제목

체스 케이스

  • 규칙: 체스 규칙
  • 시작 상태: 보드의 시작 위치 A
  • 결과: 보드의 새로운 위치 B

A 위치에서 B 위치로의 게임 전환이 유효하다는 것을 증명하는 전통적인 방법은 각 단계를 노출하고 각 단계가 유효한지 확인하는 것입니다. SNARK는 상태 전환의 유효성을 확인하는 데에도 사용할 수 있지만 더 좋습니다.

  • 단계는 공개될 필요가 없습니다(개인 정보 보호, 데이터 저장).
  • 유효성 검사는 계산적으로 더 효율적입니다.

보조 제목

블록체인 사례

  • 규칙: 전체 노드 소프트웨어
  • 시작 상태: 블록 헤더 및 UXTO는 시점 A에서 해시 값을 설정합니다.
  • 결과: B 시점에 설정된 블록 헤더 및 UTXO

위에서 언급한 체스와 유사하게 상태 전환의 유효성을 확인하는 일반적인 방법은 A지점에서 UTXO 세트(사용되지 않은 모든 트랜잭션)에서 시작하여 B지점까지 모든 블록을 수신하고 UTXO 세트를 업데이트하는 것입니다. SNARK를 사용하면 유효성을 증명하기 위해 이러한 데이터가 필요하지 않습니다. 실제로 시점 A를 제네시스 블록(빈 UTXO 세트)으로 설정하고 시점 B를 현재로 설정하면 과거 데이터를 받지 않고 전체 체인을 검증할 수 있습니다.

중요한 것은 포인트 B의 전체 UTXO 컬렉션이 필요하고 포인트 A에 대한 UTXO 컬렉션의 해시 값만 알면 된다는 것입니다. 이 데이터는 유효성을 입증하는 데 반드시 필요한 것은 아니지만 가용성에도 관심이 있습니다. 항상 UTXO 집합의 해시 값만 얻을 수 있다면 유효한 상태가 존재한다는 것을 알더라도 그 상태가 무엇인지 알 수 없습니다. 즉, UTXO가 현재 세트에 속한다는 것을 증명할 데이터가 없기 때문에 자금을 사용할 수 없습니다. 체스 비유를 사용하면 새로운 상황의 해시 값은 알지만 상황이 어떤지 모르기 때문에 게임을 계속할 수 없습니다.

첫 번째 레벨 제목

SNARK 블록체인

모든 사람이 돈을 쓰도록 보장하려면 UTXO 세트를 업데이트하는 데 필요한 모든 데이터를 각 블록과 함께 전파해야 합니다. 여전히 어떤 UTXO가 사용되고(예: 입력) 어떤 UTXO가 새로 생성되는지(출력) 알아야 합니다. 이를 "비 증인 데이터"라고 합니다.

상태 전환의 유효성은 SNARK에 의해 검증될 수 있으므로 SNARK는 모든 증인 데이터(스크립트, 서명)를 대체하고 대역폭을 거의 사용하지 않습니다. 입력과 출력 사이의 링크가 지워질 것입니다. 블록은 하나의 큰 코인조인 트랜잭션처럼 보일 것입니다. 대부분의 데이터는 증인이 아닌 데이터입니다.

따라서 일반적인 상상과는 달리 SNARK는 증인이 아닌 데이터를 다운로드해야 하기 때문에 라이트 클라이언트 또는 비연합 사이드체인 뒤에 있는 근본적인 문제를 해결할 수 없습니다. 전체 노드는 증인이 아닌 데이터가 손실된 경우 유효한 SNARK를 거부할 수 있지만 라이트 클라이언트가 증인이 아닌 데이터를 다운로드하는 것을 게을리하면 손실된 데이터 체인이 유효하다고 잘못 믿을 수 있습니다. 증인이 아닌 데이터의 작은 부분이 채굴자에 의해 보류되더라도 다른 누구도 유효한 SNARK에 새 블록을 생성할 수 없습니다. 결국 SNARK는 허가된 시스템이 됩니다.

SNARK는 증인 데이터를 소비합니다.

블록체인용 SNARK의 가장 좋은 요약은 NIWA(비대화형 증인 집계)라는 한 가지 기능을 활성화한다는 것입니다.

여기서 "증인"이라는 단어를 사용하는 것은 다소 자유주의적입니다. 비트코인에서 증인 데이터는 특정 UTXO가 합법적으로 생성될 수 있는지 여부를 증명하기 위해 트랜잭션에 배치된 데이터입니다. 하지만 시간이 지남에 따라 이 UTXO(비증인 데이터)도 소비될 때 자신의 증인 데이터가 됩니다. 1 btc가 Alice에서 Bob으로 전송된 다음 Carol로 전송되었다고 가정하면 Bob의 트랜잭션은 Alice에서 Carol로 전송되는 증인 데이터입니다. 마찬가지로 제네시스 블록 이후의 모든 지불 거래는 현재 UTXO 세트의 증인 데이터입니다.

SNARK 자체가 증인 데이터라는 점도 지적해야 합니다. 각 트랜잭션이 SNARK에 의해 확인되면 이러한 SNARK를 함께 집계(NIWA)하여 블록에 대한 단일 SNARK를 생성할 수도 있습니다. 또한 출력은 소비될 때 증인 데이터가 되므로 확인되지 않았지만 이미 소비된 출력을 트랜잭션 풀에서 가져와 집계할 수도 있습니다. Alice가 Bob에게 전송한 다음 Carol에게 전송하면 Alice가 Carol에게 전송하여 비대화형 트랜잭션 병합(트랜잭션 컷스루)을 실현합니다. 이는 많은 오프 체인 트랜잭션 포크가 있는 단일 UTXO가 온 체인(라이트닝 네트워크 채널 팩토리 등)으로 강제될 때 특히 유용합니다.

간단한 요약

블록체인을 위한 SNARKs가 제공하는 핵심 기능을 NIWA의 개념으로 정리했습니다. 모든 증인 데이터는 SNARK에 의해 비대화식으로 함께 집계될 수 있습니다. 나머지 비 증인 데이터는 시스템 상태(UTXO 수집)를 직접 반영합니다. SNARK는 UTXO 집합을 직접 다운로드하고 SNARK를 생성 상태에서 최신 상태로 점프하고 연결되지 않은 트랜잭션 시퀀스를 단일 트랜잭션으로 비대화형으로 집계하는 것과 같은 몇 가지 마법 같은 기능을 달성할 수 있지만 여전히 모든 것을 제공해야 합니다. 새 블록은 모든 전체 노드가 UTXO 세트를 업데이트할 수 있도록 모든 비 증인 데이터를 게시합니다. 따라서 SNARK는 블록체인이 직면한 근본적인 대역폭 제약을 해결할 수 없습니다.

이미지 설명

그림

- NIWA 실행 중. SNARK는 증인을 소비하지만 증인 그 자체이기도 합니다. 따라서 SNARK는 SNARK를 삼킬 수 있습니다.

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