2.1 프로토콜 개요

Quras 기술은 사용자 개인정보 보호를 목표로 합니다. 사용자 개인정보 보호를 위해 영지식증명과 링 서명이라는 2가지 주요 익명 기술을 채택했습니다. 이 익명 기술은 송금 및 스마트 컨트랙을 사용하는 동안 사용자 개인 정보를 보호합니다. Quras 플랫폼의 기능 라이브러리는 개발자가 암호화 기술에 대한 지식이 없이도 Quras에 관한 익명 어플리케이션/ 기능을 개발할 수 있다는 점에서 우수한 패키지 라이브러리입니다.

2.2 Quras 블록체인의 구조

Quras 블록체인 시스템에 관하여 아래 도표를 참조하십시오.

Quras 블록체인 시스템
2.2 Quras 블록체인의 구조

위의 도표에 따르면 블록체인에는 대략 Full Node, Light Node 및 컨센서스 노드가 존재합니다. 블록체인이 유지되기 위해서는 컨센서스 노드가 있어야 합니다. 컨센서스 노드는 블록체인에서 블록을 생성하는 노드입니다. 거래 검증과 스마트 컨트랙 실행은 컨센서스 노드에서 실행됩니다. Full Node의 역할은 발생한 거래의 검증과 통보를 진행하며 wallet와 웹사이트의 엔진 역할을 하는 것입니다. Full Node는 현재 zk-SNARKs 알고리즘으로 구현되어 있습니다. 즉, 모든 유형의 거래를 제공할 수 있습니다. Light Node는 PC용의 Light Wallet에서 사용할 경량 엔진으로 볼 수 있습니다. Light Node는 블록체인 내의 모든 블록을 다운로드 하지 않으므로 큰 저장 공간이 필요 없습니다. Light Node는 단독으로 사용하도록 설계되어 불필요한 기능이 없고 wallet에 필요한 기능만으로 구현됩니다.

2.3 P2P 정보 교환 구조

블록체인은 특정 서버가 없는 시스템으로서 P2P 방법으로 모든 노드를 연결하여 작업을 합니다. 이는 Quras 블록체인 내의 모든 노드가 P2P 방법으로 정보교환을 한다는 것을 의미합니다. Quras 블록체인의 모든 정보 교환이 진행되기 전에 QurasMessage를 통해 캡슐화 됩니다. QurasMessage의 메커니즘은 아래 도표에 설명되어 있습니다.

용어 설명
네트워크 타입 (Magic) Magic은 Quras 블록체인 내에서 메인넷과 테스트넷을구분하 는 네트워크의 일종입니다.
명령 이 값에 따라 메시지의 기본 명령이 결정됩니다. 명령에 대한 자세한 정보는 아래에 설명되어 있습니다.
검사 합계 이는 Payload 항목의 검사 합계로 Payload가 올바른지 여부를 구분하기 위해 사용됩니다.
본문 (Payload) 이는 명령어를 사용하는 메시지의 본문으로 볼 수 있습니다.
이 항목의 구조에 대한 자세한 내용은 명령 부분과 함께 설명되어 있습니다.

Quras 블록체인에서 Full Node, Light Node 및 컨센서스 노드 사이에 교환되는 특정 통신 메시지의 구조는 Quras 기술 문서를 참조하십시오.

2.4 Quras 월렛의 구조
Quras 블록체인은 암호화 및 투명 송/수신이라는 두 종류의 코인을 제공합니다. 투명 월렛은 ECC 암호를 사용하여 개인 및 공용 키를 생성합니다. 주소 생성 과정은 아래 도표에 설명되어 있습니다.
Quras 지갑의 구조

익명 wallet에는 2가지 타입의 주소가 있습니다: 1) zk-SNARKs를 사용하는 주소 및 2) 링 서명을 사용하는 주소.

2.5 거래의 구조

거래 구조는 아래 도표를 참조하십시오.

용어 설명
거래 이 유형에 따라 거래 구조 및 거래 명령이 변경됩니다
버전 버전이 업데이트 될 때 이 값에 따라 처리되도록 설계되었습니다.
거래 속성 거래의 추가 기능 및 관련 항목으로서 이는 계약 및 특정 거래에 적용됩니다 定交易。
코인 레퍼런스 코인 참조는 비트코인의 UTXO 정보와 동일한 내용으로 아직 전송되지 않은 코인의 Tx 출력에 사용됩니다
거래 출력 이는 코인 송/수신에서 수신자를 위한 Tx 출력입니다
스크립트 거래 검증 및 스마트 컨트랙 내용이 여기에 포함됩니다

