OrchidOrchid
Open Menu
Close Menu
  • 작동 방식
  • 소개
  • 블로그
  • 연락처
  • 한국어

블로그

Orchid 네트워크: 무작위 선택 + 지분 가중 방식

Orchid 네트워크: 무작위 선택 + 지분 가중 방식

2019년 10월 9일

비트코인, 이더리움 및 대부분의 다른 분산 시스템과 마찬가지로 Orchid 는 오픈 소스 소프트웨어로 구축된 개방형 네트워크로 설계되어 있어, 누구나 Orchid 노드 소프트웨어를 다운로드하고 리소스가 허용하는 최대한의 노드를 실행할 수 있습니다. 개방형 분산 시스템의 경우 시스템 공격에 대한 방어가 본질적으로 매우 경제적입니다. 공격자가 부담하는 비용이 해당 공격자가 기대하는 이익보다 훨씬 더 높거나 실행 비용이 너무 많이 소요되도록 하는 방식으로 시스템 보안을 구현합니다. 분산 시스템은 이러한 보안 매개 변수를 사용하여 네트워크를 보호하고 그 대가로 채굴자 또는 참여자에게 인센티브를 제공합니다. 오늘날 대부분의 개방형 블록체인은 다음 두 가지 모델 중 하나를 사용합니다. 하나는 전기가 필요한 작업 증명이고, 다른 하나는 조정 작업 및 거버넌스가 필요한 지분 증명입니다. Orchid 네트워크는 지분 가중치라는 지분 증명의 파생 결과물을 사용하여 이더리움 합의와 결합된 P2P 대역폭 계약을 인증함으로써 거래를 청산합니다.

이는 대역폭 제공자가 Orchid 네트워크(OXT)에서 상업적 목적으로 Orchid 암호 화폐를 시간 잠금 예치금 형태로 소유함으로써 신원을 증명하고 상대적 지분 규모에 비례하여 트래픽을 확보함을 의미합니다. 당초 기존 백서에서 메달리온으로 설명한 바 있는 작업 증명의 사용을 고려한 후 Orchid 의 디자인을 지분 가중 방식으로 발전시켰습니다. 시스템을 변경한 이유는 다음과 같습니다.

  • 작업 증명은 최종 사용자 입장에서 추가적인 연산 부담을 야기합니다.
  • 작업 증명은 대역폭 임대 시장에서조차 지연을 수반하는 지분 가중 방식에 비해 공격 비용이 훨씬 더 낮습니다.
  • 일반 컴퓨팅 임대 시장의 경우 유동성이 향후 OXT 지분 예치 임대 시장에서 예상되는 것보다 이미 훨씬 더 큽니다.

Orchid 네트워크

Orchid 네트워크는 클라이언트가 대역폭 판매자의 노드를 효율적으로 선택할 수 있도록 이더리움(Ethereum) 블록체인에 저장된 일련의 데이터 구조로 설계되었습니다. 기본적으로 이더리움 네트워크에서 간단한 Orchid 전용 오버레이를 형성합니다.

더 높은 수준에서는 Orchid 네트워크가 다음과 같은 주요 작업까지 가능하게 할 것으로 예상됩니다.

  • 대역폭 제공자가 지분 소유를 통해 자신의 노드를 등록
  • 대역폭 제공자가 사용자 정의 서비스 및 메타 데이터를 등록
  • 클라이언트가 사용자 정의 서비스 및 메타 데이터에 대한 노드를 조회
  • 지분에 비례하는 확률로 랜덤 노드를 선택

지분 가중 방식을 사용하면 Orchid 네트워크의 경제적인 보안이 총 예치 지분의 규모에 비례하여 확장될 수 있습니다. 지분 가중 방식의 선택 프로세스 자체는 클라이언트가 확장 가능한 무신뢰 방식으로 노드 선택을 다른 노드에 아웃소싱함으로써 사용량이 적은 클라이언트의 경우 전체 노드 디렉토리를 다운로드하거나 저장하거나 처리할 필요가 없는 온체인 트리 데이터 구조를 사용하여 구현됩니다.

