Scroll 뒤에 있는 이념: 커뮤니티 주도, 견고성 및 탈중앙화

Scroll 공동 창립자
2023-02-21 15:42:58
수집
본 문서는 zkEVM을 구축하면서 얻은 몇 가지 경험과 교훈, 그리고 다양한 트레이드오프를 어떻게 고려했는지에 대해 공유할 것입니다.

작성자: 장예, Scroll 공동 창립자

소개

zkEVM은 지난 2년 동안 매우 인기 있는 주제였습니다. 이는 이더리움의 확장성을 위한 표준 기술 솔루션이 되었다고 할 수 있습니다 --- Layer 2에서 구현될 뿐만 아니라 Layer 1에서도 직접 구현되어 --- "결국 이더리움 자체를 SNARK화한다"는 것입니다. 우리는 처음부터 프라이버시 및 확장성 연구(PSE, Privacy and Scaling Explorations) 팀과 함께 이 야심찬 꿈을 추진해왔으며, 앞으로도 계속 공동으로 구축할 것입니다.

이 글에서는 zkEVM을 구축하면서 얻은 몇 가지 경험과 다양한 트레이드오프를 고려한 방법을 공유하고자 합니다. 우리는 생태계의 다른 프로젝트와는 다른 접근 방식을 채택하여 독특한 위치에 있습니다.

커뮤니티 주도의 개발 방식

Scroll은 기본적으로 오픈 소스 솔루션에 의해 지원됩니다. 우리는 Zcash 증명 스택을 사용하고 있으며, 첫날부터 PSE 팀과 함께 zkEVM 회로를 구축해왔습니다. 우리는 커뮤니티의 노력과 모든 도구를 구축하는 사람들에게 감사드립니다. 오픈 소스 정신에 따라, 우리의 중요한 이념 중 하나는 가능한 한 많은 것을 커뮤니티에 환원하고, 더 개방적이고 협력적인 방식으로 커뮤니티와 계속 구축하는 것입니다. 이는 우리의 가치관을 다른 프로젝트와 다르게 만듭니다. 보다 구체적으로, 우리는 Scroll의 개발을 커뮤니티 주도로 만들기 위해 다음과 같은 몇 가지 일을 했습니다:

  • 광범위한 대중 교육. 우리의 아키텍처를 이해하는 데 도움을 주기 위해, 우리는 전 세계에서 여러 차례 발표와 행사를 개최했습니다. Devconnect, SBC, Devcon 등에서 우리를 찾을 수 있습니다. 더 깊이 배우고 싶은 분들을 위해, 우리는 0xPARC에서 우리의 증명 스택에 대한 강의를 개최했으며, 스탠포드와 버클리에서도 우리의 연구 결과에 대한 발표를 했습니다. 감사 감사자들을 위해 우리는 코드베이스에 대한 감사자 회의를 주최했습니다. 우리는 또한 일반 제로 지식 증명 및 이더리움 커뮤니티를 위해 교육 자료를 자주 제작합니다 --- 매주 업데이트되는 제로 지식 증명 응용 연구 시리즈를 개최하고, 제로 지식 증명 기술이더리움 기술 블로그에 대한 정보를 공유했습니다.

  • 커뮤니티와의 공동 발전. 첫날부터 우리의 zkEVM은 완전히 커뮤니티 주도로 개발되었습니다. 우리 팀과 PSE 팀 외에도 여러 커뮤니티 구성원이 zkEVM의 다양한 부분에 기여했습니다(예를 들어, 많은 연산 코드 회로가 다양한 커뮤니티 구성원에 의해 병렬로 구현되었으며, keccak 회로와 snark 검증자에 대한 훌륭한 최적화가 이루어졌습니다). 우리는 또한 기본 검증 스택을 개선하기 위해 매 2주마다 커뮤니티 전화 회의를 주도했습니다. 우리는 놀라운 진전을 이루었습니다 --- 예를 들어, Halo2는 이제 Goldilocks와 FRI를 지원하며, 이는 커뮤니티의 노력으로 공유 보안 및 공유 감사를 실현할 수 있는 견고한 기반을 마련했습니다!

커뮤니티 주도의 방식으로 구축하는 것의 이점은 분명합니다. 우리는 많은 사람들과 아이디어를 모으고 더 많은 창의성을 얻을 수 있습니다. 또한, 각 PR은 다른 커뮤니티 구성원들의 더 많은 피드백을 받기 때문에 더 안전하다고 할 수 있습니다. 일부 공공 부분은 프로젝트 간에 공유될 수 있습니다 --- 예를 들어, Axiom은 zkEVM의 가장 어려운 부분 중 하나인 쌍 곱 회로를 구현했습니다.