거래 유형은 아래와 같습니다:
  • 마이너 거래
  • 발행 거래
  • 청구 거래
  • 기재 거래
  • 등록 거래
  • 계약 거래
  • 익명 거래
  • 거래 게시
  • 호출 거래

위의 거래에 대한 더 자세한 정보는 기술 백서를 참조하십시오

2.6 블록체인의 구조

블록체인은 연결된 블록의 집합으로 볼 수 있습니다. 블록체인에서 블록 연결 방법이 아래에 설명되어 있습니다.

블록체인의 구조

위에 나타난 바와 같이 블록들은 대체로 헤더 부분과 본문 부분으로 구성됩니다. 헤더 부분은 블록 정보를 포함하고 본문 부분은 거래의 집합으로 구성됩니다.

블록에는 공개 거래와 익명 거래의 2가지 유형의 거래가 기록됩니다. 공개 거래는 발신인, 수신인, 금액, 수수료 등과 같은 모든 거래 정보가 포함됩니다.

2.6.1 거래 개인 정보

Quras는 네트워크 사용자에게 거래 시에 기밀성을 처리할 수 있는 옵션을 제공하기 위해 링 서명과 영지식 증명이라는 두 가지의 주요 개인 정보 기술을 활용합니다. 구현 메커니즘에 대한 자세한 내용은 Quras 기술 백서*를 참조하십시오

2.6.2 공개 거래

공개 주소는 비트코인에서 구현된 것과 유사하게 작동합니다. 비공개 키는 먼저 키 쌍에서 임의로 생성되고, 공개 키는 Elliptic을 사용하여 파생됩니다. 곡선 암호화(ECC). Quras는 Suite-b 암호화 표준에서 NSA와 같은 기관에서 시행되는 공개 키 생성을 위해 secp256r1 표준을 사용합니다.

비트코인은 키 쌍을 생성하기 위해 secp256kl 표준을 사용하지만 Quras는 추가 보안을 위해 대안을 사용합니다.

2.6.3 비밀 거래

사용자는 zk-SNARKs(영지식 증명)과 링 서명이라는 2가지 업계 최고의 민간 거래 방법 중 하나를 선택할 수 있습니다. 전자는 보다 강력한 프라이버시 보호 방법으로 간주되지만 결과를 산출하기 위해 더 많은 시스템 자원을 소비합니다. 따라서 사용자에게 빠르고 가벼운 익명 거래의 선택권을 주기 위해 후자인 링 기밀 거래를 제공합니다.

이런 거래 유형을 수용하기 위해 사용자는 지출, 수령, 보기, 익명 키와 같은 거래를 구성하는 적절한 키를 생성할 수 있습니다.

2.6.4 개인 정보 보호 계약

Quras 블록체인은 널리 채택된 프로그래밍 언어인 C#로 작성된 스마트 컨트랙을 배포하는데 사용할 수 있는 가상 시스템 계층이 포함되어 있습니다. 개발자는 계약 코드에서 두 가지 주요 기능, 즉 영지식 증명과 검증 방법을 사용할 수 있습니다. 이런 기능들은 범용이며 광범위한 사용 사례의 계약 코드에서 구현할 수 있습니다. 자세한 내용은 5항의 어플리케이션에서 설명합니다.

이런 프라이버시 방법들은 단순한 기능이므로 개발자는 투명 또는 비밀 계약을 생성하기 위해 자유롭게 선택하여 사용할 수 있습니다. 사용자가 스마트 컨트랙을 호출할 때마다(상호 작용) Quras GAS (XQG)가 소모됩니다. – 자세한 내용은 4항을 참조하십시오.

다음 페이지의 도표를 참조하십시오.

정상 거래
2.6.5 개인 정보 보호 계약

익명성 거래에는 완전 익명과 부분 익명의 2가지 유형이 있습니다. 완전 익명 거래는 송금인의 주소, 수취인 주소, 송금액 등을 포함한 모든 거래 정보가 숨겨질 것임을 의미합니다. 아래의 도표를 참조하십시오.

완전한 익명의 거래

