상세 컨텐츠

본문 제목

What is DVT (2023 DE-FERENCE 참고)

Blockchain

by Yongari 2023. 3. 30. 10:45

본문

 

 

 

 

 

 

 

 

DVT란 무엇인가?

 

Dvt는 벨리데이터의 Signing key를 여러 대의 노드에게 분산시키는 기술

 

- 벨리데이터의 책임 : 블록 서명, 블록 보상을 받는 것 

- signing 키가 필요하다.

- DVT = Distributed Validator Technology which makes key shares and split it into nodes

 

 

왜 DVT를 써야하는가?

- 현재 안정적인 이더리움 스테이킹을 위해서 밸리데이터는 slashing risk를 컨트롤

- 노드를 안정적으로 운영하기 위해서

- slashing의 리스크를 예방하기 위해서 

 

이더리움 생태계는 계속 커지고 1600만개의 이더가 있다. 
상하이 업데이트를 통해 이더도 향후 출금이 가능하기 때문에 시장에 관심이 많다. 

Lido Finance와 coinbase, binance, stake fish 같은 큰 업체가 이더리움생태계의 지분을 많이 가지고 있다. 

이럴 경우 한 개 노드가 너무 많은 지분을 가질 경우 단일 실패지점이  있을 수 있다. 

노드가 offline이 되는 등 여러 위험에 슬래싱 당할 수 있는 리스크를 DVT로 예방 가능 

 

DVT 사용을 하지 않았을 때 : 단일 실패지점이 있을 수 있다. High Risk가 있을 수 있다.
DVT 사용했을 때 : 벨리데이터 키를 나눌 수 있다. 키공유를 분산할 수 있다. 서명을 재구조화 할 수 있다.

 

 

DVT 기술

개요

 

SSS : Shamir's Secret Sharing

MPC : Multi Party Computation

DKG : Distributed Key Generation

 

 

1. Shamir's Secret Sharing : SSS 

Shamir's Secret Sharing은 벨리데이터 키를 분리하고 분배하기 위한 효율적인 알고리즘

Role of SSS 

- Split Validator Key

- Distributed KeyShares

- Reconstruct for signing 

SSS는 1사분면에 존재하는 우 하향 1차 함수 일 때

Validator Key = Y 절편(S)을 뜻하고 
비밀 S를 지나온 직선 위의 값 A,B,C를 각 노드에게 분배 

A,B,C 중 2개의 값이 모이면 비밀 S 복원 가능 

2 / 3의 지점만 알아도 비밀 S값을 복구할 수 있다.

복잡한 다항식을 사용할수록 필요한 Share 증가 

 

그러나 이렇게 분배한 키를 하나의 노드에서 하나로 합칠 경우

노드의 장애는 곧 전체 프로세스의 장애로 이루어지고
노드에서 키 재구성이 가능할 경우 키 유출도 될 수 있습니다.



2. Multi Part Computation: MPC 

분배한 키가 하나의 노드에서 하나로 합쳐질 때 발생할 수 있는  오류를 막기위해 등장한 것이 바로 MPC입니다.

MPC는 데이터 취합 과정 없이 각자 연산을 수행해서 최종적으로 원하는 결과를 얻는 기술입니다.

- 분배한 비밀(S)들이 특정 노드에 모이지 않습니다.

- 노드에서 각자 연산 과정을 거쳐 서명을 복원합니다. 

 

 

 

 

3. Distributed Key Generation : DKG 

 

DKG는 SSS의 분산키 저장 보안성을 강화하는 기술이다.

각 노드는 분산키를 암호화해서 가지고 있어야 한다.

노드의 개인키로 암호화하면 임의로 다시 복호화가 가능해 보안 문제 발생  

>>>> 노드 오퍼레이터가 접근할 수 없고 모르는 암호화 키가 필요하다.

 

 

DVT 실제 적용된 사례 

 

SSV Network VS Obol Network

 