그러나 개방된 환경에서 구축하는 것은 분명히 트레이드오프가 있습니다. 많은 사람들 사이에서 조정하는 것이 더 어려워집니다(소통뿐만 아니라 우선순위 측면에서도). 이는 개발 속도를 늦추게 되며, 많은 PR이 검토를 필요로 하고 병합 기준이 높아지기 때문입니다.

우리의 zkEVM의 독특한 점은 우리가 이더리움이 항상 consensus-spec 및 execution-spec을 위해 해왔던 것처럼 python 버전의 사양을 유지하고 있다는 것입니다. 이 사양을 유지함으로써 Rust와 Halo2에 익숙하지 않은 사람들이 회로 논리를 이해할 수 있게 됩니다. 내가 아는 한, 다른 zkEVM 구현은 이 작업에 시간을 할애하지 않기 때문에 그들은 더 빠르게 메인넷을 출시하기 위해 노력하고 있습니다.

Scroll에서는 이러한 커뮤니티 주도의 방식으로 전체 zkEVM을 개발하고 있습니다. 우리는 올바른 방법은 처음부터 커뮤니티와 함께 구축하는 것이라고 믿습니다. "커뮤니티 주도의 개발"은 단순히 오픈 소스를 의미하지 않습니다. 이는 비공식적으로 구축한 후 어느 날 갑자기 모든 코드를 오픈 소스화하는 것을 의미하지 않습니다. 이는 외부 기여자의 수와 프로젝트가 시간이 지남에 따라 어떻게 발전하는지를 통해 측정되어야 합니다. 우리는 초기 단계에서 속도가 느려지는 트레이드오프를 받아들이지만, 커뮤니티가 계속 확장됨에 따라 후반부의 커뮤니티 주도 개발의 힘을 믿습니다.

이더리움은 "감소하기"라는 비전을 실현하기 위해 유사한 전략을 채택했습니다. 이 아이디어는 간단합니다 --- 그들은 모든 것을 스스로 구축하는 것이 아니라 가능한 한 커뮤니티를 지원합니다. 이는 그들이 올바른 균형을 찾고 그들에게 정말 중요한 것에 집중하는 데 도움이 됩니다. 우리는 완전히 동일한 일을 하고 있습니다. 우리는 스스로에게 묻습니다, "우리가 커뮤니티가 개발하는 데 어떤 지원을 제공할 수 있을까요?" 우리는 커뮤니티 중심의 방식이 이 분야에서 독특한 위치를 차지하게 할 것이라고 믿습니다.

이러한 이념은 우리를 다른 경쟁자들과 다르게 만듭니다. 후자는 많은 인력을 동원하여 여러 내부 솔루션을 구축하고 있으며, 여러 방향으로 미친 듯이 마케팅을 하고 있습니다. 반면 우리는 가장 중요한 부분을 전달하고 올바른 방향을 이끌어내는 데만 집중합니다.

안전성 보장 및 안정적인 출시

다른 alt L1과 비교할 때, 안전성은 사람들이 Layer 2를 신뢰하는 가장 큰 이유입니다 ------ 이더리움의 안전성을 상속받을 수 있으며, Layer 2 운영자를 신뢰할 필요가 없습니다. 그러나 현재 존재하는 모든 Layer 2 프로젝트는 여전히 이 기준에 미치지 못하며, 다양한 정도의 보조 롤을 가지고 있습니다. 예를 들어, 옵티미스틱 롤업의 경우, 많은 것들이 현재 메인넷에 출시되었지만, 여전히 업그레이드 가능한 키가 필요하며 무허가 사기 증명을 지원하지 않습니다.

zkEVM의 경우, 이것은 큰 문제입니다 ------ 모든 플레이어는 긴 경주를 하고 있으며, 메인넷을 어떻게 구현하든 여러 번 반복해야 합니다. zkEVM에 대한 몇 가지 기본적인 문제는 아직 해결되지 않았습니다. 예를 들어, 증명자 비용은 실행 비용과 다를 것이며, 이는 Layer 2의 가스 가격에 영향을 미치거나 보안 취약점을 초래할 수 있습니다.