노드 디렉토리 트리

스캔 기능을 효율적으로 구현하기 위해 Orchid 는 온체인 이진 가중 트리 데이터 구조를 사용합니다. 트리의 각 노드는 왼쪽 및 오른쪽 하위 트리에 대한 트리 포인터 및 지분 소계에 더해 지분, 금액 및 지연을 저장하는 지분 입력 항목이 됩니다. 이 구조는 모든 지분 예치금에 대한 구간 합 트리를 효과적으로 형성하여 각 노드에서의 간단한 하강 결정을 통해 주어진 임의의 지점을 포함하는 하위 트리(또는 인터노드)를 찾을 수 있도록 해줍니다. 주어진 임의의 지점을 포함하는 정확한 노드를 찾는 데는 단계의 로그 수만 필요합니다.

노드 메타데이터 레지스트리

노드 메타 데이터 레지스트리는 제공자가 메타 데이터로 노드에 '태그'를 지정할 수 있게 할 것으로 예상됩니다. 대역폭 제공자는 이를 사용하여 블록체인에 자신의 노드와 관련된 사용자 정의 메타데이터를 저장하고 서비스를 광고할 수 있습니다. 메타데이터 레지스트리는 향후 간단한 수단을 사용하여 사용자 정의 확장을 구현할 수 있도록 범용으로 구성됩니다. 이는 노드 운영자가 새로운 서비스를 광고 할 수 있도록 하기 위한 것으로, 클라이언트는 코드를 업데이트하지 않고서도 이들 서비스를 선택할 수 있습니다.

지리적 위치와 같은 특정 기준에 따른 필터링 서비스에 관심이 있는 Orchid 앱 사용자는 태그를 사용하여 필터링을 수행 할 수 있을 것으로 기대됩니다. 태그가 제공자에 의해 추가되는 메타데이터의 일부이기 때문에 궁극적으로 Orchid 앱은 제공자가 정직하게 행동하는지 확인해야 합니다. 대부분의 경우 확인이 자동화될 것으로 예상합니다.

메타데이터 태그의 예:

  • 지리적 위치: 제공자는 클라이언트가 지리적 위치를 기준으로필터링할 수 있도록 특정 지역에서 서비스를 광고할 수 있어야합니다(전형적인 VPN 서비스와 유사). Orchid 앱은 퍼블릭 IP데이터베이스를 사용하여 위치를 확인합니다.
  • 지연 시간: 경우에 따라 사용자는 무작위로 선택되는 노드보다 대기 시간이 더 짧은 연결을 원할 수 있을 것입니다. Orchid 앱은 동일한 퍼블릭 IP 데이터베이스를 사용하여 '추측 및 확인' 전략을 통해 거리가 더 짧은 경로를 찾도록 설계되었습니다. 궁극적으로, 경로가 구성되면 실제 대기 시간을 측정해야 합니다. 대기 시간이 목표 기준치보다 높을 경우 새로운 다른 경로를 샘플링해야 합니다. Orchid 의 경로 및 나노 지불이 지니는 경량성은 빠른 경로 설정 및 병렬 경로 테스트를 가능하게 할 것으로 예상됩니다.
  • 요금: 제공자는 대역폭 요금을 설정해야 하며 클라이언트는 가격을 필터링할 수 있습니다. Orchid 앱은 예산 알고리즘을 사용하여 사용자의 잔액과 예산 지속 기간을 나타내는 목표 기간을 바탕으로 현재 지출 한도를 결정합니다.

선별 목록