Obol Network : 하나의 클러스터 집단이 벨리데이터 키를 나누는 작업을 한다. 클러스터 집합에 속하는 노드들은 cluster_definition_json이라는 설정파일을 통해서 관리가 된다. Obol 네트워크는 설정파일을 통해 이더리움의 벨리데이터를 키를 쪼개는 집단을 관리한다. 


Cluster Config : Cluster_definition 파일

ENR : Ethereum Node Record : 키 값으로 클러스터 구성에 필요한 오퍼레이터의 주소를 가진다. 

Cluster-definition  : 모든 노드가 Cluster-definition의 서명을 마치면  클러스터 구성을 마친다. 그리고 해당 파일은 클라이언트에 올라간다. 

Cluster Config : 그러나 Config 파일(Cluster_definition)을 통해 관리를 한다면 노드의 업데이트를 관리하기 힘들다. 그래서 Obol은 클러스터를 구성하는 리더가 config파일을 재구성하는 프로토콜을 통해 Cluster-definition을 재구성하는 방식으로 동작한다. 

 

 

SSV Network :
탈중앙화 스테이킹 인프라 스트럭쳐, 미들웨어 역할을 하는 프로토콜이다. 
벨리데이터의 개인 키를 SSV Network 오퍼레이터에게 나눠서 Beacon Chain에 서명할 수 있게 만듬 

SSV 네트워크는 벨리데이터와 노드 오퍼레이터를 분리해서 돈이 있으면 하드웨어가 없어도 벨리데이터로 참여할 수 있다.

노드 오퍼레이터는 하드웨어를 전문적으로 하는 사람에게 맡길 수 있는 프로토콜이다.

 

SSV Network는 Config 파일의 이슈를 스마트 컨트랙트로 업데이트 할 수 있게 해결함

만약 노드A가 Config파일을 정상적으로 업데이트하고 노드 B는 어떤 지점에서 Config 파일을 업데이트하지 못할 경우 발생할 장애를 SSV Network는 스마트컨트랙트로 문제를 해결했다.

 

그리고 SSV 네트워크는 토큰노믹스가 있다. 그 토큰노믹스의 주체는 다음과 같이 3가지가 있다. 

1. Operator - Received SSV token as fee / 오퍼레이터는 Ether 보상을 벨리데이터에게 지급하는 식으로 운영된다. 

2. Staker(=Validator) : Pay operator fee for secure : SSV 토큰을 지불해서 오퍼레이터로 하여금 벨리데이터 노드를 운영할 수 있게 한다. 

3. Liquidators : Liquidating unpayable staker : 벨리데이터가 이런 지불 능력(SSV토큰)이 없을 경우 Liquidator라는 청산노드가 이 지불을 실행한다.

 

 

노드 운영

SSV Network VS Validator 

SSV Network 

장점:
1. 누구나 하드웨어 리소스를 이용해서 오퍼레이터로 참여할 수 있다. - Operators Tokenomics
2. 허가가 필요하지 않다.

3. 온체인 네트워크다. 
단점: Validator Tokenomics (벨리데이터는 생태계에 참여하려면 SSV토큰을 구매해서 지불해야한다.)

 

 

Obol 

장점: 추가 비용이 없다. 

단점: 허가가 필요하다. 사실상 Private Network다. 

 

 

 

 

결론

Ethereum Shanghai 업데이트에서 묶여있던 Ethereum이 대량으로 출금될 것이고 스테이킹 시장에도 참여할 사람들이 많아질 것이다.

DVT는 노드오퍼레이터에서 사용하지 않을 이유가 없다.

 

 

출처: CURG 유튜브 강의 자료 (2시간부터 2시간 16분 정도까지 발표내용)

https://www.youtube.com/watch?v=QAUk4662G5M 

 

'Blockchain' 카테고리의 다른 글

Obol Key concepts  (0) 2023.03.30
Obol Network  (0) 2023.03.30
leewayhertz가 설명하는 Cosmos 체인 (2)  (0) 2023.03.29
leewayhertz가 설명하는 Cosmos 체인 (1)  (0) 2023.03.28
지분증명 (PoS)  (0) 2023.02.02

관련글 더보기