배경
첫 번째 레벨 제목
배경
이전에 블록체인의 개발은 항상 퍼블릭 체인의 군비 경쟁이었습니다.새로운 퍼블릭 체인은 블록체인의 가능한 대규모 상업적 사용을 지원할 수 있도록 더 빠른 성능과 더 낮은 비용을 탐색하는 것을 목표로 합니다. 하지만 여전히 혼자 운영되는 블록체인을 구축하고 싶은 팀이 있을 수 있지만, 블록체인을 구축하고 유지하는 것이 매우 어렵고 팀이 원래 하고 싶었던 일을 할 수 있는 여분의 에너지를 갖기도 어렵습니다. . 우월하다. 그러나 산업의 발전은 체인 구축의 어려움으로 인해 방해받을 수 없기 때문에 Polkadot 또는 Cosmos와 같은 Layer 0 프로젝트가 탄생했습니다.
Substrate는 블록체인 개발에 필요한 기본 공용 구성 요소를 제공하는 오픈 소스 범용 블록체인 개발 프레임워크로, 일반 개발자가 블록체인 애플리케이션을 신속하게 개발하여 자신의 아이디어를 검증할 수 있도록 합니다. Substrate의 설계 및 개발 중에 주요 고려 사항 중 하나는 소프트웨어의 확장성을 보장하는 것입니다. 패리티 엔지니어는 개발 중에 다양한 유형의 퍼블릭 체인, 프라이빗 체인, 얼라이언스 체인, 크로스 체인 등과 같은 다양한 사용 시나리오를 고려했습니다. Substrate는 또한 WASM 스마트 계약 및 플러그 가능한 합의 메커니즘을 지원하며 Polkadot 네트워크와 호환됩니다.
Cosmos SDK는 Cosmos Hub와 같은 다중 자산 공용 지분 증명(PoS) 블록체인과 허가된 권한 증명(PoA) 블록체인을 구축하기 위한 오픈 소스 프레임워크입니다. Cosmos SDK를 사용하여 구축된 블록체인은 종종 애플리케이션별 블록체인이라고 합니다. Cosmos SDK의 목표는 개발자가 다른 블록체인과 기본적으로 상호 운용할 수 있는 맞춤형 블록체인을 처음부터 쉽게 만들 수 있도록 하는 것입니다. 우리는 Cosmos SDK를 CometBFT 위에 안전한 블록체인 애플리케이션을 구축하기 위한 npm과 같은 프레임워크로 봅니다.
SDK 기반 블록체인은 대부분 오픈 소스이며 모든 개발자가 사용할 수 있는 구성 가능한 모듈로 구축됩니다. 누구나 Cosmos SDK용 모듈을 생성할 수 있으며 이미 구축된 모듈을 블록체인 애플리케이션에 통합하는 것은 모듈을 가져오는 것만큼 쉽습니다. 더 중요한 것은 Cosmos SDK는 개발자가 모듈 간 상호 작용의 안전성에 대해 더 잘 추론할 수 있도록 하는 기능 기반 시스템입니다.Substrate 프레임워크와 Cosmos SDK에 대해서는 비교 차트를 통해 간단히 이해할 수 있습니다.
하지만 얼핏 보면 두 사람이 하는 일이 비슷해 개발자들이 빠르게 체인을 만들 수 있도록 도와주고 현재 유행하는 모듈식 블록체인 개념과도 궤를 같이 한다. 그들은 비교합니까? 그리고 그런 질문들이 마침내 폴카닷 포럼에서 논의되었습니다.
한 개발자가 비교적 구체적인 질문을 했습니다.
Cosmos SDK와 Substrate를 기술적인 차원에서 비교할 수 있습니까? 더 구체적으로:
1. Go보다 Rust를 사용하면 정말 이점이 있습니까?
2. 도구/라이브러리/생태계 등에서 어떤 플랫폼이 우월한가요?
3. Substrate 또는 Cosmos로 개발하는 것이 "더 쉬운"가요? (주관적이지만 의견을 듣고 싶습니다.)
4. 어떤 것이 더 배우기 쉬운가요?
5. 둘 다 동일한 기능을 수행할 수 있습니까? (예를 들어, 별도의 DeFi 블록체인을 만들고 싶은데 왜 하나를 선택해야 합니까?)
Parity의 소프트웨어 엔지니어링 이사인 Shawn Tabrizi는 주로 기판 생태계에서 개발자 경험을 개선하는 일을 담당하고 있으며 Polkadot의 핵심 소프트웨어 개발에도 참여하여 Polkadot에 공유 보안, 교차 체인 통신 및 병렬 체인 슬롯과 같은 기능을 제공합니다. 그가 이 질문에 대답하는 것이 적절하다.
그의 대답은 다음과 같습니다.
먼저, 위의 질문 중 일부에 대한 출발점을 이해하면서 질문을 플랫폼의 핵심 기둥에 대한 질문, 즉 변경할 수 없는 질문과 보다 일시적인 질문으로 나누는 것이 좋습니다.
예를 들어, 저는 Cosmos가 아마도 현재 구축하고 배우기에 "더 쉬운" 플랫폼이라고 말하는 것이 타당하다고 생각합니다. 이것은 주로 새로운 개발자에게 친숙해 보이는 Go 언어를 사용하기 때문입니다. Cosmos가 체인을 출시하기 시작했을 때, Polkadot이 파라체인을 출시하기 시작했을 때 Cosmos는 일정보다 1~2년 앞당겨졌고 이를 지적하는 것이 타당하다고 생각합니다. 결국, 범용 컴퓨팅 중심 블록체인보다 토큰/DeFi 중심 블록체인을 만드는 데 더 중점을 두기 때문에 그들의 일 중 일부가 더 간단하다고 생각합니다.
이러한 문제에 대해 저는 Cosmos가 배우기 더 쉬울 수 있지만 우리는 그것을 바꾸기 위해 우리가 할 수 있는 모든 것을 절대적으로 하고 있으며 멈출 수 없는 분산 응용 프로그램을 구축하는 것에 대한 결정이 "오늘 더 쉬운"에 기반하지 않기를 바랍니다. . 대신 비즈니스를 구축할 플랫폼을 선택할 때 기술적으로나 철학적으로 올바른 결정을 내리는 플랫폼을 선택해야 합니다.
이 경우 Polkadot이 다른 모든 차세대 블록체인 플랫폼보다 상당한 이점을 가지고 있다고 주장할 수 있는 곳이라고 생각합니다.
컴퓨팅 확장성을 위해 샤딩을 통해 실행을 병렬화합니다(현재 프로덕션에서 이미 실행 중이며 향후 로드맵의 일부가 아님).
리소스/경제적 확장성을 위해 릴레이 체인에서 제공하는 공유 보안을 사용합니다.
활동성을 위해 블록 생성에는 BABE를 사용하고 완결성에는 GRANDPA를 사용합니다.
향후 호환성 및 성능을 위해 Wasm을 모든 상태 전환 기능의 핵심으로 사용합니다.
모든 소프트웨어를 사용하기 쉽게 만들고 성능을 향상시키기 위해 Rust를 사용합니다.
민첩성을 개발하기 위해 온체인 거버넌스 및 업그레이드를 기술의 핵심에 두었습니다.
등...
이러한 것의 중요성은 NFT 출시를 살펴보거나, 총 가치 잠김(TVL)을 비교하거나, 백서를 읽는 것만으로는 이해하기 쉽지 않습니다. 이러한 결정은 체인에서 생성된 각 블록에 누적됩니다. 이러한 결정의 영향은 수년 동안 느껴질 것입니다.
또한 코스모스의 체인 간 보안 문제에 대해 Shawn은 다음과 같이 덧붙였습니다.
Cosmos의 "인터체인 보안"은 공유 보안처럼 들리지만 실제로는 동일하지 않습니다. 공유 보안과 같은 것은 기존 프로토콜에서 역추적할 수 없습니다. 공유 보안을 지원하는 것은 상태 전이 기능인 Wasm의 공유 언어에서 파라체인 프로토콜 및 PoV/PVF(유효성 증명, 파라체인 검증 기능) 및 릴레이 체인 자체의 존재에 이르기까지 하위 계층에서 설계되어야 합니다.
스스로를 탈중앙화, 개방, 보안, 내결함성 등이라고 부르는 동일한 체인입니다. 이러한 단어로 무엇이든 설명하기 쉽습니다. 실제로 그 단어가되도록하는 것은 더 어렵습니다.
다음은 Polkadot의 공유 보안과 Cosmos가 말하는 빌드 간의 차이점을 논의하는 게시하려는 Twitter 스레드의 첫 번째 초안입니다. 코스모스 측의 제안이 거부되었기 때문에 34 나는 과거의 유령과 싸우기보다는 아무것도 게시하지 않기로 결정했습니다. (참고: Shawn이 이 질문에 답했을 때 코스모스 2.0 제안은 방금 거부되었지만 2023년 초 코스모스 2.0이 공식적으로 통과되었습니다.)
보조 제목
인터체인 보안 Twitter 게시물(초안)
Polkadot 백서에서 공유 보안의 중요성을 강조한 지 거의 6년이 지난 지금 Cosmos Hub는 이를 따르려고 합니다. 그러나 Polkadot과 달리 Cosmos는 사실 이후에 이러한 결정을 안내하고 궁극적으로 이를 잘 지원하지 못하는 프로토콜에 적용하려고 합니다. 더 깊이 파고들자.
공유 보안은 2016년 11월 원본 백서가 처음 제출된 이후 Polkadot 디자인의 핵심 부분이었습니다. 당시에는 "풀링된 보안"이라고 불렸지만 그 이후로 모든 아키텍처 결정을 안내하는 기본 원칙이 되었습니다.
그림의 내용:
즉, Polkadot은 매우 중요한 두 가지 사항을 제외하고 독립 체인 집합(예: Ethereum, Ethereum Classic, Namecoin 및 Bitcoin을 포함하는 집합)과 동일하다고 생각할 수 있습니다.
1. 풀 보안;
2. 신뢰가 없는 체인간 거래성. Polkadot을 "확장 가능"하다고 생각하게 만드는 것은 바로 이러한 점입니다. 원칙적으로 Polkadot에 배포할 문제는 많은 수의 파라체인에 걸쳐 대규모로 병렬화될 수 있습니다. 각 파라체인의 모든 측면은 Polkadot 네트워크의 다른 부분에 의해 병렬로 수행될 수 있기 때문에 시스템은 어느 정도 확장 가능합니다.
Cosmos Hub는 기존 프로토콜의 확장인 "Atom 2.0"에 대한 새로운 백서를 발표했으며 새로운 원칙 중 하나는 "인터체인 보안"입니다. Cosmos 팀은 이 기능을 Polkadot에서 제공하는 공유 보안과 유사하다고 생각하지만 두 기술은 실제로 상당히 다릅니다.
그림의 내용:
체인 간 보안: 보안은 Cosmos 네트워크의 핵심 구성 요소를 구축하는 데 필요한 기반이며 Cosmos Hub의 체인 간 보안 환경은 보다 실용적이고 효율적이며 협업할 수 있는 새로운 기능으로 강화됩니다.
그렇다면 코스모스의 인터체인 보안은 어떻게 작동할까요? Polkadot의 공유 보안은 어떻게 작동합니까? 여기에서 주요 차이점은 무엇이며 실제로 비교하는 방법은 무엇입니까?
Cosmos 생태계는 일반적으로 Cosmos SDK를 사용하여 구축된 소버린 체인으로 구성됩니다. 체인 간 보안 제안 Cosmos Hub 유효성 검사기는 다른 체인의 유효성 검사에 참여하기 위해 거버넌스에 의해 시행됩니다. 이를 위해 Cosmos Hub의 유효성 검사기는 "체인간 보안"을 제공할 각 체인에 대해 추가 실행 가능 바이너리를 실행해야 합니다. 의무를 다하지 못하면 스테이킹한 ATOM 토큰이 삭감됩니다. 문제는 이 설계가 확장성이 없고 현재 Cosmos 생태계 설계만큼 확장 가능하지 않다는 것입니다.
허브가 100개의 다른 체인에 보안을 제공하고 싶다면 노드 운영자는 경쟁 컴퓨팅 리소스를 방지하기 위해 100개의 별도 시스템에서 100개의 블록체인을 실행해야 합니다. 이 디자인은 또한 유효성 검사기가 악의적인 바이너리 업그레이드의 공격을 받을 위험을 증가시킵니다. 수백 개의 소프트웨어 팀과 신뢰를 구축하기는 어렵습니다. 모두 실행해야 하며 해당 시스템에 저장한 민감한 키를 대상으로 할 수 있습니다.
반면에 Polkadot은 처음부터 공유 보안을 설계했으며 메타 프로토콜을 사용하여 진정으로 확장 가능하고 안전한 방식으로 단일 생태계에서 여러 블록체인 실행을 추상화합니다. 이 메타 프로토콜은 Wasm입니다.
Polkadot 호환 블록체인은 클라이언트와 런타임의 두 부분으로 생각할 수 있습니다. 각 클라이언트는 Wasm 실행자 역할을 하며 블록체인 런타임(예: 상태 전환 기능)은 안전한 샌드박스에서 실행할 수 있는 Wasm 바이너리 대형 객체(BLOB)입니다.
다양한 게임을 할 수 있도록 설계된 게임 콘솔과 비교할 수 있습니다. Polkadot 클라이언트와 마찬가지로 콘솔은 단순히 게임을 실행하는 호스트입니다. 당사의 블록체인 개발 SDK(소프트웨어 개발 키트)인 Substrate를 사용하면 이 콘솔과 호환되는 "게임"(런타임)을 쉽게 설계할 수 있습니다.
이러한 맥락에서 Polkadot 바이너리를 "올인원 기계"로 생각할 수 있습니다. Polkadot 유효성 검사기는 Parachain Wasm Runtime을 실행하는 실행 파일을 실행합니다. 이는 단일 Polkadot 바이너리가 실시간으로 Polkadot 생태계의 모든 블록체인으로 전환될 수 있음을 의미합니다.
Polkadot 생태계의 유효성 검사기는 한 번에 하나의 역할만 수행합니다. 검증자 풀에서 일부는 릴레이 체인을 검증하기 위해 선택되고 나머지는 Polkadot이 동시에 보호하는 많은 파라체인에 분산됩니다. 이 선택 프로세스는 임의적이며 시간이 지남에 따라 변경되어 일부 악의적 행위자의 공모 가능성에 저항합니다.
즉, 전체 Polkadot 생태계와 광범위한 응용 프로그램별 블록체인을 검증된 단일 실행 파일을 사용하여 보호할 수 있습니다. 다른 모든 블록체인의 상태 전환 기능은 샌드박스에서 실행되어 네트워크 및 노드 운영자도 안전하게 유지합니다.
하지만 잠깐... 더 있습니다.
Cosmos는 Polkadot이 오늘날 이미 존재하는 통합 경제 보안에 대한 대략적인 근거를 마침내 파악했지만 다중 체인 보안 허브의 더 깊은 역할을 완전히 무시합니다.
Polkadot 릴레이 체인의 주요 측면은 모든 파라체인의 상태를 추적하고 동기화 상태를 유지한다는 것입니다. 즉, 폴카닷에서 확인된 블록은 모든 파라체인과 동일한 높이에 있는 모든 체인 간의 상호 작용이 종료되었음을 의미합니다. 이것이 백서에서 언급한 두 번째 포인트인 신뢰할 수 없는 체인간 거래성입니다.
미래는 다중 체인이 될 것이며 Polkadot은 설계상 이 미래를 지원하는 데 가장 적합합니다.
요약
첫 번째 레벨 제목
요약
Shawn의 답변은 이해하기 어려울 수 있는 많은 기술적인 답변으로 가득 차 있습니다. 간단히 말해서 Shawn이 표현하고자 하는 내용은 다음과 같습니다.
1. Shawn은 Cosmos가 새로운 개발자에게 더 친숙한 Go 언어를 사용하기 때문에 배우고 구축하기가 더 쉬울 수 있다고 인정했습니다. 그러나 그는 플랫폼을 선택할 때 어떤 것이 더 사용하기 쉬운지 따지는 것이 아니라 기술적으로나 철학적으로 올바른 결정을 내리는 플랫폼을 선택하는 것이 핵심이라고 믿는다. 또한 둘의 차이점을 논의하기 위해서는 코스모스가 폴카닷보다 1~2년 먼저 운영되고 있다는 사실을 알아야 합니다.
2. 그는 Polkadot이 컴퓨팅 확장성, 리소스/경제적 확장성, 활성도, 미래 호환성 및 성능, 사용 용이성, 개발 민첩성 등 여러 측면에서 장점이 있다고 믿습니다. 이러한 이점은 겉으로 보기에는 쉽지 않을 수 있지만 시간이 지나면서 영향을 미치게 됩니다.
3. 공유 보안은 2016년 11월 원본 백서가 제출된 이후 Polkadot 디자인의 핵심 부분이었으며 Cosmos Hub는 새로운 "Atom 2.0" 백서를 게시한 후에야 이를 따르기 시작했습니다.
4. Cosmos의 인터체인 보안은 실제로 Polkadot의 공유 보안과 상당히 다릅니다. Cosmos는 검증자가 체인 간 보안을 제공하는 각 체인에 대해 실행 가능한 바이너리를 추가로 실행해야 하기 때문에 확장하도록 설계되지 않았습니다. 이 디자인은 또한 유효성 검사기가 악의적인 바이너리 업그레이드의 공격을 받을 위험을 증가시킵니다.
결론적으로, Cosmos는 인터체인 보안과 관련하여 올바른 철학적 방향으로 나아가고 있지만, 이 철학은 사후에 엔지니어링하는 것이 거의 불가능합니다. 지난 6년 동안 Polkadot은 인터체인 보안을 염두에 두고 설계되었으며 이러한 원칙을 염두에 두고 구축되었습니다. 미래는 다중 체인이 될 것이며 Polkadot은 설계상 이 미래를 지원하는 데 가장 적합합니다.
추신
첫 번째 레벨 제목
추신
기술적인 관점에서 Substrate 프레임워크는 고유한 기술적 장점을 가지고 있는 것으로 보입니다.한편 코스모스가 2.0 인터체인 보안을 구현하더라도 이 기능은 사후에 설계되기 때문에 Cards가 설계한 기능을 완전히 달성할 수는 없습니다. 처음부터 보안 수준을 달성했습니다. 그렇다면 Substrate 프레임워크와 Polkadot은 특정 문제를 해결하는 데 고유해야 하며 일치하는 시장이 있어야 합니다. Apple의 엄격한 요구 사항과 상대적으로 높은 임계값과 마찬가지로 더 개방적이지만 임계값이 낮은 Android에 비해 여전히 장점이 있습니다.
