Marlin: Layer 0의 확장 가능한 방식
蓝狐笔记
2020-12-11 07:26
本文约6504字,阅读全文需要约26分钟
레이어 0과 퍼블릭 체인의 확장성.

편집자 주: 이 기사의 출처는푸른여우노트 (ID: lanhubiji), 승인을 받아 Odaily에서 재인쇄했습니다.

편집자 주: 이 기사의 출처는

푸른여우노트 (ID: lanhubiji)

, 승인을 받아 Odaily에서 재인쇄했습니다.

이전에도 퍼블릭 체인의 확장성에 대해 여러 번 이야기했지만 대부분 샤딩, 플라즈마, ZK-Rollup, 낙관적 롤업, 상태 채널, 사이드 체인 등과 같은 레이어 1 및 레이어 2의 확장성에 대해 논의합니다. . 오늘날 Blue Fox Notes는 Layer 0에 중점을 둡니다.

Layer 0을 통한 확장성은 Ethereum과 같은 블록체인에 무엇을 가져옵니까?

보조 제목

레이어 0 및 확장성

계층 0은 노드 간에 정보를 전달하는 통신 계층입니다. 정보가 구성되는 방식은 합의에 도달할 수 있는 효율성과 직접적인 관련이 있습니다. 합의에 도달하는 속도는 블록체인의 확장성 및 보안과 관련이 있습니다. 이러한 관점에서 Layer 0은 블록체인의 확장성 향상에도 기여할 수 있습니다.

블록체인 네트워크와 중앙 집중식 네트워크의 차이점은 블록체인 네트워크는 허가가 필요하지 않으며 인터넷 자체의 제한 사항을 고려해야 한다는 것입니다. 중앙 집중식 기업이라면 사설 회선을 사용하여 CDN 및 SD-WAN을 통해 네트워크 성능을 향상시킬 수 있습니다. 분산 네트워크의 경우 이는 현실적이지 않습니다.

그렇다면 위에서 언급한 문제를 해결할 기회가 있을까요?

보조 제목

말린의 레이어 0

청새치는 세계에서 가장 빠른 물고기로 알려진 청새치입니다. Marlin은 블록체인을 지원하는 통신 계층으로, Marlin의 프로모션을 통해 블록체인 네트워크의 속도가 점점 더 빨라지기를 바랍니다. Marlin은 레이어 0을 통한 블록체인 확장성 개발에 자체 솔루션을 제공하기를 희망합니다.

이미지 설명

(말린은 가장 빨리 헤엄치는 물고기라고 합니다, Marlin.pro)

블록체인의 TPS를 향상시키기 위해서는 일반적으로 체인의 관점에서 두 가지 방법이 있는데 하나는 블록 용량을 늘리는 것이고 다른 하나는 블록 생성 시간을 줄이는 것입니다(여기서는 수평 샤딩은 고려하지 않습니다) ).

큰 블록 방식을 채택하면 노드가 수신한 정보를 확인하는 데 시간이 더 오래 걸리므로 블록 브로드캐스팅 속도가 느려지고 블록 생성 시간이 단축되고 블록 생성 속도가 증가하면 포크 문제가 발생합니다. 그 이유 중 하나는 블록 전파 속도에 의해서도 제한됩니다. 블록 생성 속도를 높이려면 블록 전파 속도를 높여야 합니다. 현재 블록 전파 속도는 블록 생성 속도를 높이는 데 도움이 되지 않습니다. 사람들이 비트코인의 블록 크기를 1M 상한에서 32M 또는 2G로 수정하거나 블록 시간을 약 10분에서 더 짧은 시간으로 단축하면 확장성은 향상되지만 더 큰 문제가 발생합니다. 예를 들어 전체 노드는 오프라인에서는 데이터를 동기화할 수 없으며 블록을 재구성해야 합니다. 블록이 너무 크고 블록 생성 시간이 너무 빠르면 네트워크의 일관성이나 가용성에 문제가 발생하게 되는데 가장 중요한 이유 중 하나는 전체 노드가 네트워크와 하드웨어의 물리적 조건에 의해 제한되기 때문입니다. , 제 시간에 확인하고 방송할 수 없습니다.

Marlin 네트워크에는 Marlin 노드라고 하는 중계용으로 특별히 사용되는 노드가 있으며, 노드는 서로 정보를 전송하여 전파 속도를 높일 수 있습니다. Marlin은 CDN 가속 기술을 차용하여 네트워크를 분할하므로 중계 네트워크가 많습니다.

