
작가:
————————————————————
작가:
Node Capital Research Center Lin Jieyin Lang Hanwei
고래 연구소 Tan Ying Wang Fan Chen Hongyi
첫 번째 레벨 제목
.01.개요
1.1 블록체인의 개념
전통적인 의미의 블록체인은 일련의 블록을 선형적으로 연결하는 체인이며, 이러한 블록은 일정 기간 동안 발생한 트랜잭션을 기록합니다. 채굴자들은 다양한 메커니즘을 통해 이 기간 내에 거래의 회계 권리를 놓고 경쟁합니다 거래를 위해서는 운이 좋거나 충분한 수수료를 지불해야 채굴자들이 선택할 수 있습니다. 예를 들어 비트코인 네트워크에서는 10분에 1개의 블록만 생성되며 초당 평균 7개의 트랜잭션이 발생합니다. 트랜잭션의 확인은 10초 이상 또는 10분 이상 기다려야 하기 때문에 효율성이 매우 낮기 때문에 블록체인 1.0 및 2.0 프로젝트는 대규모 상업적 사용을 위해 아직 갈 길이 멀다.
1.2 DAG의 개념
유향 그래프가 임의의 꼭짓점에서 시작하여 여러 가장자리를 통해 해당 점으로 돌아갈 수 없는 경우 그래프는 유향 비순환 그래프(DAG)입니다. 방향성 비순환 그래프는 "블록"의 개념을 깨고 그 안의 각 트랜잭션이 블록으로 패키징되기를 기다리는 단계를 건너뛰고 단일 트랜잭션 단위로 체인에 직접 포함됩니다.
그러나 DAG 네트워크는 네트워크의 폭을 제어하는 문제에 직면해 있으며 모든 새로운 트랜잭션이 네트워크의 이전 트랜잭션 노드에 연결되면 DAG 네트워크는 이 이전 노드에서 갑자기 넓어지고 효율성이 낮아집니다. . 따라서 이상적인 상태는 각각의 새로운 트랜잭션이 체인의 신구 노드에 고르게 연결되고 네트워크가 일정한 너비 내에서 제어되는 것입니다.IOTA를 포함한 DAG 네트워크는 이러한 너비 문제를 해결합니다.
기존 DAG 프로젝트의 문제점:
IOTA:
1. MIT 보고서는 아이오타가 자체 개발한 해시 알고리즘 컬(curl)을 사용하지만 컬 알고리즘의 해시 값은 충돌 가능성이 매우 높아 디지털 서명이 위조될 수 있다고 지적했다.
2. 합의는 전체 네트워크의 트랜잭션에 의해 결정되기 때문에 이론적으로 누군가가 트랜잭션 볼륨의 1/3을 생성할 수 있다면 유효하지 않은 트랜잭션을 유효한 트랜잭션으로 전환할 수 있습니다. 반면에 IOTA는 거래 수수료가 없기 때문에 채굴자에 대한 인센티브가 없습니다 IOTA는 서비스 거부 공격 및 스팸 공격 가능성에 직면해 있습니다 부동산 수수료를 부과하지 않는 커뮤니티처럼 범죄자를 제거하기 어렵습니다 자치에 의해.
3. IOTA는 전체 네트워크에서 트랜잭션(예: 이중 지출)을 확인하기 위해 폐쇄 소스 중앙 집중식 구성 요소 Coordinator를 도입했습니다. Coordinator를 효과적으로 제거하고 양성 인센티브 메커니즘을 갖춘 분산된 "Coordinator 그룹"을 설정하는 방법은 아직 제공되지 않았습니다. IOTA.솔루션.
Byteball:
메인 체인 알고리즘과 증인의 릴리스 빈도 사이의 관계로 인해 트랜잭션 확인 시간이 불확실합니다. 확장 기능 및 속도.
NANO:
적절한 테스트와 동료 검토가 없으면 합의 알고리즘에 심각한 결함이 생길 위험이 있습니다. 예를 들어, 네트워크 충돌을 해결하기 위한 정족수 투표가 충분하지 않으면 어떻게 됩니까? NANO 네트워크의 일부가 장기간 떨어져 있으면 분리된 네트워크가 다시 합류하면 어떻게 될까요? 불가피한 투표 과정에서 재결합 네트워크가 마비됩니까? 이러한 문제는 아직 테스트 및 확인되지 않았습니다.
1.3 해시그래프의 개념
해시그래프는 DAG 네트워크를 기반으로 하는 데이터 구조이자 합의 알고리즘이지만 해시그래프는 폭을 제어하는 고유한 방식이 있으며 각 포인트는 두 개의 부모 노드를 가질 수 있습니다. Hashgraph 네트워크에서는 승인된 노드만이 이벤트(Event)를 개시할 수 있는 권한을 가집니다. -체인 구조, 경쟁이 필요하지 않습니다.블록은 동시에 생성되어 대규모 및 저비용 합의를 달성하여 작업 효율성을 크게 향상시키고 대역폭을 제어하면서 진정한 "블록리스"를 달성합니다. 250,000 TPS 이상을 달성할 수 있다고 하며, 낮은 트랜잭션 수수료, 탈중앙화, 비채굴 인터넷 기반 트러스트 네트워크입니다.
해시그래프의 데이터 구조도는 앨리스, 밥, 캐롤, 데이브, 에드가 각각 이벤트를 개시할 수 있는 권한을 가진 5개의 노드이고, 각 원은 노드가 가십을 받으면 생성하는 이벤트입니다. 맨 아래로, 더 일찍 시작된 이벤트가 많을수록 더 새로운 이벤트가 맨 위에 있습니다.
Hashgraph는 퍼블릭 체인 환경에서 비동기 BFT 합의를 개척했습니다.기존 BFT의 주요 문제는 메시지 복잡성이 너무 높아 시스템의 많은 네트워크 대역폭을 소비하고 동적 네트워크에 잘 대처할 수 없다는 것입니다. 여기서 Hashgraph는 전통적인 Gossip Protocol을 도입하고 고유한 혁신과 가상 투표 메커니즘을 추가하여 합의가 필요할 때 갑작스러운 대규모 메시징 폭풍을 일으키지 않습니다.
블록체인과 해시그래프의 비교:
첫 번째 레벨 제목
.02 .해시그래프 기술
Hashgrapgh의 합의 메커니즘은 Gossip about Gossip과 Virtual Voting의 두 부분으로 구성되며, 다음은 두 부분의 작업 흐름과 전체 합의 메커니즘의 작업 흐름을 설명하고 Hashgraph의 장점과 문제점에 대해 설명합니다.
2.1 Gossip about Gossip
Hashgrapgh의 핵심 통신 프로토콜은 "Gossip about Gossip"으로, 사무실의 가십에서 영감을 얻었습니다. 여기에서 가십은 내가 알지만 상대방은 모르는 정보를 말합니다. 일정 시간이 지나면 모두가 알게 될 것입니다. 잡담 정보.
Hashgraph에서 각 노드는 서명된 새 트랜잭션과 이웃 노드에서 받은 트랜잭션 정보를 전파합니다. 노드가 새로운 트랜잭션 정보가 포함된 데이터를 수신하면 알고 있는 트랜잭션을 결합하여 추가하여 새로운 이벤트가 됩니다(이벤트는 블록 개념과 유사하게 두 개의 해시 포인터 구조를 포함하는 데이터이며 0 또는 여러 트랜잭션 정보), 이 이벤트에는 두 개의 해시가 포함되어 있습니다. 하나는 노드의 마지막 최신 이벤트를 가리키고 다른 하나는 노드가 다른 노드에서 수신한 최신 이벤트를 가리킵니다. 그런 다음 전체 이벤트에 타임스탬프가 지정되고 서명되며 모든 노드가 동일한 정보를 가질 때까지 주기가 계속됩니다.
아래 그림과 같이 Bob이 임의로 Alice의 가십을 발견하면 그는 Alice에게 현재 알고 있는 모든 것을 알려줄 것입니다. 그런 다음 Alice는 여기에 새 이벤트를 생성합니다(빨간색 점). 새 트랜잭션을 추가하는 것 외에도 이 새 이벤트는 상위 이벤트를 가리키는 두 개의 해시 값을 추가하고 하나는 그녀의 최신 이벤트(진한 파란색)를 가리키고 one Bob이 자신과 채팅한 가장 최근 이벤트(하늘색)를 가리킵니다.
본질적으로 가십 알고리즘은 중복성이 있는 내결함성(fault-tolerant) 알고리즘이며, 더 나아가 최종 일관성 알고리즘 또는 합의 알고리즘을 제공하는 수단입니다. 특정 순간에 모든 노드의 상태가 일치한다고 보장할 수는 없지만 결국 특정 시점에서 모든 노드가 특정 시점 이전의 모든 히스토리에 동의한다는 것은 보장할 수 있습니다.
해시그래프의 노드 간 가십 내용에는 노드 간 가십의 과거 기록도 포함되므로 각 노드는 가십을 통해 해시 그래프를 유지할 수 있으므로 노드가 합의 투표를 계산할 때 가상 투표를 시작할 수 있습니다. 실제 투표를 수행하기 위해 네트워크에서 양방향 동기식 통신을 많이 할 필요가 없도록 주어진 해시 그래프에서 다른 노드가 투표하는 방법. Hashgraph 발명가의 말: "Hashgraph는 투표 알고리즘의 모든 장점을 가지고 있지만 가장 큰 결점은 피합니다."
Gossip 프로토콜의 빠른 수렴 특성으로 인해 각각의 새로운 정보가 각 노드에 더 빠르게 도달할 수 있으므로 각 노드는 다른 노드와 모든 노드의 통신 기록을 유지합니다.
2.2 Virtual Voting
위에서 우리는 Hashgraph가 노드들 사이에서 통신하는 방법을 보았습니다.가십 알고리즘을 실행한 후 모든 노드는 전체 노드가 되어 완전한 네트워크 기록을 저장합니다.특정 제안에 대한 합의가 필요한 경우 대규모 메시지 통신이 필요하지 않습니다. , 각 노드는 독립적으로 할 수 있습니다. 가상 투표 메커니즘(Virtual Voting)을 실행하면 모든 노드가 동일한 합의 결과에 도달하게 됩니다. 아래에서 "Hashgraph - 아마도 현재 최고의 합의 프로토콜" 기사에서 인용한 가상 투표 메커니즘의 자세한 용어 정의와 가상 투표 프로세스의 데모 예를 볼 수 있습니다.
용어 정의:
이벤트
위의 가십 알고리즘에서 우리는 비트코인의 블록과 유사하게 이 개념에 접하게 되었습니다. 이벤트는 두 개의 해시 포인터를 포함하는 데이터 구조이며 0 또는 여러 거래 정보를 포함할 수 있으며 노드는 이벤트를 생성합니다. 시간이 지나면 타임스탬프가 찍히고 전체 이벤트가 디지털 서명됩니다.
절대다수
2/3 이상의 노드 수는 많은 DPoS 알고리즘에도 이 개념이 있습니다.
보이는
이벤트 B가 해시 포인터를 따라 이벤트 A를 찾을 수 있으면 이벤트 B도 이벤트 A를 볼 수 있습니다.
강하게 보인다 (강하게 본다)
이벤트 B가 절대 다수의 노드에서 이벤트 A의 모든 경로를 찾을 수 있는 경우 이벤트 B는 이벤트 A에 강력하게 표시됩니다. 백서에는 수학적 증명이 강하게 보이는 두 노드가 가상 투표에서 일관된 결과를 얻을 수 있음을 보장할 수 있다고 언급되어 있습니다.
증인
각 라운드에서 각 노드가 생성하는 첫 번째 이벤트는 해당 라운드의 조상 이벤트인 목격자 이벤트이며 노드는 특정 라운드에서 목격자 이벤트가 없을 수 있습니다.
유명한 증인
라운드 R의 증인이 R+1 라운드의 절대 다수의 증인에게 보이면 잘 알려진 증인입니다. 구체적인 계산 방법은 다음 텍스트에 자세히 설명되어 있습니다.
생성된 라운드
이벤트 생성 라운드는 R 또는 R+1이며, 여기서 R은 이벤트 상위 노드의 최대 라운드입니다. 절대 다수의 R 라운드 증인이 이벤트를 강력하게 볼 수 있는 경우에만 이벤트 생성 라운드는 R+1입니다.
라운드 수신
R 라운드(만들기 라운드)에서 잘 알려진 모든 증인에게 공통 이벤트가 표시되면 이벤트의 수락 라운드는 R 라운드이며, 공통 이벤트가 R 라운드에서 모든 잘 알려진 증인에게 표시되지 않는 경우 , 승인 라운드 시간은 R 라운드보다 늦어야 합니다.
가상 투표 프로세스의 예:
아래 그림은 생성 라운드를 나누었습니다.그림의 DAG 그래프는 아래에서 위로 커집니다.생성 라운드를 나누는 방법은 나중에 자세히 설명합니다.각 노드가 새 이벤트에 동기화된 후 즉시 계산을 시작할 수 있습니다. 생성 라운드 이류.
다음과 같이 증인의 정의에 따라 증인 이벤트의 각 라운드를 표시합니다.
각 증인에 대해 잘 알려진 증인인지 여부를 확인해야 합니다. 이벤트 B2가 잘 알려진 증인인지 여부를 확인하는 예를 들어 보겠습니다. 잘 알려진 증인의 정의에 따라 이벤트가 다음과 같은지 확인해야 합니다. A3, B3, C3, D3는 B2를 볼 수 있습니다 사실 선거 과정이며 각 증인은 B2가 유명한지 여부를 결정하기 위해 B2에 투표합니다.
A3 이벤트는 B2에 표시되고 표시 경로는 다음과 같습니다. 노란색 선, B2는 A3의 조상 이벤트, A3는 B2의 아들 이벤트 또는 파생 이벤트, A3은 B2에 표시되므로 A3는 YES라고 투표합니다. .
다른 3명의 증인도 마찬가지로 투표 후 모든 증인이 YES로 투표했기 때문에 B2 이벤트는 잘 알려진 증인이 될 것으로 예상되지만 아직 선거 과정이 끝나지 않았으며 아직 투표는 다음 증인에 의해 완료되어야하므로 B4와 D4가 계산됩니다.이 그림에는 A4와 C4가 없지만 시간이 지남에 따라 반드시 나타나며 계산에 참여할 것입니다.
투표 집계 단계에서 R+2 라운드 증인은 눈에 잘 띄는 자신의 R+1 증인으로부터 투표 결과를 수집하고 특정 투표 결과에 의해 집계된 투표 수가 절대 다수를 초과하면 결과가 유효한 것으로 간주됩니다. 즉, 합의에 도달했습니다. 수학적 이론에 따르면 R+2 증인이 투표 결과에 대해 결정을 내리면 이 결과가 전체 네트워크의 결론이며, 이 증인이 결정을 내리지 못하면 다음 증인이 투표 결정을 계산합니다 확실한 결론이 날 때까지. 구체적으로 예를 들어보자면 B4에서 A3까지 3개의 가시적인 경로가 있고 3개의 노드에 걸쳐 있기 때문에 B4는 A3 이벤트에 강하게 노출됩니다. 즉, B4가 A3에서 수집한 투표 결과는 YES입니다.
같은 방식으로 B4는 B3, C3 및 D3 이벤트를 강력하게 볼 수 있습니다.
요약하면, B4 사건은 4개의 찬성표를 얻었고, 분명히 우리는 결론을 내릴 수 있습니다: B2는 잘 알려진 증인입니다! 우리는 이 잘 알려진 증인들을 그림에서 녹색으로 표시할 것입니다. 그러면 C2 이벤트의 인기도를 계속 판단하게 됩니다. C2의 다음 라운드 증인 투표 결과가 1YES, 3NO이므로 B4는 득표수를 집계한 후 분명히 잘 알려진 증인이 아니라고 판단할 것입니다. C2를 다음으로 표시합니다. 파란색이며 백서에는 다른 모든 증인이 동일한 결정을 내렸음을 수학적 검증으로 보장합니다.
다음 라운드에서 결정을 내리지 못할 경우(예: 2:2 투표 결과) 다음 라운드로 진행됩니다. , 선거 과정은 결국 확실하게 끝날 것입니다 (확률 1로 수렴, 평신도의 용어로 수렴하는 것이 거의 확실하며 확률 이론의 개념입니다). 랜덤 라운드에서 절대 다수의 결과를 수집한 증인은 결정을 내리지 않고 투표만 하고 다른 증인은 전자 서명의 중앙값을 기준으로 무작위로 투표합니다. 우리는 다음과 같은 결과로 저명한 증인 선출을 계속합니다.
라운드에서 모든 알려진 증인을 식별하면 라운드의 다른 일반적인 이벤트에 대한 승인 라운드 및 합의 타임스탬프를 결정할 수 있습니다. 블랙 이벤트는 두 번째 라운드에서 알려진 모든 증인이 볼 수 있으므로 승인 라운드는 2입니다.
이제 우리는 컨센서스 순서의 후속 결정을 위해 블랙 이벤트의 컨센서스 타임스탬프를 결정하기 시작합니다. A2의 조상이자 블랙 이벤트의 아들인 노드 A의 가장 초기 이벤트 X를 찾고 유사하게 Y를 찾습니다. 노드 B와 노드 D의 Z. 그런 다음 XYZ 이벤트의 타임스탬프를 순서대로 정렬하고 중앙값을 블랙 노드의 합의 타임스탬프로 가져옵니다. 그런 다음 다른 노드에 대한 수락 라운드를 결정합니다.
이제 승인 라운드가 2인 10개의 이벤트를 식별했으므로 전체 네트워크에서 인식하는 순서, 즉 합의 순서로 정렬하고 다음 우선 순위에 따라 정렬합니다.
라운드를 수락
컨센서스 타임스탬프
이벤트 서명의 XOR 결과와 이번 라운드에서 잘 알려진 모든 증인의 디지털 서명의 XOR 연산을 통해 얻은 난수로 정렬
2.3 합의 메커니즘 요약
Hashgraph는 가십 프로토콜과 가상 투표 메커니즘으로 구성된 합의 메커니즘이며 일반적으로 다음 단계로 요약할 수 있습니다.
1. 각 노드는 임의로 다른 노드를 찾으려고 시도하고 알고 있는 정보를 가십 프로토콜을 통해 상대방에게 전달합니다.
2. 각 노드는 가십 프로토콜을 통해 다른 노드로부터 정보를 수신하기도 합니다.정보를 수신할 때 노드는 다음을 포함한 일련의 계산을 수행해야 합니다.
a. 받은 가십 정보 수락 및 처리
b. 새 이벤트를 생성하고 자신의 마지막 이벤트와 가십 소스 노드의 마지막 이벤트를 동시에 가리킴
c. 알려진 모든 이벤트에 대한 생성 라운드를 계산하고 이벤트가 이번 라운드에서 증인 이벤트인지 여부를 결정합니다.
d. 잘 알려진 증인인지 여부를 계산하기 위해 알려진 모든 목격자 이벤트에 투표합니다.
e. 잘 알려진 증인을 통해 모든 이벤트에 대한 승인 라운드 결정
f. 이벤트의 승인 라운드 및 컨센서스 타임스탬프를 통해 가상 투표를 수행하여 컨센서스 순서를 결정합니다.
전체 합의 알고리즘을 위해서는 단일 노드가 전체 네트워크 데이터를 저장해야 합니다.
2.4 해시그래프의 장점
공정성: 실제 거래 순서 유지
일관된 타임스탬프를 사용하면 모든 이벤트와 이벤트 내의 모든 트랜잭션에 순서가 있습니다.
광부와 같은 역할은 없습니다.
안전: 비동기식 비잔틴 내결함성
빠른
빠른
공식 웹사이트의 테스트 데이터에 따르면 놀라운 250,000 TPS에 도달할 수 있습니다.
2.5 해시그래프 현재 문제
현재 프라이빗 체인이며 처리량의 기준값이 의심스럽습니다.
현재 Hashgraph는 프라이빗 체인이며 "빠른 실행 속도"는 Hyperledger(700 트랜잭션/초) 및 Red Belly(400,000 트랜잭션/초)와 같은 다른 프라이빗 체인과만 비교할 수 있습니다. 비교하는 것은 매우 불공평합니다. 현재 해시그래프는 악의적인 노드 공격을 방지하기 위한 메커니즘을 설정할 필요가 없기 때문에 이더리움 및 이더리움과 같은 퍼블릭 체인입니다. 또한 가십 알고리즘이 대규모 퍼블릭 체인 환경에 적용 가능한지 여부는 여전히 탐색할 가치가 있습니다.
악의적인 공격을 견딜 수 있습니까?
Sybil 공격, 즉 공격자는 가짜 ID를 대량으로 생성하여 피어 투 피어 네트워크의 평판 시스템을 파괴하고 이를 사용하여 불균형적으로 큰 영향력을 얻습니다. 현재 Hashgraph는 프라이빗 체인이며 모든 노드의 신원을 알고 있으며 이러한 종류의 액세스 제어로 인해 Hashgraph는 현 단계에서 Sybil 공격의 위험을 고려할 필요가 없습니다. 하지만 해시그래프가 향후 퍼블릭 체인으로 발전하고자 한다면 시빌 공격에 저항할 수 있을지 여부는 해시그래프가 고민해야 할 문제가 될 것이다.
투표 확인에 시간이 오래 걸릴 수 있습니다.
Hashgraph의 알고리즘은 이벤트를 생성하기 쉽지만 각 라운드 이후의 투표 검증 프로세스는 매우 길 수 있습니다. 2/3 이상의 절대 다수가 달성되지 않은 경우 거래가 유효한 것으로 기록된 사람을 결정하기 위해 여러 라운드의 투표가 있을 수 있습니다.
외부 조건이 다를 때의 공정성 문제: 거래 순서를 어떻게 결정할 것인가?
공정성은 해시그래프 백서에 다음과 같이 설명되어 있습니다.
A와 B라는 두 개의 노드가 있고 A가 B보다 먼저 트랜잭션 요청을 보낸다고 가정합니다. 합의 메커니즘의 판단에 따라 A의 트랜잭션 타임 스탬프가 B의 트랜잭션보다 빠르면 시스템이 공정하다고 합니다. A와 B가 동시에 트랜잭션이 있고 두 트랜잭션이 거의 동시에 네트워크에 업로드되어 전파되면 이때 포크가 발생할 수 있지만 시스템이 공정하다고도 말합니다. 대부분의 합의 메커니즘은 두 경우 모두에서 공정성을 달성할 수 있습니다.
그러나 이 설명은 노드 A와 B가 동일한 외부 네트워크 상황에 직면한다는 가정을 기반으로 합니다. 그러나 다음과 같은 상황을 생각해 봅시다.
A의 대역폭이 5M/s이고 B의 대역폭이 10M/s인 경우 A는 B보다 먼저 자신의 트랜잭션 정보를 네트워크에 업로드하지만 대역폭 제한으로 인해 A의 메시지 전파 속도는 느려집니다. 이런 식으로 대부분의 사람들이 최종 투표를 할 때 B의 메시지를 먼저 받을 가능성이 있습니다. 마치 학교에서 B가 A보다 친구가 많고 영향력이 크기 때문에 가십에 대해 이야기할 때 B가 더 빨리 퍼뜨리고 싶은 가십 정보를 더 많은 사람들에게 알릴 수 있습니다. A가 먼저 가십을 퍼뜨렸더라도 영향력의 한계로 인해 대부분의 사람들은 B의 입에서 버전을 먼저 듣게 될 것입니다.
노드의 외부 조건이 다른 경우 투표도 실제 거래 순서를 반영할 수 있는지 여부가 현재 명확하게 명시되어 있지 않아 여전히 공정성에 의문이 있습니다.
코드는 오픈 소스가 아닙니다
첫 번째 레벨 제목
.03.요약
첫 번째 레벨 제목
.04 참고문헌 및 인용
헤데라 해시그래프 백서;
20180326 합의 정렬 및 Hashgraph 간략한 설명 작성자 Xie Junyi 코드 농부 학습 블록체인;
20180403 신급 프로젝트 해시그래프, 과연 블록체인의 종착역이 될 수 있을까? 저자 Casey Maoyan 금융 초점;
20180413 Hashgraph —— 아마도 현재 가장 뛰어난 합의 프로토콜 저자 Eric Sun BlockGeeks;
20180417 Hashgraph —— 블록체인을 능가할 수 있는 탁월한 합의 프로토콜 작성자 XC가 Bijie에서 선두를 차지합니다.
20180424 DAG 기술|체인 캐처 작성자 Li Qiang 체인 캐처의 현상 유지 및 추세를 이해하는 기사;
20180507 10분 안에 해시그래프를 이해하는 방법 Author InterValue InterValue.
이 기사에 대한 자세한 내용은 배경에 메시지를 남겨주세요
【재인쇄 공지】
【재인쇄 공지】
1. 이 보고서는 "저작권법"의 보호를 받는 전문 데이터 연구 및 분석 기관인 Jingzhun(ID: rong36kr)의 원본 저작물이며 법률에 따라 편집 및 주석에 대한 권한을 가집니다.
3. 상업적인 전재 및 2차 편집 및 전재를 금지합니다.
3. 상업적인 전재 및 2차 편집 및 전재를 금지합니다.