Orchid 앱은 임의의 종료 또는 릴레이 노드 목록을 기준으로 필터링하도록 설계되어 있어 실행 가능한 노드를 사용자 정의 하위 세트로 제한합니다. 공식 Orchid 앱의 초기 릴리스는 이 기능을 통해 신뢰할 수 있는 VPN 파트너로 구성된 기본 종료 노드 목록을 사용하여 악의적인 종료 노드(예: SSL 다운 그레이드 공격)로부터 이루어지는 특정 유형의 공격을 방지합니다. 맞춤형 Orchid 클라이언트는 자신의 목록을 사용할 수 있으며, 결국 잘 알려진 타사가 화이트리스트 큐레이터로 등장할 것으로 예상됩니다. 선별 목록은 지분 소유에 의해 제공되는 경제적, 인센티브 기반의 신뢰를 보완하기 위해 외부 평판/신뢰를 가져오는 간단한 수단입니다.

Orchid 네트워크 상에서 대역폭을 판매하는 방법

Orchid 시장은 분산 아키텍처를 사용하여 토큰화된 P2P 상용 나노 트랜잭션을 통해 사용자를 대역폭 제공자에게 연결합니다.

Orchid bandwidth process

Nanopayments

대역폭을 판매하기 위해 제공자는 이더리움 블록체인에 노드를 등록하고, 클라이언트는 이더리움 스마트 계약에 대한 호출을 통해 서비스를 선택합니다. 그런 다음 Orchid 앱을 실행하는 사용자가 프록시 체인 연결을 시작합니다. 프록시 체인은 종료 노드 전에 있는 하나 이상의 릴레이 노드를 통해 대상으로 연결됩니다. 클라이언트는 확률적 나노 지불을 사용하여 패킷을 전달하기 위해 대역폭 제공자에게 비용을 지불해야 합니다. 간혹 판매자가 스마트 계약 기능 호출을 통해 Orchid 토큰(OXT)으로 교환할 수 있는 나노 지불 티켓을 받기도 합니다.

Orchid 네트워크에 노드를 등록하기 위해서는 OXT 지분을 소유해야 합니다. 지분 규모는 지분 가중 방식 선택에 있어 매우 중요하며, OXT 지분이 많을수록 제공자가 Orchid 앱 사용자로부터 트래픽 요청을 받을 확률이 높아집니다.

노드 운영자가 수익을 얻기 위해서는 다음과 같은 3 단계를 거쳐야 합니다.

  • OXT 획득: 거래소에서 OXT 토큰을 구매하거나 송금을 통해 지갑에 OXT 를 받거나 노드 제공자로 등록하여 OXT 를 얻습니다.
  • OXT 지분 소유: OXT 토큰을 노드 디렉토리 계약에 예치합니다.
  • 제공: Orchid 앱 사용자에게 서비스를 판매합니다.
  • 결제: 제공자의 관리 지갑을 통해 서비스에 대한 OXT 대금을 수령합니다.

사용자 지분 예치

Orchid 앱 사용자가 네트워크에 참여하려면 대역폭에 대한 대금으로 제공자에게 티켓을 발급할 수 있도록 나노 지불 스마트 계약에 유효한 예치금이 있어야 합니다. 이 예치금 중 일정 부분은 인센티브를 네트워크 전체의 인센티브와 맞추기 위해 사용자 "지분"으로서 에스크로에 보관됩니다.

노드 선택 방법

앱은 이차 제약 조건 필터링이 수반되는 2 단계 무작위 상대적 지분 가중 방식 선형 선택 프로세스를 사용하여 프록시 체인에 대한 노드를 선택하게 됩니다. 1 단계 선형 선택은 노드 디렉토리 트리의 스캔 기능에 의해 수행되도록 설계되어 있습니다. 앱이 로컬에서 임의의 지점을 생성하여 스캔할 단일 인수로 전달한 다음 노드 디렉토리 트리로 내립니다. 지분 세그먼트가 선택된 임의의 지점과 교차하는 단일 고유 리프 내에서 또는 노드 사이에서 검색이 종료됩니다.