현재 네트워크 계층도 탈중앙화 프로토콜에 적합하지 않습니다.현재 일부 프로토콜의 메커니즘 설계에서 경쟁으로 인해 채굴자는 블록을 중계하고 최신 블록을 받을 동기가 있지만 다른 채굴자를 적극적으로 전파할 동기는 거의 없습니다. 채굴자는 블록을 먼저 채굴하기를 희망합니다. 노드는 다른 노드가 스스로 브로드캐스트하고 히치하이킹하여 대역폭 비용을 절약할 것으로 기대합니다. 동시에 이 메커니즘은 중앙 집중화로 이어질 것입니다. 왜냐하면 결국 이러한 대규모 노드만이 이러한 트랜잭션을 전달할 인센티브를 가지기 때문입니다. 이기적인 채굴과 같은 문제를 해결하기 위해 Marlin은 경제적 인센티브 메커니즘을 통합합니다. 네트워크의 노드는 성공적으로 정보를 전달하는 한 보상을 받을 수 있으므로 정보 전송 속도를 높일 수 있습니다. 인센티브 메커니즘이 있는 네트워크 계층을 도입하면 스팸/DDoS와 같은 공격도 방지할 수 있습니다.

퍼블릭 체인에 확장성을 제공하는 것 외에도 Marlin은 DeFi 애플리케이션을 위한 가속 서비스도 제공할 수 있습니다.Siddhartha는 Marlin의 창립자이자 퍼블릭 체인 프로젝트 Zilliqa의 전 핵심 개발자 중 한 명입니다. 그는 "예를 들어 DeFi 분야에서 Marlin의 릴레이 프레임워크는 주변 인터페이스를 제공할 수 있으며, 이는 DeFi 거래자에게 낮은 대기 시간의 이점을 제공합니다. DApp 초기 단계에서 Infura, Alchemy 및 Graph와 같은 API를 쿼리할 때 , 로딩 시간이 10초로 매우 느린 경우가 많으며, Marlin Cache는 이 지연을 약 250밀리초로 줄일 수 있으며 DApp에서 web2.0과 같은 성능을 얻을 수 있습니다."

모든 P2P 애플리케이션은 노드 통신을 위해 네트워크 계층을 사용하므로 분산 스토리지 또는 컴퓨팅을 사용하는 모든 애플리케이션이 Marlin의 서비스를 활용할 수 있습니다. 예를 들어 현재 IPFS를 사용하는 애플리케이션은 사용자가 성능을 개선할 수 있도록 중앙 집중식 CDN을 사용해야 합니다. Marlin의 장점은 Filecoin/Arweave를 사용하는 이러한 응용 프로그램이 CDN 없이도 좋은 성능을 얻을 수 있다는 것입니다. 이러한 관점에서 Marlin은 Web 2 시대의 Akamai와 유사합니다.

Marlin의 레이어 0 확장성

Marlin은 레이어 0에서 퍼블릭 체인의 확장성 문제를 해결합니다. 핵심은 릴레이 네트워크와 토큰 인센티브 메커니즘의 두 가지 측면에서 설계에서 비롯됩니다.

1. 릴레이 네트워크

Marlin 프로토콜은 릴레이 네트워크를 구성하기 위한 프로토콜입니다. 프로토콜 요구 사항을 따르는 Marlin 노드는 릴레이 네트워크를 형성합니다. Marlin 노드 외에도 릴레이 노드와 릴레이 네트워크가 성능 및 SLA 보장을 준수하는지 확인하는 감사자 노드가 있습니다. Marlin 네트워크 사용자는 채굴자와 풀 노드를 가질 수 있으며, 채굴자는 Marlin 릴레이 네트워크를 사용하여 데이터 패킷과 블록을 브로드캐스팅하고 풀 노드(지갑 또는 판매자 등)는 Marlin 네트워크를 사용하여 최신 거래 및 블록을 수신합니다. 따라서 Marlin 네트워크는 본질적으로 릴레이 네트워크 시장입니다.

이미지 설명

(Marlin 네트워크의 주요 플레이어, Marlin.pro)

위의 그림에서 Marlin은 참여자를 생산자, 수신자, 릴레이어 및 릴레이 클러스터(릴레이 네트워크)로 나눕니다. 여기서 생산자는 릴레이 네트워크에 블록을 도입하는 노드 그룹입니다. 생산자는 일반적으로 광부이며 가능한 한 빨리 블록을 브로드캐스팅합니다. 생산자는 블록 유효성에 대한 책임이 있으며 유효하지 않은 블록을 도입한 생산자는 불이익을 받습니다.