우리는 안전성 문제를 고려하고 최선의 결정을 내리기 위해 노력해왔습니다. 아래에 그 중 일부 결정을 나열했습니다:

  • EVM 동등한 솔루션 채택. 이 솔루션을 채택한 중요한 이유 중 하나는 더 나은 개발자 경험을 제공하기 때문이지만, 더 깊은 이유는 이미 실전에서 검증된 EVM 모델의 안전성을 상속받기 때문입니다. 우리는 Geth와 같은 인프라를 재사용하여 이더리움과의 차이를 최소화하고 있습니다. 이는 우리의 Layer 2 정렬기가 Layer 1 노드의 동작과 완전히 동일하게 만들어 안전성을 극대화합니다.

  • 커뮤니티 중심의 방식. 앞서 언급했듯이, 외부 커뮤니티 리뷰어로부터 리뷰를 받는 것은 코드 안전성을 보장하는 데 더 강력한 보장을 제공합니다. 도구와 증명 스택은 프로젝트 간에 공유되므로 현재 코드베이스에 대한 관심이 더 높습니다. 좋은 측정 기준은 "얼마나 많은 사람들이 당신의 코드베이스에 익숙한가?"와 "얼마나 많은 사람들이 실제로 그것을 사용하고 있는가?"입니다.

  • 감사, 감사, 다시 감사. 테스트, 테스트, 다시 테스트. 우리는 감사자 회의를 개최하여 감사자들에게 우리의 개발 스택을 소개하고, 우리의 zkEVM 회로에 업계 최고의 감사자를 고용했습니다. 그러나 외부 감사만으로는 충분하지 않습니다. 내부적으로 우리는 표준 EVM 테스트 벡터를 통합하고 메인넷 블록을 증명하기 위해 많은 시뮬레이션을 수행했습니다. 그 외에도, 우리는 zkEVM의 형식 검증 및 퍼징 테스트 등을 탐색하는 데 지원금을 제공하고 있습니다.

  • 내부 보안 팀 구축. 우리가 다른 점은 매우 강력한 내부 보안 팀을 보유하고 있어 우리의 코드베이스를 면밀히 모니터링하고 있다는 것입니다. 최선의 솔루션은 감사자에 의한 감사뿐만 아니라, 전담 팀이 우리의 코드 안전성에 집중하는 것입니다. 우리의 안전 외에도, 우리는 다른 프로젝트를 돕고 있습니다. 예를 들어, 우리는 Aztec의 회로 오류와 Consensys의 zkEVM 증명자에 대한 보안 공격을 발견했습니다.

  • 보조 롤에 대한 연구. 내부적으로 우리는 보조 롤을 제거하는 다양한 솔루션과 우리의 zkEVM의 2FA 또는 3FA를 보장하는 방법에 대해 연구하고 있습니다. 우리는 이것이 가장 중요한 일이라고 믿으며, 비록 그것이 더 화려한 새로운 기능을 가진 마케팅의 목소리보다 훨씬 작지만 말입니다. 더 많은 진전을 이루면, 우리는 우리의 결과를 공유하고 커뮤니티와 논의할 것입니다.

높은 안전성 기준을 유지하기 위해, 우리는 각 버전을 더욱 안정적으로 만들고 기존 버전을 반복하여 견고성과 성능을 지속적으로 향상시키기로 선택했습니다. 우리는 Twitter의 매주 업데이트에서 모든 내용을 더욱 투명하게 만들 것입니다.

우리의 안전 제일 이념은 우리의 로드맵의 첫 번째 결정 요소입니다. 이는 우리가 어떤 방향으로 나아가야 할지를 결정하는 데 도움을 주며, 다음 질문에 답할 수 있습니다:

  • "우리는 지금 EVM 동등성을 목표로 해야 할까요, 아니면 이더리움 동등성을 목표로 해야 할까요?"

  • "우리는 먼저 분산된 증명자를 목표로 해야 할까요, 아니면 정렬기를 목표로 해야 할까요?"

  • "우리는 새로운 기능을 계속 추가해야 할까요, 아니면 보조 롤을 제거하는 데 집중해야 할까요?"

나는 후속 게시물에서 이러한 질문에 하나씩 답할 것입니다.

모든 레이어의 분산화가 중요하다

