검수요청.png검수요청.png

"슬롯리더"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
 
(사용자 3명의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''슬롯리더'''(slot leader)는 유의미한과 스테이킹을 하고 있는 노드를 스테이크 홀더라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯 리더라고 부른다.
+
'''슬롯리더'''<!--슬롯 리더-->(slot leader)<!--slotleader-->유의미 한과 [[스테이킹]]을 하고 있는 [[노드]]를 [[스테이크 홀더]]라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯리더라고 부른다.
  
 
==개요==
 
==개요==
정적 지분을 보유한 카르 다노 네트워크의 노드를 '이해 관계자'라고하며, 새로운 블록을 형성하도록 선택된 노드를 슬롯 리더 라고한다. 효과적으로, 이 노드들만이 슬롯 리더가되고 블록 체인을 위한 새로운 블록을 생성 할 수 있기 때문에 이해 당사자 노드 만이 카르다노 프로토콜을 실행할 수 있으며, 새로운 블록을 생성 할 때에 슬롯 리더는 네트워크의 다른 노드에 의해 전파되는 트랜잭션을 수신하고 해당 트랜잭션으로부터 블록을 형성한다.<ref>비 사드 아솔로, 〈[https://www.mycryptopedia.com/cardano-staking-explained/ 카르 다노 스테이 킹 설명]〉, 《마이크립토피디아》, 2018-11-01 </ref> 카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미하며, 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 한다.<ref name="카노">카르다노 공식 홈페이지 - https://forum.cardano.org/t/pos-lars-brunjes/12169/1 </ref>
+
정적 지분을 보유한 카르 다노 네트워크의 노드를 이해 관계자라고 하며, 새로운 블록을 형성하도록 선택된 노드를 슬롯 리더 라고 한다. 효과적으로, 이 노드들만이 슬롯 리더가 되고 [[블록체인]]을 위한 새로운 블록을 생성 할 수 있기 때문에 이해 당사자 노드 만이 [[카르다노]] 프로토콜을 실행할 수 있으며, 새로운 블록을 생성할 때에 슬롯 리더는 네트워크의 다른 노드에 의해 전파되는 [[트랜잭션]]을 수신하고 해당 트랜잭션으로부터 블록을 형성한다.<ref>비 사드 아솔로, 〈[https://www.mycryptopedia.com/cardano-staking-explained/ 카르 다노 스테이 킹 설명]〉, 《마이크립토피디아》, 2018-11-01 </ref> 카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미하며, 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 한다.<ref name="카노">카르다노 공식 홈페이지 - https://forum.cardano.org/t/pos-lars-brunjes/12169/1 </ref>
  
 
== 활용 ==
 
== 활용 ==
 
[[파일:카르다노 글자.png|썸네일|300픽셀|'''카르다노'''(Cardano)]]
 
[[파일:카르다노 글자.png|썸네일|300픽셀|'''카르다노'''(Cardano)]]
 +
 +
[[파일:이어달리기.PNG|썸네일|300픽셀|'''지분증명 방식''']]
 
=== 카르다노 ===
 
=== 카르다노 ===
[[카르다노]](Cardano)는 세계적으로 일어나는 거래를 감당하려면 당연히 전송속도는 빨라야 한다. 이것을 측정하는 것은 TPS(Transfer Per Second)단위로 숫자가 높을수록 거래처리 속도가 빠르다는 것을 알 수 있다. 카르다노에서는 이 문제를 해결하기위해 우로보로스는 지분증명(PoS) 방식을 적용하였다. 지분증명은 작업증명(PoW)의 문제점을 해결하기 위해 등장한 증명방식이다. 카르다노는 비트코인처럼 모든 노드들이 경쟁을 통하여 작업증명을 하는 것이 아니라, 시간대별로 한 명의 슬롯리더가 마치 이어달리기를 하는 것처럼 증명을 한다. 경쟁을 통한 채굴을 하는 것이 아니기 때문에 시간과 많은 에너지를 낭비하지 않아도 된다.
+
[[카르다노]](Cardano)는 세계적으로 일어나는 거래를 감당하려면 당연히 전송속도는 빨라야 한다. 이것을 측정하는 것은 [[TPS]](Transfer Per Second) 단위로 숫자가 높을수록 거래처리 속도가 빠르다는 것을 알 수 있다. 카르다노에서는 이 문제를 해결하기 위해 우로보로스는 [[지분증명]](PoS) 방식을 적용하였다.  
 
 
[[파일:이어달리기.PNG|400픽셀]]
 
  
또한, 시간대별로 슬롯을 더 늘려 더 빠르게 증명속도를 늘릴 수 있고, 병렬적으로 시대(epoch)를 세워 몇 개의 작업증명을 동시에 할 수도 있다.<ref>sobly tv, 〈[http://a.to/19J2Fj0 Cardano가 3세대 블록체인으로 불리는 이유]〉, 《미디엄》, 2018-07-06 </ref>
+
[[지분증명]]은 [[작업증명]](PoW)의 문제점을 해결하기 위해 등장한 증명방식이다. 카르다노는 [[비트코인]](Bitcoin)처럼 모든 노드가 경쟁을 통하여 작업증명을 하는 것이 아니라, 시간대별로 한 명의 슬롯 리더가 마치 이어달리기를 하는 것처럼 증명한다. 경쟁을 통한 채굴을 하는 것이 아니기 때문에 시간과 많은 에너지를 낭비하지 않아도 된다. 또한, 시간대별로 슬롯을 더 늘려 더 빠르게 증명속도를 늘릴 수 있고, 병렬적으로 에폭(epoch)를 세워 몇 개의 작업증명을 동시에 할 수도 있다.<ref>sobly tv, 〈[http://a.to/19J2Fj0 Cardano가 3세대 블록체인으로 불리는 이유]〉, 《미디엄》, 2018-07-06 </ref>  
  
 
* '''에이다 코인'''
 
* '''에이다 코인'''
: 카르다노 기반의 암호화폐를 에이다(ADA)라고 부른다. 에이다의 경우에 훨씬 효율적인데 모든이들이 블럭을 채굴하도록 하지 않는다. 그대신 네트워크에서 다음 블럭을 채굴할 수 있는 몇몇의 노드들을 선출하는 노드를 슬롯리더 라고부르며, 이 과정을 위해서 시간대를 각 시대(에폭)로 나눈다. 그리고 이 시대가 다시 슬롯들로 나뉘어지고 슬롯은 블럭 하나를 생성할 수 있을 정도의 아주 짧은 시간이다. 네트워크는 슬롯마다 슬롯리더를 선출하고, 슬롯리더만이 슬롯시간 동안 블럭을 채굴할 수 있다. 슬롯리더는 트랜잭션들을 받아들이고, 감별을 한뒤 블럭안에 포함시키게 되며, 만약 슬롯리더가 제시간안에 이 작업을 완수하지 못하거나, 작업을 하지 않게 된다면, 블럭을 생할 권리를 잃어버리게 된다. 그리고 네트워크로부터 다시 선출될 때까지 기다려야 되며, 이 기술로 인하여 카르다노는 높은 확장성을 가지게 된다.<ref>레오, 〈[https://m.blog.naver.com/lovenrzro/221334218736 에이다 코인, 카르다노 전망 및 분석]〉, 《네이버 블로그》, 2018-08-07 </ref>
+
: 카르다노 기반의 [[암호화폐]]를 [[에이다]](ADA)라고 부른다. 에이다의 경우에 훨씬 효율적인데 모든 이들이 블럭을 채굴하도록 하지 않는다. 그 대신 네트워크에서 다음 블럭을 채굴할 수 있는 몇몇 노드들을 선출하는 노드를 슬롯 리더 라고 부르며, 이 과정을 위해서 시간대를 각 시대(에폭)로 나눈다. 그리고 이 시대가 다시 슬롯들로 나누어지고 슬롯은 블럭 하나를 생성할 수 있을 정도의 아주 짧은 시간이다. 네트워크는 슬롯마다 슬롯 리더를 선출하고, 슬롯 리더만이 슬롯 시간 동안 블럭을 채굴할 수 있다. 슬롯 리더는 트랜잭션들을 받아들이고, 감별을 한 뒤 블럭안에 포함하게 되며, 만약 슬롯 리더가 제시간 안에 이 작업을 완수하지 못하거나, 작업하지 않게 된다면, 블럭을 생할 권리를 잃어버리게 된다. 그리고 네트워크로부터 다시 선출될 때까지 기다려야 되며, 이 기술로 인하여 카르다노는 높은 확장성을 가지게 된다.<ref>레오, 〈[https://m.blog.naver.com/lovenrzro/221334218736 에이다 코인, 카르다노 전망 및 분석]〉, 《네이버 블로그》, 2018-08-07 </ref>
  
 
* ''' 인센티브 '''
 
* ''' 인센티브 '''
: 카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미한다. 카르다노 프로토콜 참여는 것은 비트코인에 참여하는 것보다 훨씬 더 적은 컴퓨테이션 비용이 들어도 슬롯리더들을 그들의 차례가 돌아왔을 때 온라인으로 상태로 유지하는 것은 보안 및 효율성 측면에서 매우 중요하다. 또한 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 하고, 카르다노의 경우 현금성 인센티브로서, ADA의 형태로 지급이 된다. 프로토콜 참여는 지분보유자들이 특정 슬롯의 슬롯 리더로 선출되면 그들은 블록을 생성하기 위해서는 슬롯에서 온라인 상태여야 한다.<ref name="카노"></ref>
+
: 카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미한다. 카르다노 프로토콜 참여하는 것은 [[비트코인]]에 참여하는 것보다 훨씬 더 적은 컴퓨테이션 비용이 들어도 슬롯 리더들을 그들의 차례가 돌아왔을 때 온라인으로 상태로 유지하는 것은 보안 및 효율성 측면에서 매우 중요하다. 또한 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 하고, 카르다노의 경우 현금성 인센티브로서, 에이다의 형태로 지급이 된다. 프로토콜 참여는 지분보유자들이 특정 슬롯의 슬롯 리더로 선출되면 그들은 블록을 생성하기 위해서는 슬롯에서 온라인 상태여야 한다.<ref name="카노"></ref>
  
 
* '''주소형식'''
 
* '''주소형식'''
: 카르다노는 다양한 주소 형식을 지원하고, 주소에 지분분배(stake distribution)와 같은 추가 정보가 붙어있는 점이 특이한데, 지분은 비트코인의 채굴자에 해당하는 슬롯 리더 선출과 거버넌스 프로토콜 업데이트 여부 투표에 사용한다. 지분분배는 잔액(balance)과 지분(stake)을 구분하는 역할을 하고 예를 들어, 여러 사람이 모여서 다중서명 주소를 만들면, 다중서명 주소의 잔액은 참여자가 보낸 총액이지만, 보통은 각자가 보낸 금액에 비례하는 지분분배에 따라 각자 지분에 따른 권한을 행사할 수 있다.<ref name="이더">이더리움 연구회, 〈[http://a.to/19uXRC4 (리서치 3주차) Cardano]〉, 《미디엄》, 2018-05-29 </ref>
+
: 카르다노는 다양한 주소 형식을 지원하고, 주소에 [[지분분배]](stake distribution)와 같은 추가 정보가 붙어있는 점이 특이한데, 지분은 비트코인의 채굴자에 해당하는 슬롯 리더 선출과 거버넌스 프로토콜 업데이트 여부 투표에 사용한다. 지분분배는 잔액(balance)과 지분(stake)을 구분하는 역할을 하고 예를 들어, 여러 사람이 모여서 다중서명 주소를 만들면, [[다중서명]] 주소의 잔액은 참여자가 보낸 총액이지만, 보통은 각자가 보낸 금액에 비례하는 지분분배에 따라 각자 지분에 따른 권한을 행사할 수 있다.<ref name="이더">이더리움 연구회, 〈[http://a.to/19uXRC4 (리서치 3주차) Cardano]〉, 《미디엄》, 2018-05-29 </ref>
  
 
* '''블록형성'''
 
* '''블록형성'''
: 블록은 슬롯 리더가 슬롯마다 한번씩 만들 수 있으며, 슬롯을 일정 개수만큼 모으면 에폭(epoch)이 된다. 에폭 기간 동안 다음 에폭에 활동할 슬롯당 슬롯 리더를 무작위로 결정하고, 슬롯 리더가 되려면 미리 정한 지분 최소량 이상 지분을 가져야 해서, 지분에 비례하여 슬롯 리더가 될 확률이 커진다. 슬롯 리더가 해당 슬롯 시점에 블록을 만들 자신이 없다면 다른 노드에게 위임해도 되며, 공격자가 슬롯 리더 결정에 영향력을 미칠 수 없도록 스크레치(Scrape)라는 검증가능한 비밀공유 기법을 사용한다. 메인넷에서 슬롯은 20초이고, 21600 (= k * 10) 슬롯이 모여서 에폭이 된다. k는 안정성 파라미터(security parameter)인데 어떤 블록 뒤에 k개 블록이 쌓이면 그 블록은 확정되어 취소할 수 없어 이런 수치는 블록체인을 처음 시작할 때 지정하며 프로토콜 업데이트 투표를 거쳐 운영중에 변경할 수 있다.<ref name="이더"></ref>
+
: 블록은 슬롯 리더가 슬롯마다 한 번씩 만들 수 있으며, 슬롯을 일정 개수만큼 모으면 [[에폭]](epoch)이 된다. 에폭 기간 동안 다음에 폭에 활동할 슬롯당 슬롯 리더를 무작위로 결정하고, 슬롯 리더가 되려면 미리 정한 지분 최소량 이상 지분을 가져야 해서, 지분에 비례하여 슬롯 리더가 될 확률이 커진다. 슬롯 리더가 해당 슬롯 시점에 블록을 만들 자신이 없다면 다른 노드에게 위임해도 되며, 공격자가 슬롯 리더 결정에 영향력을 미칠 수 없도록 스크레치(Scrape)라는 검증 가능한 비밀공유 기법을 사용한다. 메인넷에서 슬롯은 20초이고, 21600 (= k * 10) 슬롯이 모여서 에폭이 된다. k는 안정성 파라미터(security parameter)인데 어떤 블록 뒤에 k개 블록이 쌓이면 그 블록은 확정되어 취소할 수 없어 이런 수치는 블록체인을 처음 시작할 때 지정하며 프로토콜 업데이트 투표를 거쳐 운영 중에 변경할 수 있다.<ref name="이더"></ref>
 
# 슬롯이 모여서 에폭을 이루고, 슬롯마다 최대 1개 블록을 생성한다.
 
# 슬롯이 모여서 에폭을 이루고, 슬롯마다 최대 1개 블록을 생성한다.
 
# 에폭하는 동안 다음 에폭의 슬롯리더를 모두 결정한다.
 
# 에폭하는 동안 다음 에폭의 슬롯리더를 모두 결정한다.
 
# 슬롯리더가 되려면 최소량 이상 지분을 가진다.
 
# 슬롯리더가 되려면 최소량 이상 지분을 가진다.
 
# 지분 비율에 따라 슬롯리더가 될 확률이 결정되며, 슬롯리더는 다른 노드에게 권한을 위임할 수 있다.
 
# 지분 비율에 따라 슬롯리더가 될 확률이 결정되며, 슬롯리더는 다른 노드에게 권한을 위임할 수 있다.
# 공격자가 슬롯리더 선정을 조작할 수 없게 SSC(Shared Seed Computauion)하려고 PVSS(Publicly Verifiable Secret Sharing) 스크레치 방식을 사용하여 난수 생성한다.
+
# 공격자가 슬롯리더 선정을 조작할 수 없게 SSC(Shared Seed Computauion)하려고 PVSS(Publicly Verifiable Secret Sharing) 스크레치 방식을 사용하여 난수 생성한다. {{자세히|카르다노}}
  
 
=== 우로보로스 지분증명 ===
 
=== 우로보로스 지분증명 ===
 
[[파일:Ouroboros.png|오른쪽|썸네일|250픽셀|'''우로보로스'''(Ouroboros)]]
 
[[파일:Ouroboros.png|오른쪽|썸네일|250픽셀|'''우로보로스'''(Ouroboros)]]
[[우로보로스]](Ouroboros) 알고리즘의 가장 큰 특징은 블록을 만드는 과정을 에포크(Epoch)슬롯(Slot)으로 구분지어 만들었다는 점이다. 우로보로스에서는 블록을 생성할 사람들을 사전에 미리 선발하게 되는데, 앞으로 만들어질 모든 블록에 대해 생성자를 선발할 수 없으니, 특정 주기를 정해놓고 해당 주기에 대해 선발하게 되어 이 주기를 에포크라고 부르며 슬롯은 에포크 내에서 블록 1개를 생성하는 시간을 의미한다. 에포크가 시작되기 전, 개별 슬롯에서 블록을 생성할 슬롯 리더를 선별하게 된다. 슬롯 리더는 확률적으로 선별되는데 이 때 확률은 가지고 있는 에이다의 수를 전체 에이다의 수로 나눈 값이 된다. 즉 총 1억개의 에이다 중 5천만개의 에이다를 가지고 있다면, 이 사람이 슬롯 리더에 선발될 확률은 50%인 것이다. 이런 과정을 모든 슬롯에 걸쳐서 반복하게 되며, 한 사람이 여러 개의 슬롯 리더가 될 수 있으며, 참고로 현재 에포크는 21,600개의 슬롯으로 구성되어 있다. 우로보로스는 기본적으로 지분증명(PoS)이기 때문에, 같은 플랫폼 블록체인인 이더리움보다 더 빠르게 합의를 이끌어 낼 수 있다.<ref>energist, 〈[https://steemit.com/ada/@energist/2-1 (카르다노, 에이다) #2 확장성(1)]〉, 《스팀잇》, 2018-02-11 </ref>
+
[[우로보로스]](Ouroboros) 알고리즘의 가장 큰 특징은 블록을 만드는 과정을 [[에폭]](Epoch)과 [[슬롯]](Slot)으로 구분 지어 만들었다는 점이다. 우로보로스에서는 블록을 생성할 사람들을 사전에 선발하게 되는데, 앞으로 만들어질 모든 블록에 대해 생성자를 선발할 수 없으니, 특정 주기를 정해놓고 해당 주기에 대해 선발하게 되어 이 주기를 에폭이라고 부르며 슬롯은 에폭 내에서 블록 1개를 생성하는 시간을 의미한다. 에폭 시작되기 전, 개별 슬롯에서 블록을 생성할 슬롯 리더를 선별하게 된다. 슬롯 리더는 확률적으로 선별되는데 이때 확률은 가지고 있는에이다의 수를 전체에이다의 수로 나눈 값이 된다. 즉 총 1억 개의 에이다 중 5천만 개의 에이다를 가지고 있다면, 이 사람이 슬롯 리더에 선발될 확률은 50%인 것이다. 이런 과정을 모든 슬롯에 걸쳐서 반복하게 되며, 한 사람이 여러 개의 슬롯 리더가 될 수 있으며, 참고로 현재 에폭은 21,600개의 슬롯으로 구성되어 있다. 우로보로스는 기본적으로 지분증명(PoS)이기 때문에, 같은 플랫폼 블록체인인 [[이더리움]]보다 더 빠르게 합의를 끌어낼 수 있다.<ref>energist, 〈[https://steemit.com/ada/@energist/2-1 (카르다노, 에이다) #2 확장성(1)]〉, 《스팀잇》, 2018-02-11 </ref>
  
기존의 지분증명 합의 알고리즘의 경우는 새로운 블록 생성자를 추첨할 때 무작위 변수를 조작할 가능성이 있어 보안상 취약점 그라인딩 공격 가능성이 있었지만, 이러한 문제점을 카르다노 블록체인은 코인 토싱(동전 던지기)의 방법으로 해결하고 있다. 유의미한 + 스테이킹을 하고 있는 노드를 스테이크 홀더라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯 리더라고 부른다. 우로보로스 프로토콜은 물리적 시간을 에포크(Epoch)라는 단위로 나누고 이 각각의 에포크는 다시 슬롯으로 나뉘며 각 슬롯에는 앞서 말씀드린 단 하나의 블록을 생성할 수 있는 슬롯 리더가 존재한다. 따라서 슬롯의 수와 슬롯 리더의 수는 일치하게 되고, 슬롯 리더가 블록을 생성한다고 할 때 앞서 살펴 본 일반적인 지분증명 체인에서는 그라인딩 공격 가능성이 있었지만 우로보로스 지분증명 에서는 이러한 공격이 가능하지 않도록 한다고 할 때 슬롯 리더가 무작위로 선출될 필요가 있게 되며, 슬롯 리더는 모든 스테이크 홀더 중에서 하나의 노드만 선출되며 카르다노 블록체인 상에서 많은 지분을 가진 선거인(electors)들에 의해 선출된다. 어떤 일정한 시간 단위인 에포크 안에 여러 슬롯이 존재하고 슬롯 하나당 슬롯 리더가 한 노드만 선출된다고 할 때 선거인들은 현재 에포크에서 다음 에포크로 넘어가기 전에 슬롯 리더를 선출해야만 하고, 이때 스테이크 홀더는 한 에포크 안에서 복수의 슬롯의 리더가 되는 것도 가능하며, 선출 과정에서 무작위성과 공정성이 담보될 필요가 있어, 이를 위해 슬롯 리더를 선출하는 선거인들은 다자간 계산(Multiparty Computation) 과정에서 코인 토싱(Coin Tossing)이라는 방법을 이용하게 된다. 우로보로스 지분증명은 무작위성, 공정성을 보장할 수 있는 코인 토싱의 과정을 거쳐 슬롯 리더를 선출함으로써 그라인딩 공격을 방지하고 합의에 도달하여 블록을 생성한다.<ref>VIADOLOROSA , 〈[https://www.a-ha.io/questions/4c0967bee490d5e0aebc4db549457710 찰스 호스킨스가 제시한 우로보로스 지분증명(OPOS-Ouroboros Proof Of Stake)이란 무엇인가요?]〉, 《아하》, 2019-08-10 </ref>
+
기존의 [[지분증명]] [[합의 알고리즘]]의 경우는 새로운 블록 생성자를 추첨할 때 무작위 변수를 조작할 가능성이 있어 보안상 취약점 그라인딩 공격 가능성이 있었지만, 이러한 문제점을 카르다노 블록체인은 코인 [[토싱]](동전 던지기)의 방법으로 해결하고 있다. 유의미한 + 스테이킹을 하고 있는 노드를 스테이크 홀더라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯 리더라고 부른다. 우로보로스 프로토콜은 물리적 시간을 [[에폭]](Epoch)이라는 단위로 나누고 이 각각의 에폭은 다시 슬롯으로 나뉘며 각 슬롯에는 앞서 말씀드린 단 하나의 블록을 생성할 수 있는 슬롯 리더가 존재한다. 따라서 슬롯의 수와 슬롯 리더의 수는 일치하게 되고, 슬롯 리더가 블록을 생성한다고 할 때 앞서 살펴본 일반적인 지분증명 체인에서는 그라인딩 공격 가능성이 있었지만, 우로보로스 지분증명에서는 이러한 공격이 가능하지 않도록 한다고 할 때 슬롯 리더가 무작위로 선출될 필요가 있게 되며, 슬롯 리더는 모든 스테이크 홀더 중에서 하나의 노드만 선출되며 카르다노 블록체인상에서 많은 지분을 가진 선거인(electors)들에 의해 선출된다. 어떤 일정한 시간 단위인 에폭 안에 여러 슬롯이 존재하고 슬롯 하나당 슬롯 리더가 한 노드만 선출된다고 할 때 선거인들은 현재 에폭에서 다음 에폭으로 넘어가기 전에 슬롯 리더를 선출해야만 하고, 이때 스테이크 홀더는 한 에폭 안에서 복수의 슬롯의 리더가 되는 것도 가능하며, 선출 과정에서 무작위성과 공정성이 담보될 필요가 있어, 이를 위해 슬롯 리더를 선출하는 선거인들은 다자간 계산(Multiparty Computation) 과정에서 [[코인 토싱]](Coin Tossing)이라는 방법을 이용하게 된다. 우로보로스 지분증명은 무작위성, 공정성을 보장할 수 있는 코인 토싱의 과정을 거쳐 슬롯 리더를 선출함으로써 그라인딩 공격을 방지하고 합의에 도달하여 블록을 생성한다.<ref>VIADOLOROSA , 〈[https://www.a-ha.io/questions/4c0967bee490d5e0aebc4db549457710 찰스 호스킨스가 제시한 우로보로스 지분증명(OPOS-Ouroboros Proof Of Stake)이란 무엇인가요?]〉, 《아하》, 2019-08-10 </ref>
  
 
* '''그라인딩 공격'''
 
* '''그라인딩 공격'''
: [[그라인딩 공격]](grinding attack)은 랜덤 변수를 생성해 슬롯리더를 선출하는 [[지분증명]] 방식의 암호화폐에 대한 공격 방식이다. 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락/포함 시키는 방식과 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 등의 공격을 생각할 수 있다.<ref>〈[https://okcoinkr.zendesk.com/hc/ko/articles/360018259572-%EC%95%94%ED%98%B8%ED%99%94%ED%8F%90-%ED%95%B4%ED%82%B9 암호화폐 해킹]〉, 《옥코인》,2018-11-19</ref>
+
: [[그라인딩 공격]](grinding attack)은 랜덤 변수를 생성해 슬롯 리더를 선출하는 [[지분증명]] 방식의 암호화폐에 대한 공격 방식이다. 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락/포함 시키는 방식과 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 등의 공격을 생각할 수 있다.<ref>〈[https://okcoinkr.zendesk.com/hc/ko/articles/360018259572-%EC%95%94%ED%98%B8%ED%99%94%ED%8F%90-%ED%95%B4%ED%82%B9 암호화폐 해킹]〉, 《옥코인》,2018-11-19</ref>
  
: 시간은 에포크 라고 불리는 것으로 분해 되며 각각의 에포크 또는 20분 블록 안에는 슬록이 있는데, 이슬롯은 앞에 있는 블록으로 랜덤 알고리즘은 합의된 노드로 작동할 슬롯마다 하나의 토큰 홀더를 선택 하는것이 솔롯리더 이다. 슬롯리더가 차단을 확인하고 다음으로 무작위로 선택된 슬롯리더에게 결과를 제공하고 모든 블록 보상은 풀로 수집되며, 기간이 끝날때 슬롯리더에게 배포된다. 사용자들은 에이다를 공동으로 구성하고 블록 보상을 고유할수 있고, 슬롯리더가 근무조를 처리하면, 다음 사람이 인수하게되며, 에포크는 각 슬롯에 대한 슬롯리더를 정의하여 그시대가 끝나면 새로운 시대가 와서 그 일정에 대한 모든 슬롯리더를 정의한다. 카르다노는 플랫폼을 확장하는 방법에 대해 광범위 하다. 아웃소싱(Ouroboros)를 사용하면 여러 고급 확장 옵션을 사용할 수 있다. 슬롯리더는 여러 체인의 블록을 관리할 수 있고, 여러 에포크를 동시에 실행할 수 있어, 이두가지 기능 모두 사이드 체인과 같은 확장 솔루션을 지원할 수 있는 블록 체인이 있으며, 이 중요한 블록체인을 처리 가능한 덩어리로 나누어 주지 않는다.<ref>빠이거의 경험 기록, 〈[https://lunan.tistory.com/75 Cadano(카다노):(ADA 코인)의 모든것 : 네오킬러? 아니면 과대 평가?]〉, 《티스토리》, 2017-12-31 </ref>
+
: 시간은 에폭이라고 불리는 것으로 분해 되며 각각의 에폭 또는 20분 블록 안에는 슬록이 있는데, 이 슬롯은 앞에 있는 블록으로 랜덤 알고리즘은 합의된 노드로 작동할 슬롯마다 하나의 토큰 홀더를 선택 하는 것이 솔롯리더 이다. 슬롯 리더가 차단을 확인하고 다음으로 무작위로 선택된 슬롯 리더에게 결과를 제공하고 모든 블록 보상은 풀로 수집되며, 기간이 끝날 때 슬롯 리더에게 배포된다. 사용자들은에이다를 공동으로 구성하고 블록 보상을 고유할 수 있고, 슬롯 리더가 근무조를 처리하면, 다음 사람이 인수하게 되며, 에폭은 각 슬롯에 대한 슬롯 리더를 정의하여 그 에폭(시대)이 끝나면 새로운 에폭이 와서 그 일정에 대한 모든 슬롯 리더를 정의한다. 카르다노는 플랫폼을 확장하는 방법에 대해 광범위하다. 아웃소싱(Ouroboros)를 사용하면 여러 고급 확장 옵션을 사용할 수 있다. 슬롯 리더는 여러 체인의 블록을 관리할 수 있고, 여러 에폭을 동시에 실행할 수 있어, 이 두 가지 기능 모두 사이드 체인과 같은 확장 솔루션을 지원할 수 있는 블록체인이 있으며, 이 중요한 블록체인을 처리 가능한 덩어리로 나누어 주지 않는다.<ref>빠이거의 경험 기록, 〈[https://lunan.tistory.com/75 Cadano(카다노):(ADA 코인)의 모든것 : 네오킬러? 아니면 과대 평가?]〉, 《티스토리》, 2017-12-31 </ref>
  
 
* '''지분증명 과정'''
 
* '''지분증명 과정'''
# 우로보로스는 다음 블록을 채굴하기 위해 시간대(Epoch)별로 슬롯리더를 지정한다.
+
# 우로보로스는 다음 블록을 채굴하기 위해 시간대(Epoch)별로 슬롯 리더를 지정한다.
 
# 시간대는 슬롯으로 나누어져 있는데, 슬롯은 약 1개의 블록이 생성되는 시간을 기준으로 나누어져 있다.
 
# 시간대는 슬롯으로 나누어져 있는데, 슬롯은 약 1개의 블록이 생성되는 시간을 기준으로 나누어져 있다.
 
# 슬롯에서는 한 명의 리더(leader)가 거래내역을 증명(verification)을 한다.
 
# 슬롯에서는 한 명의 리더(leader)가 거래내역을 증명(verification)을 한다.
# 증명이 되면 블록 안에 거래내역의 데이터를 저장한다.
+
# 증명되면 블록 안에 거래내역의 데이터를 저장한다.
# 만약 슬롯리더가 시간 내에 증명을 하지 못하거나, 아예 나타지도 않는다면 바로 다른 슬롯리더에게 기회가 넘어간다.
+
# 만약 슬롯 리더가 시간 내에 증명을 하지 못하거나, 아예 나 타지도 않는다면 바로 다른 슬롯 리더에게 기회가 넘어간다.
# 기회를 잃어버린 슬롯리더는 나중에 다시 기회가 주어진다.
+
# 기회를 잃어버린 슬롯 리더는 나중에 다시 기회가 주어진다. {{자세히|우로보로스 지분증명}}
  
 
{{각주}}
 
{{각주}}

2019년 9월 17일 (화) 10:21 기준 최신판

슬롯리더(slot leader)는 유의미 한과 스테이킹을 하고 있는 노드스테이크 홀더라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯리더라고 부른다.

개요[편집]

정적 지분을 보유한 카르 다노 네트워크의 노드를 이해 관계자라고 하며, 새로운 블록을 형성하도록 선택된 노드를 슬롯 리더 라고 한다. 효과적으로, 이 노드들만이 슬롯 리더가 되고 블록체인을 위한 새로운 블록을 생성 할 수 있기 때문에 이해 당사자 노드 만이 카르다노 프로토콜을 실행할 수 있으며, 새로운 블록을 생성할 때에 슬롯 리더는 네트워크의 다른 노드에 의해 전파되는 트랜잭션을 수신하고 해당 트랜잭션으로부터 블록을 형성한다.[1] 카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미하며, 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 한다.[2]

활용[편집]

카르다노(Cardano)
지분증명 방식

카르다노[편집]

카르다노(Cardano)는 세계적으로 일어나는 거래를 감당하려면 당연히 전송속도는 빨라야 한다. 이것을 측정하는 것은 TPS(Transfer Per Second) 단위로 숫자가 높을수록 거래처리 속도가 빠르다는 것을 알 수 있다. 카르다노에서는 이 문제를 해결하기 위해 우로보로스는 지분증명(PoS) 방식을 적용하였다.

지분증명작업증명(PoW)의 문제점을 해결하기 위해 등장한 증명방식이다. 카르다노는 비트코인(Bitcoin)처럼 모든 노드가 경쟁을 통하여 작업증명을 하는 것이 아니라, 시간대별로 한 명의 슬롯 리더가 마치 이어달리기를 하는 것처럼 증명한다. 경쟁을 통한 채굴을 하는 것이 아니기 때문에 시간과 많은 에너지를 낭비하지 않아도 된다. 또한, 시간대별로 슬롯을 더 늘려 더 빠르게 증명속도를 늘릴 수 있고, 병렬적으로 에폭(epoch)를 세워 몇 개의 작업증명을 동시에 할 수도 있다.[3]

  • 에이다 코인
카르다노 기반의 암호화폐에이다(ADA)라고 부른다. 에이다의 경우에 훨씬 효율적인데 모든 이들이 블럭을 채굴하도록 하지 않는다. 그 대신 네트워크에서 다음 블럭을 채굴할 수 있는 몇몇 노드들을 선출하는 노드를 슬롯 리더 라고 부르며, 이 과정을 위해서 시간대를 각 시대(에폭)로 나눈다. 그리고 이 시대가 다시 슬롯들로 나누어지고 슬롯은 블럭 하나를 생성할 수 있을 정도의 아주 짧은 시간이다. 네트워크는 슬롯마다 슬롯 리더를 선출하고, 슬롯 리더만이 그 슬롯 시간 동안 블럭을 채굴할 수 있다. 슬롯 리더는 트랜잭션들을 받아들이고, 감별을 한 뒤 블럭안에 포함하게 되며, 만약 슬롯 리더가 제시간 안에 이 작업을 완수하지 못하거나, 작업하지 않게 된다면, 블럭을 생할 권리를 잃어버리게 된다. 그리고 네트워크로부터 다시 선출될 때까지 기다려야 되며, 이 기술로 인하여 카르다노는 높은 확장성을 가지게 된다.[4]
  • 인센티브
카르다노 상에서의 인센티브는, 슬롯 리더로 선출되고 선거 과정에 참여할 때 온라인 상태로, 블록을 생성하는 것을 의미한다. 카르다노 프로토콜 참여하는 것은 비트코인에 참여하는 것보다 훨씬 더 적은 컴퓨테이션 비용이 들어도 슬롯 리더들을 그들의 차례가 돌아왔을 때 온라인으로 상태로 유지하는 것은 보안 및 효율성 측면에서 매우 중요하다. 또한 이 슬롯 리더들에게는 하드웨어, 시간 등의 투자가 이루어지므로, 이 문제들을 해결하기 위한 적절한 보상을 해야 하고, 카르다노의 경우 현금성 인센티브로서, 에이다의 형태로 지급이 된다. 프로토콜 참여는 지분보유자들이 특정 슬롯의 슬롯 리더로 선출되면 그들은 블록을 생성하기 위해서는 슬롯에서 온라인 상태여야 한다.[2]
  • 주소형식
카르다노는 다양한 주소 형식을 지원하고, 주소에 지분분배(stake distribution)와 같은 추가 정보가 붙어있는 점이 특이한데, 지분은 비트코인의 채굴자에 해당하는 슬롯 리더 선출과 거버넌스 프로토콜 업데이트 여부 투표에 사용한다. 지분분배는 잔액(balance)과 지분(stake)을 구분하는 역할을 하고 예를 들어, 여러 사람이 모여서 다중서명 주소를 만들면, 다중서명 주소의 잔액은 참여자가 보낸 총액이지만, 보통은 각자가 보낸 금액에 비례하는 지분분배에 따라 각자 지분에 따른 권한을 행사할 수 있다.[5]
  • 블록형성
블록은 슬롯 리더가 슬롯마다 한 번씩 만들 수 있으며, 슬롯을 일정 개수만큼 모으면 에폭(epoch)이 된다. 에폭 기간 동안 다음에 폭에 활동할 슬롯당 슬롯 리더를 무작위로 결정하고, 슬롯 리더가 되려면 미리 정한 지분 최소량 이상 지분을 가져야 해서, 지분에 비례하여 슬롯 리더가 될 확률이 커진다. 슬롯 리더가 해당 슬롯 시점에 블록을 만들 자신이 없다면 다른 노드에게 위임해도 되며, 공격자가 슬롯 리더 결정에 영향력을 미칠 수 없도록 스크레치(Scrape)라는 검증 가능한 비밀공유 기법을 사용한다. 메인넷에서 슬롯은 20초이고, 21600 (= k * 10) 슬롯이 모여서 에폭이 된다. k는 안정성 파라미터(security parameter)인데 어떤 블록 뒤에 k개 블록이 쌓이면 그 블록은 확정되어 취소할 수 없어 이런 수치는 블록체인을 처음 시작할 때 지정하며 프로토콜 업데이트 투표를 거쳐 운영 중에 변경할 수 있다.[5]
  1. 슬롯이 모여서 에폭을 이루고, 슬롯마다 최대 1개 블록을 생성한다.
  2. 에폭하는 동안 다음 에폭의 슬롯리더를 모두 결정한다.
  3. 슬롯리더가 되려면 최소량 이상 지분을 가진다.
  4. 지분 비율에 따라 슬롯리더가 될 확률이 결정되며, 슬롯리더는 다른 노드에게 권한을 위임할 수 있다.
  5. 공격자가 슬롯리더 선정을 조작할 수 없게 SSC(Shared Seed Computauion)하려고 PVSS(Publicly Verifiable Secret Sharing) 스크레치 방식을 사용하여 난수 생성한다. 가기.png 카르다노에 대해 자세히 보기

우로보로스 지분증명[편집]

우로보로스(Ouroboros)

우로보로스(Ouroboros) 알고리즘의 가장 큰 특징은 블록을 만드는 과정을 에폭(Epoch)과 슬롯(Slot)으로 구분 지어 만들었다는 점이다. 우로보로스에서는 블록을 생성할 사람들을 사전에 선발하게 되는데, 앞으로 만들어질 모든 블록에 대해 생성자를 선발할 수 없으니, 특정 주기를 정해놓고 해당 주기에 대해 선발하게 되어 이 주기를 에폭이라고 부르며 슬롯은 에폭 내에서 블록 1개를 생성하는 시간을 의미한다. 에폭 시작되기 전, 개별 슬롯에서 블록을 생성할 슬롯 리더를 선별하게 된다. 슬롯 리더는 확률적으로 선별되는데 이때 확률은 가지고 있는에이다의 수를 전체에이다의 수로 나눈 값이 된다. 즉 총 1억 개의 에이다 중 5천만 개의 에이다를 가지고 있다면, 이 사람이 슬롯 리더에 선발될 확률은 50%인 것이다. 이런 과정을 모든 슬롯에 걸쳐서 반복하게 되며, 한 사람이 여러 개의 슬롯 리더가 될 수 있으며, 참고로 현재 에폭은 21,600개의 슬롯으로 구성되어 있다. 우로보로스는 기본적으로 지분증명(PoS)이기 때문에, 같은 플랫폼 블록체인인 이더리움보다 더 빠르게 합의를 끌어낼 수 있다.[6]

기존의 지분증명 합의 알고리즘의 경우는 새로운 블록 생성자를 추첨할 때 무작위 변수를 조작할 가능성이 있어 보안상 취약점 그라인딩 공격 가능성이 있었지만, 이러한 문제점을 카르다노 블록체인은 코인 토싱(동전 던지기)의 방법으로 해결하고 있다. 유의미한 + 스테이킹을 하고 있는 노드를 스테이크 홀더라고 하며 이 중에서 다음 블록을 생성하는 노드를 슬롯 리더라고 부른다. 우로보로스 프로토콜은 물리적 시간을 에폭(Epoch)이라는 단위로 나누고 이 각각의 에폭은 다시 슬롯으로 나뉘며 각 슬롯에는 앞서 말씀드린 단 하나의 블록을 생성할 수 있는 슬롯 리더가 존재한다. 따라서 슬롯의 수와 슬롯 리더의 수는 일치하게 되고, 슬롯 리더가 블록을 생성한다고 할 때 앞서 살펴본 일반적인 지분증명 체인에서는 그라인딩 공격 가능성이 있었지만, 우로보로스 지분증명에서는 이러한 공격이 가능하지 않도록 한다고 할 때 슬롯 리더가 무작위로 선출될 필요가 있게 되며, 슬롯 리더는 모든 스테이크 홀더 중에서 하나의 노드만 선출되며 카르다노 블록체인상에서 많은 지분을 가진 선거인(electors)들에 의해 선출된다. 어떤 일정한 시간 단위인 에폭 안에 여러 슬롯이 존재하고 슬롯 하나당 슬롯 리더가 한 노드만 선출된다고 할 때 선거인들은 현재 에폭에서 다음 에폭으로 넘어가기 전에 슬롯 리더를 선출해야만 하고, 이때 스테이크 홀더는 한 에폭 안에서 복수의 슬롯의 리더가 되는 것도 가능하며, 선출 과정에서 무작위성과 공정성이 담보될 필요가 있어, 이를 위해 슬롯 리더를 선출하는 선거인들은 다자간 계산(Multiparty Computation) 과정에서 코인 토싱(Coin Tossing)이라는 방법을 이용하게 된다. 우로보로스 지분증명은 무작위성, 공정성을 보장할 수 있는 코인 토싱의 과정을 거쳐 슬롯 리더를 선출함으로써 그라인딩 공격을 방지하고 합의에 도달하여 블록을 생성한다.[7]

  • 그라인딩 공격
그라인딩 공격(grinding attack)은 랜덤 변수를 생성해 슬롯 리더를 선출하는 지분증명 방식의 암호화폐에 대한 공격 방식이다. 본인에게 유리한 랜덤 변수를 얻을 때까지 전송 내역을 임의로 누락/포함 시키는 방식과 미리 계산한 랜덤 변수로 예측한 스테이킹 코인을 사전 구매하는 등의 공격을 생각할 수 있다.[8]
시간은 에폭이라고 불리는 것으로 분해 되며 각각의 에폭 또는 20분 블록 안에는 슬록이 있는데, 이 슬롯은 앞에 있는 블록으로 랜덤 알고리즘은 합의된 노드로 작동할 슬롯마다 하나의 토큰 홀더를 선택 하는 것이 솔롯리더 이다. 슬롯 리더가 차단을 확인하고 다음으로 무작위로 선택된 슬롯 리더에게 결과를 제공하고 모든 블록 보상은 풀로 수집되며, 기간이 끝날 때 슬롯 리더에게 배포된다. 사용자들은에이다를 공동으로 구성하고 블록 보상을 고유할 수 있고, 슬롯 리더가 근무조를 처리하면, 다음 사람이 인수하게 되며, 에폭은 각 슬롯에 대한 슬롯 리더를 정의하여 그 에폭(시대)이 끝나면 새로운 에폭이 와서 그 일정에 대한 모든 슬롯 리더를 정의한다. 카르다노는 플랫폼을 확장하는 방법에 대해 광범위하다. 아웃소싱(Ouroboros)를 사용하면 여러 고급 확장 옵션을 사용할 수 있다. 슬롯 리더는 여러 체인의 블록을 관리할 수 있고, 여러 에폭을 동시에 실행할 수 있어, 이 두 가지 기능 모두 사이드 체인과 같은 확장 솔루션을 지원할 수 있는 블록체인이 있으며, 이 중요한 블록체인을 처리 가능한 덩어리로 나누어 주지 않는다.[9]
  • 지분증명 과정
  1. 우로보로스는 다음 블록을 채굴하기 위해 시간대(Epoch)별로 슬롯 리더를 지정한다.
  2. 시간대는 슬롯으로 나누어져 있는데, 슬롯은 약 1개의 블록이 생성되는 시간을 기준으로 나누어져 있다.
  3. 슬롯에서는 한 명의 리더(leader)가 거래내역을 증명(verification)을 한다.
  4. 증명되면 블록 안에 거래내역의 데이터를 저장한다.
  5. 만약 슬롯 리더가 시간 내에 증명을 하지 못하거나, 아예 나 타지도 않는다면 바로 다른 슬롯 리더에게 기회가 넘어간다.
  6. 기회를 잃어버린 슬롯 리더는 나중에 다시 기회가 주어진다. 가기.png 우로보로스 지분증명에 대해 자세히 보기

각주[편집]

  1. 비 사드 아솔로, 〈카르 다노 스테이 킹 설명〉, 《마이크립토피디아》, 2018-11-01
  2. 2.0 2.1 카르다노 공식 홈페이지 - https://forum.cardano.org/t/pos-lars-brunjes/12169/1
  3. sobly tv, 〈Cardano가 3세대 블록체인으로 불리는 이유〉, 《미디엄》, 2018-07-06
  4. 레오, 〈에이다 코인, 카르다노 전망 및 분석〉, 《네이버 블로그》, 2018-08-07
  5. 5.0 5.1 이더리움 연구회, 〈(리서치 3주차) Cardano〉, 《미디엄》, 2018-05-29
  6. energist, 〈(카르다노, 에이다) #2 확장성(1)〉, 《스팀잇》, 2018-02-11
  7. VIADOLOROSA , 〈찰스 호스킨스가 제시한 우로보로스 지분증명(OPOS-Ouroboros Proof Of Stake)이란 무엇인가요?〉, 《아하》, 2019-08-10
  8. 암호화폐 해킹〉, 《옥코인》,2018-11-19
  9. 빠이거의 경험 기록, 〈Cadano(카다노):(ADA 코인)의 모든것 : 네오킬러? 아니면 과대 평가?〉, 《티스토리》, 2017-12-31

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 슬롯리더 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.