연합 비잔틴 동의 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
12번째 줄: 12번째 줄:
 
== 특징 ==
 
== 특징 ==
 
=== 쿼럼 슬라이드 ===
 
=== 쿼럼 슬라이드 ===
쿼럼 슬라이드는 각 노드들이 믿기로 한 노드들과 자기 자신을 의미한다.<ref name="야옹메롱"></ref>  연합 비잔틴 동의 시스템은 합의 프로토콜을 실행하는데 이 합의 프로토콜은 슬롯 내용에 대해서 노드들의 합의를 보장한다. 합의 프로토콜에서 노드는 슬롯에 대한 의견을 주장하며 메시지를 교환한다. 이 주장들은 공개키에 의해 명명 되고 디지털로 메시지에 사인을 하여 위조가 불가능할 뿐만 아니라 안정성이 보장된다.<ref name="유병국">유병국, 〈[https://brunch.co.kr/@osehyum/5 (Whitepaper)스텔라(XLM)백서 탐구]〉, 《브런치》, 2018-09-08</ref> 충분히 많은 수의 그룹을 쿼럼 슬라이스, 또는 슬라이스라고 하는데, 노드 오류가 발생하더라도 진행을 계속하기 위해서 노드는 여러 개의 슬라이스를 가지고 있을 수 있으며, 이들 중 어느 하나만 있어도 의견에 대해 노드를 납득시킬 수 있다. 형식적으로는, FBA 시스템은 노드들의 연합체들로 구성되며, 이들 노드 각각은 한 개 또는 그 이상의 슬라이스를 선택한다. [[쿼럼]]은 합의에 도달하는데 충분한 노드 집합을 의미하며, 쿼럼의 부분집합이 쿼럼 슬라이스가 된다. 쿼럼 슬라이스는 특정 노드에게 합의를 하도록 납득 및 설득시킨다.<ref name="깃허브"></ref>
+
쿼럼 슬라이드는 각 노드들이 믿기로 한 노드들과 자기 자신을 의미한다.<ref name="야옹메롱"></ref>  연합 비잔틴 동의 시스템은 합의 프로토콜을 실행하는데 이 합의 프로토콜은 슬롯 내용에 대해서 노드들의 합의를 보장한다. 합의 프로토콜에서 노드는 슬롯에 대한 의견을 주장하며 메시지를 교환한다. 이 주장들은 공개키에 의해 명명 되고 디지털로 메시지에 사인을 하여 위조가 불가능할 뿐만 아니라 안정성이 보장된다.<ref name="유병국">유병국, 〈[https://brunch.co.kr/@osehyum/5 (Whitepaper)스텔라(XLM)백서 탐구]〉, 《브런치》, 2018-09-08</ref> 충분히 많은 수의 그룹을 쿼럼 슬라이스, 또는 슬라이스라고 하는데, 노드 오류가 발생하더라고 진행을 계속하기 위해서 노드는 여러 개의 슬라이스를 가지고 있을 수 있으며, 이들 중 어느 하나만 있어도 의견에 대해 노드를 납득시킬 수 있다. 형식적으로는, FBA 시스템은 노드들의 연합체들로 구성되며, 이들 노드 각각은 한 개 또는 그 이상의 슬라이스를 선택한다.쿼럼은 합의에 도달하는데 충분한 노드 집합을 의미하며, 쿠럼의 부분집합이 쿼럼 슬라이스가 된다. 쿼럼 슬라이스는 특정 노드에게 합의를 납득과 설득 시킨다.<ref name="깃허브"></ref>  
  
 
=== 안전성과 활동성 ===
 
=== 안전성과 활동성 ===
 
* '''안전성''' : 안전성은 노드 두개 중 어느 쪽에서도 동일한 슬롯에 대해 상이한 값을 외부화하지 않는다면 연합 비잔틴 동의의 하나의 노드집합은 안전성을 누릴 수 있다.<ref name="깃허브"></ref>   
 
* '''안전성''' : 안전성은 노드 두개 중 어느 쪽에서도 동일한 슬롯에 대해 상이한 값을 외부화하지 않는다면 연합 비잔틴 동의의 하나의 노드집합은 안전성을 누릴 수 있다.<ref name="깃허브"></ref>   
 
* '''활동성''' : 활동성은 악의적인 행동과 같은 장애가 있는 노드들의 참여를 배제한 상태에서 새로운 값을 외부화할 수 있다면 연합 비잔틴 동의의 그 노드는 활동성을 누릴 수 있다.<ref name="깃허브"></ref>  
 
* '''활동성''' : 활동성은 악의적인 행동과 같은 장애가 있는 노드들의 참여를 배제한 상태에서 새로운 값을 외부화할 수 있다면 연합 비잔틴 동의의 그 노드는 활동성을 누릴 수 있다.<ref name="깃허브"></ref>  
노드는 선의로 행동하는 쪽과 악의로 행동하는 쪽으로 분류된다. 선의로 행동하는 노드는 적합하고 합리적인 쿼럼 슬라이스를 선택하고, [[프로토콜]]을 따른다. 최종적으로 모든 요청에도 응답한다. 악의로 행동하는 노드는 이와 대조적인 모습을 보여준다. 악의로 행동하는 노드는 비잔틴 장애 문제를 유발하고, 비협조적인 모습을 보인다. 비잔틴 합의의 목적은 악의로 행동하는 노드가 존재하더라도 선의로 행동하는 노드가 동일한 값을 표면화하는 것을 보장하는 것이다. 이 목표에는 두 가지 목적이 있다. 첫째로, [[노드]]가 동일 슬롯에 대해 상이한 값을 표면화하고 나뉘는 것을 방지하려 한다. 두 번째는 노드가 실제로 값을 확실하게 표면화할 수 있도록 보장하려 한다. 더 이상 합의가 불가능한 꽉 막히 상태로 인한 차단을 발생하지 않아야 한다. 이와 같은 특징을 위해 안전성과 활동성을 가지고 선의로 행동하는 노드가 가장 이상적인 노드이다. 그러나 장애가 악의적인 행동을 하는 노드에게만 발생하는 것은 아니다. 선의로 행동하는 노드도 장애가 있을 수 있다. 이는 악의로 행동하는 노드로부터 메시지를 끝없이 기다린 것이 원인이거나, 더 나쁜 예시로는, 악의로 행동하는 노드의 잘못된 메시지가 상태에 악영향을 미친 경우이다. 안전성을 위반하는 공격이 활동성만 위반하는 공격보다 한층 더 위험한 형태이다. 네트워크는 중요 메시지를 지연하거나 재요청해서 합의를 지속적으로 방해한다. 순수 비동기, 결정론적 시스템에서는 노드 장애를 이겨내기 위해 영구적인 선점이 불가피하다. 다행이도, 선점 현상은 일시적이다. 이 경우에 시스템은 언제라도 보구 될 있으므로 노드 장애를 의미하지는 않는다.<ref name="깃허브"></ref>
+
노드는 선의로 행동하는 쪽과 악의로 행동하는 쪽으로 분류된다. 선의로 행동하는 노드는 적합하고 합리적인 쿼럼 슬라이스를 선택하고, [[프로토콜]]을 따른다. 최종적으로 모든 요청에도 응답한다. 악의로 행동하는 노드는 이와 대조적인 모습을 보여준다. 악의로 행동하는 노드는 비잔틴 장애 문제를 유발하고, 비협조적인 모습을 보인다. 비잔틴 합의의 목적은 악의로 행동하는 노드가 존재하더라도 선의로 행동하는 노드가 동일한 값을 표면화하는 것을 보장하는 것이다. 이 목표에는 두 가지 목적이 있다. 첫째로, [[노드]]가 동일 슬롯에 대해 상이한 값을 표면화하고 나뉘는 것을 방지하려 한다. 두 번째는 노드가 실제로 값을 확실하게 표면화할 수 있도록 보장하려 한다. 더 이상 합의가 불가능한 꽉 막히 상태로 인한 차단을 발생하지 않아야 한다. 이와 같은 특징을 위해 안전성과 활동성을 가지고 선의로 행동하는 노드가 가장 이상적인 노드이다. 그러나 장애가 악의적인 행동을 하는 노드에게만 발생하는 것은 아니다. 선의로 행동하는 노드도 장애가 있을 수 있다. 이는 악의로 행동하는 노드로부터 메시지를 끝없이 기다린 것이 원인이거나, 더 나쁜 예시로는, 악의로 행동하는 노드의 잘못된 메시지가 상태에 악영향을 미친 경우이다. 안전성을 위반하는 공격이 활동성만 위반하는 공격보다 한층 더 위험한 형태이다. 노드가 새로운 값을 반드시 외부화하는 것이 아니라 그럴 가능성이 있다고 말하므로 활동성에 대한 정의는 설득력이 약하다. 그러무로, 이 정의는 합의가 영원히 가능한 영구적인 선취권을 허용한다. 다만 네트워크는 중요 메시지를 지연하거나 재요청해서 합의를 지속적으로 방해한다. 순수 비동기, 결정론적 시스템에서는 노드 장애를 이겨내기 위해 영구적인 선점이 불가피하다. 다행이도, 선점 현상은 일시적이다. 이 경우에 시스템은 언제라도 보구 될 있으므로 노드 장애를 의미하지는 않는다.<ref name="깃허브">
  
 
{{각주}}
 
{{각주}}
28번째 줄: 28번째 줄:
 
* [[합의 알고리즘]]
 
* [[합의 알고리즘]]
 
* [[스텔라루멘]]
 
* [[스텔라루멘]]
* [[수정 연합 비잔틴 동의]]
 
* [[아이작]]
 
  
{{합의 알고리즘|검토 필요}}
+
{{알고리즘|토막글}}
 +
 
 +
[[분류:합의 알고리즘]]

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)