이더리움의 역사와 사람들이 왜 그것을 신뢰할 수 있는 중립적이라고 생각하는지를 되돌아보면, 이는 단순히 진보된 기술 때문만이 아닙니다. 오늘날의 성과를 이루기 위해 걸어온 길 때문입니다. 이더리움은 모든 레이어에서 분산화되어 있습니다(결정 투명성, 사회적 합의 등). 마찬가지로, 우리는 여러 다른 레이어의 분산화 목표를 정의하고 스스로에게 매우 높은 기준을 설정했습니다:

  • 분산된 증명자. 우리는 분산된 증명 네트워크 아이디어를 처음으로 제안했습니다. 이는 우리가 완전한 분산화를 실현하고 높은 신뢰성을 보장하기 위해 구현할 첫 번째 기술 로드맵입니다. 최적화 목표 중 하나는 증명 비용을 낮추는 것이며, 이는 더 많은 사람들이 증명자를 운영할 수 있게 하여 더욱 분산화될 것입니다. 우리는 "가장 빠른 증명자가 항상 승리한다"는 딜레마를 피하기 위해 의식적으로 노력하고 있으며, 사람들은 비싼 맞춤형 하드웨어에 의존하지 않고도 우리의 네트워크에 참여할 수 있습니다.

  • 분산된 정렬기. 분산된 정렬기는 검열 저항을 위한 또 다른 중요한 단계이며, 우리는 이를 위해 노력하고 있습니다. 우리는 이를 달성하기 위한 여러 내부 제안이 있으며, 곧 더 넓은 논의를 위해 이러한 아이디어를 공개할 것입니다. 우리는 먼저 증명자를 분산화해야 하는 이유가 많습니다(예: 버그가 없는 zkEVM에 대한 우려, 증명자와 정렬기 간의 더 복잡한 상호작용 및 인센티브 등). 장기적으로 우리는 프로토콜 수준에서 이더리움과 정렬기 측면에서 일치하는 방법을 고려하고 있습니다.

  • 발전 및 거버넌스. zkEVM의 개발은 오픈 소스 기여자 커뮤니티를 통해 분산화된 방식으로 진행됩니다. 우리는 zkEVM 및 증명자 커뮤니티 전화 회의를 통해 그들과 조정하고 있습니다. 개발이 진행됨에 따라 우리는 개발 및 거버넌스를 점점 더 투명하게 만들 것입니다(개발 결정 과정 포함, 이더리움의 핵심 개발자 회의와 유사).

  • 생태계 및 커뮤니티. 이더리움의 "무한한 정원" 비전을 따르며, 우리는 우리의 생태계와 커뮤니티의 지속적인 성장을 지원하고자 합니다. 따라서 우리는 특정 개별 프로젝트와의 "파트너십"을 최소화하고, 더 중립적인 입장에서 모든 인프라를 지원할 것입니다. 우리는 마케팅 측면에서 고려하는 것이 아니라, 메시징 및 소통 측면에서 생각하고 있습니다. 우리는 스스로에게 묻습니다, "우리는 커뮤니티에 대해 어떻게 더 투명할 수 있을까요?" 우리는 이러한 접근 방식이 더욱 분산화된 생태계를 만들고 창의성을 촉진하는 최선의 방법이라고 믿습니다.

  • 사회 및 문화 다양성. 기술 및 생태계 외에도, 우리의 목표는 사회 및 문화 차원에서 또 다른 레이어의 분산화를 실현하는 것입니다. 우리의 팀은 여러 대륙(아시아, 유럽, 북미, 남미, 호주)에 분포되어 있습니다. 당신은 거의 세계 어디에서나 Scroll 팀원을 찾을 수 있으며, 이는 우리가 지역적으로 분포된 커뮤니티를 구축할 수 있게 합니다. 우리는 문화 다양성과 함께 성장하여 더 깊은 사회적 합의를 얻고 있습니다.

Scroll을 위한 것뿐만 아니라 이더리움을 위한 구축

확장 솔루션을 구축할 때, 우리는 이더리움과 높은 일치를 유지합니다. 이더리움은 "zk-SNARK everything"이라는 야심찬 최종 목표를 가지고 있습니다 --- 메인넷 블록을 증명하는 데 사용할 수 있는 이더리움 동등한 zkEVM을 구축하는 것입니다. 언젠가 검증자가 Layer 1 블록을 다시 실행할 필요 없이 간결한 제로 지식 증명을 검증할 수 있다고 상상해 보십시오. 언젠가 당신은 하나의 증명으로 이더리움의 전체 역사를 검증할 수 있다고 상상해 보십시오. 정말 흥미진진하지 않나요?

이것이 바로 PSE 팀의 목표입니다! 같은 코드베이스에서 약 2년 동안 공동 구축자로서 우리는 이 야심찬 목표를 직접 추진하고 있습니다.