부분 익명 거래는 송금인 주소, 수취인 주소 또는 송금액과 같은 거래 정보의 일부가 숨겨지는 것을 의미합니다. 아래의 도표를 참조하십시오.

부분 익명 거래

부분 익명 거래는 zk-SNARKs 또는 링 서명 기술을 사용하여 익명성 효과를 실현합니다. 포함된 블록에 대해서는 아래를 참고하십시오.

더 자세한 내용은 기술 백서를 참고하십시오.

블록 헤더

PrevHash, MerkleRoot, Timestamp, BlockHash, TransactionCount







스마트 컨트랙의 구조

스마트 컨트랙은 사용자가 Quras 블록체인 내에서 디지털 계약 이외의 계약을 직접 작성할 수 있도록 설계되었습니다. 다시 말하면, 모든 플랫폼이 제공되어 사용자가 Quras 스마트 컨트랙 언어를 사용하여 Quras 블록체인에서 실행할 고유의 스마트 컨트랙을 개발할 수 있도록 제공됩니다. 스마트 컨트랙의 구조는 Quras Smart Contract VM이 제공하는 Opcode의 조합으로 볼 수 있습니다.

사용자의 스마트 컨트랙이 컴파일 되면 이는 Opcode에서 바이트 코드로 변환됩니다. 당사의 Quras 개발 팀은 사용자가 더욱 편리한 스마트 컨트랙 작성 환경을 제공하기 위해 정기적으로 Smart Contract VM을 업데이트 하고 있습니다.

Quras 블록체인에는 세 가지 유형의 스마트 컨트랙이 있습니다:

검증 계약, 어플리케이션 계약, 기능 계약

Quras 블록체인의 스마트 컨트랙 실행에 대한 특정 정보 는 기술 백서를 참조하십시오.

2.7 Level DB의 구조

Quras 노드는 블록체인 관리를 위해 LevelDB를 사용합니다. 일반적으로 LevelDB는 SQLite 및 KyotoCabinet Tree DB에 비해 전반적으로 우수한 성능을 갖고 있으나, 대용량 데이터를 사용할 때는 성능이 저하됩니다. 이는 LevelDB 값이 약 100 바이트인 경우 우수한 성능이 관찰되었습니다. 더 상세한 내용은 기술 백서를 참조하십시오.

2.8 Quras 블록체인의 합의 알고리즘

합의 알고리즘은 가상화폐 거래에서 합의를 구축하는 것을 의미하며, Quras 블록체인에서는 TSDBFT(Transaction Sharing Delegated Byzantine Fault Tolerance Consensus Mechanism)라는 합의 알고리즘을 사용하여 노드 및 토큰 매니저 사이에 스마트 컨트랙 거래를 배포합니다. 블록체인 시스템은 분산 시스템이므로 모든 노드는 P2P 방식으로 연결되며, 이는 블록체인에 연결된 노드가 자발적 시간에 분리될 가능성이 있음을 의미합니다. 또한 노드가 잘못된 문서로 인해 사라질 가능성도 있습니다. 정확한 합의에 도달하기 위해 P2P 네트워크에 연결되지 않은 모든 노드가 신뢰할 수 없거나 잘못된 노드가 있는 경우 노드 수에 대한 요청이 있습니다. 예를 들어 컨센서스 노드의 수가 N인 반면 잘못된 노드의 수가 f인 경우, 블록체인 시스템의 블록체인 안전 지수는 N과 f로 결정됩니다. DBFT 알고리즘에서 f가 (N-1)/3보다 작으면 Quras 블록체인 시스템은 안전한 것으로 간주합니다. 이는 7개의 컨센서스 노드를 실행하는 Quras 블록체인에서 7개의 컨센서스 노드 중 2개의 노드가 부정확하거나 악의적인 노드가 있더라도 지연 없이 올바른 블록을 생성할 수 있음을 의미합니다. 토큰 수수료 분배 방법에 관한 세부사항에 대해서는 아래에서 설명하는 바와 같이, 스마트 컨트랙 실행에 필요한 비용은 XQG가 지불하고, 프로젝트의 지속가능성을 고려한 공익을 기준으로 적절하게 배분합니다.

