텍스트계층화된 암호 경제 네트워크계층화된 암호 경제 네트워크
. 이러한 출발점은 다른 디자인 아이디어를 가져옵니다.
레이어링이 향후 개발 방향이라고 믿는다면 처음부터 상위 레이어 프로토콜과 레이어드 네트워크의 요구 사항을 고려하고 레이어드 프레임워크 내에서 블록체인 프로토콜을 설계해야 합니다.즉, 계층적 관점에서 볼 때 기존 블록체인 디자인은 시대에 뒤떨어진 것입니다. 기존 블록체인은 특정 기능(예: 결제 또는 DApp 실행)을 염두에 두고 설계되었으며 일정 기간 작동 후 상위 계층 프로토콜이 자체적으로 적응하기를 바랍니다. 그러나 인터넷의 역사를 읽어보면 오늘날 인터넷의 프로토콜 계층화는 이런 식으로 패치된 것이 아니라 과거의 경험을 흡수한 후라는 것을 알 수 있다.레이어링 아이디어를 기반으로 재설계
보조 제목
Layer 1 vs. Layer 2
텍스트
Layer 1이 무엇을 해야 하는지 파악하려면 먼저 상위 계층 프로토콜과의 차이점을 파악해야 합니다. Layer 2는 퍼블릭 체인(여기서는 Permissionless 블록체인)의 성능이 부족하고 전체 암호화 경제의 요구를 충족시키기 위해 확장하기 어렵다는 사실을 발견한 데서 비롯되었습니다. Payment Channel, Plasma 등과 같이 블록체인으로 보호할 수 있는 프로토콜이러한 프로토콜의 공통 기능은 성능을 대가로 합의 범위를 희생한다는 것입니다. 퍼블릭 체인의 가장 놀라운 점은 개방형 네트워크를 통해 전 세계를 망라하는 중단 없는 서비스를 제공한다는 것인데, 이는 글로벌 합의와 낮은 성능을 의미합니다. 이 문제를 해결하는 가장 좋은 방법은 대부분의 트랜잭션을 합의 범위는 더 작지만 성능은 더 좋은 상위 계층 프로토콜로 전송하고 상위 계층 프로토콜의 참가자가 항상불만족 시 블록체인으로 돌아가 문제 해결
따라서 Layer 1 블록체인으로서 초점은 당연히 성능이 아니어야 합니다. Layer 2가 이 책임을 맡을 것이기 때문입니다. 레이어 1은 상위 레이어 프로토콜 참여자를 보호하기 위한 마지막 방어선이며 보안과 탈중앙화에 중점을 두어야 합니다(보안과 탈중앙화는 두 가지이며 시간이 있을 때 확장할 예정입니다). Layer 2 프로토콜이 Layer 1과 상호 작용하는 모드를 관찰하면 Layer 1이 상태 합의(스토리지)를 담당하고 Layer 2가 상태 생성(계산)을 담당한다는 것도 알 수 있습니다.
보조 제목
계산 및 상태프로그래머의 세계에는 널리 퍼진 공식이 있습니다.프로그램 = 알고리즘 + 데이터 구조
. 이 방정식은 프로그래밍, 계산(알고리즘, 계산 단계) 및 데이터(계산 대상)의 두 가지 핵심 관심사를 나타냅니다. 데이터는 프로그램 입력(외부 데이터)과 상태(내부 데이터)의 두 가지 유형으로 나눌 수 있습니다.컴퓨터 과학에서 "상태"라는 용어는 프로그램이 실행되는 특정 순간에 액세스할 수 있는 모든 데이터로 이해될 수 있습니다. 프로그램에는 변수가 있으며 변수는 일반적으로 데이터를 저장할 수 있는 메모리의 위치를 나타내며 이 위치의 내용이 프로그램의 상태입니다. 프로그램의 출력은 전적으로 입력과 실행이 시작될 때의 상태에 따라 달라집니다. 계산(CPU), 입/출력(IO) 및 상태(메모리)는 완전한 구성 요소입니다., 오늘날 가장 인기 있는 컴퓨팅 아키텍처입니다.
보조 제목
결제 채널을 예로 들어 보겠습니다.
지불 채널에서 Layer 2의 합의 범위는 최소 합의인 두 사람 사이로 좁혀집니다. 채널에 참여하는 두 사람은 다음 작업을 수행합니다.
1. 레이어 1에 트랜잭션을 보내 채널을 설정하고 특정 상태를 잠그며 잠긴 상태는 Alice와 Bob 모두의 서명으로만 업데이트할 수 있습니다.
예를 들어 Alice는 1 BTC를 잠그고 Bob은 1 BTC를 잠그고 (1, 1)을 사용하여 Layer 1에서 잠긴 상태를 나타냅니다.
2. 두 당사자는 체인 외부(계층 2)의 네트워크 연결을 통해 새로운 상태를 생성 및 교환하고 각각의 서명에 서명합니다.
b.Bob → Alice 0.1 BTC,a.Alice → Bob 0.5 BTC, Alice/Bob이 로컬에 저장한 새 상태는 (0.5, 1.5)
Alice/Bob이 로컬로 저장한 새 상태는 (0.6, 1.4)c입니다.…
d.마지막 교환 후 Alice/Bob이 로컬에 저장한 새 상태는 (0.2, 1.8)이고 양 당사자는 상태에 서명했습니다.
3. 최종 상태를 레이어 1로 보냅니다. 레이어 1은 최종 제출된 상태에 Alice/Bob의 서명이 있는지 확인하고 잠긴 상태를 (0.2, 1.8)로 업데이트하고 잠금을 해제합니다.
이 예에서 우리는 전체 프로세스에서 우리가 일반적으로 논의하는 계산이 두 부분으로 나뉘어져 있음을 쉽게 알 수 있습니다: 새로운 상태의 생성과 새로운 상태의 검증. 전자는 레이어 2에서 발생하고 후자는 레이어 1에서 발생합니다. Plasma 또는 TrueBit과 같은 다른 레이어 2 프로토콜을 관찰하면 비슷한 결론을 쉽게 내릴 수 있습니다. Layer 1이 Layer 2에서 생성된 상태를 확인하기 때문에 Layer 2에서 Layer 1까지의 보안을 보장할 수 있습니다. 레이어 1은 암호화 증명을 인식할 수 있는 "법원"이기 때문에 "암호화 법원"으로 간주될 수 있습니다.
모든 프로그램은 계산과 상태를 가지고 있으며 블록체인에서 실행되는 프로그램(DApp)도 예외는 아닙니다. 상태를 저장합니다. 상태 생성과 검증의 분리로 인해 상태 생성 방법은 검증에서 분리될 수 있으며 상태 생성은 더 큰 자유도를 갖는 레이어 1 프로그래밍 모델에 구속될 필요가 없습니다. 레이어 1 검증을 통과할 수 있는 한 상태 생성도 중앙 집중화할 수 있습니다(사실 대부분의 플라즈마 프로토콜에는 하나의 오퍼레이터만 있습니다!).
보조 제목
레이어 1이 해야 할 일
"계산"이라고 하면 실제로는 "상태 생성"에 대해 말하는 것입니다. 일반적인 컴퓨팅 모델에서는 신뢰 및 보안 문제가 없으므로(내 CPU는 거짓 결과로 나에게 거짓말을 하지 않을 것임) 검증과 상관없이 생성하는 것이 좋지만 블록체인 네트워크에서는 생성해야 할 뿐만 아니라 또한 인증이 필요합니다. 레이어 1의 초점은 상태 생성이 아니라 상태의 확인 및 저장에 있어야 합니다(혼동하지 않기를 바랍니다...).
이를 통해 마침내 Layer 1이 수행해야 하는 작업을 추론할 수 있습니다.
1. 안전한 합의 프로토콜이 필요하며 범위가 클수록 좋습니다. PoW 기반의 Nakamoto Consensus는 실제 환경에서 검증된 유일한 글로벌 합의 프로토콜입니다.
2. 다양한 상태 검증 로직을 지원하기 위해서는 프로그래밍 가능성이 필요합니다. 즉, 강력한 프로그래밍 모델(상태 모델 + 가상 머신)이 필요합니다.
3. 블록체인 프로토콜은 암호학을 기반으로 하고 있고 Layer 1과 Layer 2 사이에 전달되는 증명이 암호학적 증명이기 때문에 다양한 암호학적 증명을 이해할 수 있어야 합니다.
4. 검증된 상태는 Layer 1에 머물게 되므로 상태를 잘 관리해야 합니다. 이것은 국가 중심의 경제 모델이 필요하다는 것을 의미합니다.https://talk.nervos.org/t/layer-1/1486