현재 다양한 유형의 zkEVM을 분류하기 위한 몇 가지 기준이 제안되었습니다. 그러나 이는 최종 결과가 어떻게 되어야 하는지를 설명하는 더 높은 수준의 규범에 가깝습니다. 이더리움 동등한 zkEVM을 추진하는 주요 기여자 중 하나로서, 우리는 목표와 목표를 달성하는 실제 경로를 구분하기 위해 몇 가지 다른 것을 제안하고자 합니다. 아래는 우리가 SANRK 이더리움을 실현하기 위한 경로입니다:

  • 신뢰할 수 있는 제로 지식 증명을 사용하여 바이트코드 수준 호환 zkEVM 구현

  • 관련 이니셔티브를 출시하여 Layer 1과 zkEVM의 발전을 조정

  • 커뮤니티 기준을 달성하고 EIP를 제안하여 이더리움을 개선하여 최종 목표를 달성

현재 우리는 제품 완비된 바이트코드 호환 zkEVM을 출시하는 첫 번째 단계에 있으며, 이더리움의 미래를 위해 전체 커뮤니티와 함께 구축하기 위해 헌신하고 있습니다. 고성능이면서도 충분히 안전한 이더리움 동등한 zkEVM을 구축하는 데는 수년이 걸릴 수 있으며, 증명 시스템 업그레이드, 새로운 회로 설계 및 소프트웨어와 하드웨어 가속 측면의 혁신이 포함됩니다. 그러나 더 중요한 것은 Layer 1 수준에서 이를 채택하기 위해 이더리움 자체가 몇 가지 변화를 해야 한다는 것입니다. 최종 목표를 달성하기 전에 이더리움의 모든 중요한 업그레이드는 zkEVM을 고려해야 합니다.

현재 주류 생각은 Layer 2가 Layer 1의 변화를 단방향으로 적응하는 것입니다. 그러나 롤업이 성숙함에 따라 우리는 더 이상 그렇게 되어서는 안 된다고 생각합니다. 롤업은 Layer 1의 변화를 추진하는 데 역할을 해야 하며, 롤업 팀은 Layer 1의 인프라 측면에서 더 중요한 역할을 해야 합니다(4844, Danksharing, Verkle 트리, PBS, 1559 등). 우리는 후방 호환성의 영향을 주의해야 하지만, 역사적 부담이 미래 발전을 제한해서는 안 됩니다. 전체 생태계는 조화를 이루어 더 나은 이더리움을 구축해야 합니다.

결론

우리는 처음부터 커뮤니티 주도의 방식으로 zkEVM을 개발하고 있으며, 더 협력적인 방식으로 계속 구축하고 커뮤니티에 환원하는 데 헌신하고 있습니다. 우리는 안전성과 분산화를 매우 중요하게 생각하며, 이러한 목표를 달성하기 위한 구체적인 솔루션에 집중하고 있습니다. 우리의 안전성 이념으로 인해 우리는 각 버전을 더욱 안전하고 안정적으로 만들기 위해 높은 기준을 설정했습니다. 우리의 분산화 이념으로 인해 우리는 기술 스택, 개발 과정, 생태계, 커뮤니티 및 사회적 다양성을 포함하여 모든 다양한 레이어의 분산화를 추구하고 있습니다.

우리는 블록체인의 개방성과 검열 저항성을 가능한 한 많이 촉진하고자 합니다. 우리는 처음부터 독특한 길을 선택했습니다. 우리는 Layer 2를 구축할 뿐만 아니라 SNARK를 통해 전체 이더리움을 실현하는 야심찬 목표를 추진하고 있습니다. 우리의 이념은 이더리움처럼 운영하며, 무한한 정원의 같은 미래를 위해 헌신하는 것입니다!

관련 링크

0xPARC 발표 http://learn.0xparc.org/materials/halo2/learning-group-1/cost-model/ Devconnect: https://twitter.com/ScrollZKP/status/1521677531438628864 버클리 행사 https://www.youtube.com/watch?v=Ct6H5GcnA0A\&t=2395s 제로 지식 증명 응용 연구 시리즈 https://youtube.com/playlist?list=PLrzRr7okCcmbAlgYpuFjzUJv8tAyowDQY 감사자 회의: https://www.youtube.com/playlist?list=PLrzRr7okCcmZmDrVozX5hhBQlsrpZdsij Twitter 매주 업데이트 https://twitter.com/ScrollZKP/status/1621573571259793408 python-specs https://github.com/privacy-scaling-explorations/zkevm-specs

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
체인캐처 혁신가들과 함께하는 Web3 세상 구축