수신자는 다른 채굴자, 거래소, 지갑, 블록 탐색기 또는 다른 노드 등을 포함하며 가능한 한 빨리 블록을 수신하기를 원합니다. 수신자는 수신자가 되기 위해 프로토콜에 가입비를 지불해야 합니다. 릴레이어는 생산자에서 수신자로 블록을 릴레이하는 노드 그룹입니다. Relayer는 가능한 한 빨리 블록을 배포한 것에 대해 보상을 받을 것이며, 블록의 릴레이 배포에 참여하는 노드만이 보상을 받을 수 있는 기회를 갖게 됩니다. 릴레이어 클러스터는 릴레이어로 구성된 릴레이 네트워크 집합입니다. 그들은 블록 전파에 대해 공동으로 책임을 지며 이에 대한 보상을 받습니다.

또한 Marlin 프로토콜 네트워크는 어떻게 구성되어 있습니까?

Marlin 네트워크는 생성, 관리, 패킷 브로드캐스트 및 모니터링의 네 부분으로 나눌 수 있습니다.

*만들다

Marlin 네트워크는 많은 Marlin 노드로 구성되어 있으며 Marlin 노드가 되려면 먼저 Marlin 릴레이 노드 소프트웨어를 실행하고 일정량의 토큰을 약속해야 합니다. 이러한 노드는 양호한 네트워크 연결, 최종 사용자에게 더 가까운 위치 분포 등과 같은 특정 요구 사항을 충족해야 합니다.

Marlin 노드가 된 후 노드 및 릴레이 네트워크는 IP 주소, 중간 대역폭, 경도, 위도 및 약속된 토큰 공개 키 등을 포함하여 대상 사용자(예: 광부 및 전체 노드)에게 자체 기능, 기능 및 가격을 표시할 수 있습니다. . 그리고 채굴자와 풀 노드는 필요에 따라 릴레이 네트워크를 선택할 수 있습니다. 이것은 거래 시장을 형성합니다.

노드는 릴레이 클러스터를 생성하고 가입할 수 있는 최대 노드 수, 지리적 위치에 따라 가입할 수 있는 최대 및 최소 노드 수, 노드의 최소 약정 금액, 노드의 최소 구성 요구 사항(대역폭, CPU 코어, 등), 최소 SLA 요구 사항 등 . 릴레이 네트워크가 생성되면 Marlin 마켓플레이스에 자동으로 나타납니다.

*관리하다

노드가 릴레이 네트워크를 생성한 후에는 노드 가입, 매개 변수 조정, 노드 종료 등 관리가 필요합니다.

노드는 초대를 받거나 가입을 신청하여 릴레이 네트워크에 가입할 수 있습니다. 노드는 다수의 투표가 동의한 후에 릴레이 네트워크에 참여하도록 초대될 수 있으며 초대된 노드는 초대가 만료되기 전에 초대 트랜잭션을 게시하는 한 참여할 수 있습니다. 또 다른 방법은 가입을 신청하는 것인데, 과반수가 동의하면 릴레이 네트워크에 가입할 수 있습니다.

릴레이 네트워크가 생성된 후에는 변경할 수 없습니다. 그것의 노드는 처음에 초기 매개 변수를 따르지만. 그러나 후속 노드가 합류하면 이 노드도 발언권을 갖게 됩니다. 사용자 요구의 변화와 중계 네트워크의 경쟁 환경에 따라 중계 네트워크의 매개 변수도 조정될 수 있습니다. 이것들은 거버넌스를 통해 모두 바뀌어야 합니다. 현재 Marilin 네트워크는 투표를 사용하여 매개변수를 조정합니다. 소수의 노드가 동의하지 않으면 떠나기로 선택하고 자체 릴레이 네트워크를 만들 수 있습니다.

마지막으로 노드는 릴레이 네트워크를 종료할 때 인사를 해야 합니다. 노드가 아무런 통보 없이 릴레이 네트워크를 종료하면 릴레이 네트워크와 그 사용자에게 매우 해롭습니다. Marlin의 릴레이 네트워크에서 노드가 조용히 종료되거나 일찍 종료되면 약속된 토큰이 줄어듭니다. 릴레이 네트워크를 나가는 노드는 종료 선언 트랜잭션을 시작할 수 있습니다. 릴레이 네트워크가 대체 노드를 찾으면 클레임 기간이 끝나기 전에 해당 노드가 종료되도록 허용합니다. 또한 강제 종료 모드가 있으며, 대다수의 노드가 노드가 오작동한다고 생각하면 릴레이 네트워크에서 쫓겨날 수도 있습니다.

*패킷 방송