스마트 계약을 사용하여 기본 노드 스캔 기능을 구현하면 선택 프로세스를 서버 노드로 쉽게 아웃소싱할 수 있습니다. 클라이언트가 하나 이상의 스캔 호출을 요청하면 원격 서버 노드가 로컬에서 각 스캔을 실행하고 실행 추적에 대한 간단한 증명을 반송합니다.

선형 상대 지분 가중치를 바탕으로 하나 이상의 노드를 선택한 후 클라이언트가 종료 위치, 대기 시간(ping), 요금, 사용자 정의 노드 메타데이터 태그 및 무작위 화이트리스트와 같은 추가 기준을 사용하여 필터링할 수 있도록 설계되어 있습니다.

지분 인출 지연

Orchid 지분 예치금은 즉시 인출할 수 없습니다. 예치금에는 의도적으로 인출 지연 요건이 적용됩니다. 인출 지연은 중요한 보안 제약 수단입니다. 인출 지연은 Orchid 앱 연결 요청 중 많은 부분을 획득하고자 시도하는 공격자를 저지하는 역할을 합니다. 특히, 체계적 인수 공격을 방지하는 데 도움이 됩니다. 체계적 인수 공격이란 공격자가 전체 예치금 지분 중 상당 부분을 획득한 다음 클라이언트를 악의적인 서버로 유도하여 의도적으로 불량한 연결을 제공하고 트래픽을 기록하고 보고하거나 능동적 연결 공격(예: SSL 다운그레이드)을 시도하는 공격을 가리킵니다.

체계적 인수 공격에 대한 주요 방어책은 총 OXT 지분의 상당 부분을 획득하고 잠그는 데 소요되는 비용을 높게 만들어 비용 장벽을 형성하는 것입니다. 인출 지연이 없다면 이러한 장벽이 실제 순 공격 비용이 거의 발생하지 않는 단순한 유동성 확보 문제가 됩니다.

인출 지연이 충분히 길면 공격자가 최종적으로 공격을 종료하고 다량의 OXT 포지션을 매도할 때 추가 손실을 입을 가능성이 높습니다. 그런 다음 앱 소프트웨어가 인출 지연을 기준으로 필터링하여 앱 기준치를 충족하지 않는 지연 시간을 가지는 지분 예치금을 무시하게 됩니다. Orchid 의 초기 앱 소프트웨어는 3 개월 이상의 인출 지연을 허용하지만, 유연한 매개 변수화를 통해 향후 앱 업데이트 시에 하드 포크 및 관련 조정의 어려움 없이 매개 변수를 변경할 수 있습니다.

결론

Orchid 는 공격을 무력화하는 지분 가중 방식을 채택하고 Orchid 토큰을 기반으로 하는 인센티브 시장을 조성함으로써 전 세계 사용자에게 보다 개방적이고 포괄적인 인터넷 공간을 만든다는 우리의 궁극적인 목표에 한걸음 더 다가갔습니다. Orchid 네트워크는 Orchid 를 사용하여 리소스를 구매하거나 판매하려는 사용자에게 지리적 위치에 관계없이 프라이버시 및 보안이 보장되는 인터넷 액세스를 제공하도록 설계되어 있습니다.

최신 Orchid 뉴스를

수신하려면 뉴스 레터 신청 을 하십시오. 그리고 올해 말에 출시될 Orchid 네트워크를 가장 먼저 사용하는 기회를 가져 보십시오.

웹 사이트: www.orchid.com

Twitter: https://twitter.com/OrchidProtocol

Linkedin: https://www.linkedin.com/company/orchidprotocol/

Telegram (공지 사항): https://t.me/officialorchidlabs

Telegram (커뮤니티): https://t.me/OrchidOfficial

Facebook: https://www.facebook.com/OrchidProtocol/

Medium: https://medium.com/orchid-labs

Github: https://github.com/OrchidTechnologies

Reddit: https://www.reddit.com/r/orchid