Quras 합의 알고리즘은 향후 업데이트할 예정입니다. 이 계획은 중요도 증명 기반 알고리즘을 이용해 보유량에 따라 XQC 플랫폼의 기축통화인 일정량의 XQC를 보유한 이용자에게 모든 XQC 거래 수수료를 배분하는 메커니즘을 구현한다는 것입니다. 트랜잭션의 로드 능력은 현재 최대 약 1000개TPS의 성능을 갖고 있지만 앞으로 볼륨을 향상시킬 계획입니다. 우리의 목표는 더 큰 용도를 처리할 수 있는 분산형 플랫폼을 확보하는 것입니다.

2.9 스마트 컨트랙트의 거래수수료

사용자가 QURAS블록체인에서 스마트 컨트랙트(토큰발행등)을 실행할 때마다 컨트랙트로 발생하는 거래 수수료가 분배된다. QURAS 블록체인을 이용해 토큰을 발행하는 토큰발행자는 토큰을 사용하는 사용자가 부담하는 수수료를 받지만 수수료는 토큰발행자와 QURAS 합의노드(consensus 노드)로 나누워 진다. 토큰발행자와 QURAS 합의노드 간에 배포되는 수수료 비율은 동적으로 설계된다.

스마트 컨트랙트의 거래수수료의 분배는 아래와 같다:

수수료(XQG)
분배 비율
0.1코인이하인 경우 (0.1도 포함)
8:2*
0.1~1코인 (1도 포함)
7.5:2.5
1~5코인 (5도 포함)
7:3
5~10코인 (10도 포함)
6.5:3.5
10코인보다 큰 경우
6:4

**8:2는 거래 수수료의 80%가 QURAS 합의노드에 배분되고 거래 수수료의 20%가 토큰발행자에게 배분된다는 것을 의미한다..

아래 그림에는 토큰발행자에게 일정 범위 내에서 스마트 컨트랙트의 거래 수수료를 받을 수 있는 기회를 제공하는 기능이 자세히 설명되어 있다. 앞에서 설명한 바와 같이 상기 설계에서는 토큰을 발행하는 토큰발행자에게 스마트 컨트랙트의 거래 수수료를 반환할 수 있다. 일반적으로 스마트 컨트랙트 수수료의 반환율은 수수료 금액에 따라 달라진다.

토큰수수료의 분배
2.10 네트워크 통화

큐라스(Quras)는 TSdBFT 합의 메커니즘에 기반하기 때문에 네트워크에는 기능이 다른 두 개의 코인인 XQC와 XQG 로 나누어 집니다.

QURAS 코인 (XQC)

XQC는 Quras 생태계 내 핵심적인 가치를 지니는 필수적인 요소이자 시스템입니다. 네트워크 기능 사용을 장려하기 위해 코인을 보유한 사용자는 스테이킹을 통해 XQG를 지급 받을 수 있습니다. XQC의 스테이킹 통해 XQG를 지급하는 것은 XQC를 보유한 사람에게 보상을 주기 위한 것이 아닙니다. XQG의 유일한 목적은 네트워크 상 거래 수수료를 지불하는 것입니다.

조금 더 명확히 나열하자면, 어떠한 상황에서도 XQC 보유자는 아래와 같은 권리를 지니거나 아래와 관련된 보상을 지급을 받지 않습니다.

  1. 전체 또는 일부의 이자 또는 XQC 발행사 측에 대한 청구 (주식 지분, 독점 지분 및 소유권 지분을 포함하되 이에 국한되지는 않음)
  2. XQC 발행사의 이사회 또는 주주 회의에서 의결권
  3. XQC 발행사의 경영권
  4. 모든 경제적 권리 (XQC의 발행사에 의해 발생되거나 발생 예정인지불, 분배, 수입, 배당, 이익 또는 기타 수익, 또는 수익으로 지불되거나 지불 될 가능성이 있는 금액)
  5. XQC 발행사로부터의 이자 지급

큐라스 가스 (XQG)

XQG는 네트워크 상의 거래 수수료 및 토큰 발행 및 기능 호출과 같은 스마트 계약 상호 작용을 포함하여 네트워크 운영을 위한 가스와 비슷한 개념의 토큰입니다. 네트워크 스팸 혹은 해킹에 대한 방어벽을 유지하고 네트워크 노드를 더욱 장려하기 위해서는 가스 토큰이 필요하며, XQG의 유일한 목적은 네트워크 상 거래 수수료를 지불하는 것입니다.