채굴자와 상인은 Marlin 릴레이 네트워크의 사용자이며 Marlin 노드와 상호 작용하기 위해 Marlin SDK를 통합하기만 하면 됩니다. 유연한 서비스를 제공하기 위해 Marlin은 모듈식 구조를 채택하고 있으며 프로토콜 개발자는 플러그인을 작성하여 일부 기능을 사용자 정의할 수 있으며 Marlin 노드 및 전체 노드에서 프로토콜 관련 데이터 패킷에 대해 사용자 정의 코드를 실행할 수 있습니다. 예를 들어, 다른 릴레이 네트워크를 선택하기 위한 전략, 특정 조건이 충족될 때 릴레이 네트워크를 무작위로 선택하거나 하드 코딩된 릴레이 네트워크 목록이 있습니다.

채굴자가 블록을 생성하면 자체 전략에 따라 중계망으로 보낼 수 있습니다. 이때 수수료 지불(진입 노드의 블록 검증 비용 충당) 문제에 직면할 수 있지만 수수료 지불은 추가적인 지연을 추가할 것입니다. 또 다른 대안은 첫 번째 홉에서 블록 검증을 줄이기 위해 채굴자들에게 토큰을 약속하도록 요구하는 것입니다.스팸일 경우 페널티가 부과될 수 있습니다.

Marlin의 릴레이 네트워크는 소스를 기반으로 최적화된 멀티캐스트 경로가 있는 메시 네트워크입니다. 가능한 가장 짧은 시간에 블록의 멀티캐스트 전송을 실현하기 위해 패킷 손실률, 대역폭 및 다른 경로의 대기 시간을 지속적으로 모니터링합니다.

블록 및 트랜잭션 수신 측면에서 채굴자는 인접한 Marlin 릴레이 노드에 가입하여 새로운 블록 및 트랜잭션에 대한 알림을 받습니다. Marlin 노드가 새 블록을 수신할 때마다 해시를 모든 가입자에게 보냅니다. 새로운 블록과 거래를 받는 가입자는 약간의 수수료를 지불합니다. 동시에 추가 지연을 피하기 위해 노드는 화이트리스트 마이너에 직접 푸시하고 나중에 지불할 수 있습니다.

*모니터링

이러한 감사 노드는 우선 익명이며 일반 광부 또는 전체 노드처럼 보입니다. 감사자 네트워크는 릴레이 네트워크와 독립적입니다. 특정 노드가 잘 수행되고 있는지 확인하기 위해 감사자 노드는 Schelling 포인트 메커니즘을 통해 투표하여 이러한 노드가 SLA 의무를 충족하는지 확인합니다. 노드가 요구 사항을 충족하지 못하면 약속된 토큰이 삭감됩니다.

2. 토큰 인센티브 메커니즘

이미지 설명

텍스트

우선, POND는 수수료를 지불하고, 릴레이 노드에 동기를 부여하고, 노드가 악을 행하지 못하도록 억제하는 데 사용될 수 있습니다.위에서 언급했듯이 현재 블록체인 네트워크의 노드는 경우에 따라 트랜잭션 및 블록을 적극적으로 전달하지 않습니다. Marlin의 토큰 메커니즘은 노드가 트랜잭션 및 블록을 전달할 동기를 갖도록 동기를 부여하고, 노드가 지속적으로 성능을 개선하고 가능한 한 빨리 데이터 패킷을 전달하도록 동기를 부여하고, 노드가 생성하려는 동기를 줄이려고 노력하여 이 문제를 해결하려고 합니다. 전파 경로 등의 시빌 ID

릴레이 노드의 수수료 할당 메커니즘은 반격리, 질서 유지를 충족해야 합니다. 이 문제를 해결하려면 트랜잭션과 블록에 원본 콘텐츠 본문에 첨부된 증인이 있어야 합니다. 하나는 서명된 링크입니다. 콘텐츠를 전달하는 전파 경로의 각 노드는 공개 키를 첨부하고 개인 키로 본문에 서명합니다. 또한 키 목록이 있으며 노드는 새로 키 쌍을 생성합니다.

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

텍스트

보조 제목

텍스트

요약하자면, Marlin이 퍼블릭 체인의 확장성을 향상시킬 수 있는 기회를 갖게 된 이유는 최적화된 릴레이 네트워크 시스템 구축에 있습니다. 이 중계 네트워크 시스템에서 중계자는 최단 시간에 생산자의 블록 및 거래를 수신자에게 전파하고 동시에 해당 수수료 수입을 얻을 수 있습니다. 이 중계 네트워크 시스템에서 토큰 메커니즘은 전체 중계 네트워크 시장을 유지하는 데 중요한 역할을 합니다.

蓝狐笔记
作者文库