기본 개념 리플 제작자 Jed McCaleb이 리플랩스를 떠난 뒤 새로 만든 채굴과정없는 스텔라만의 합의 알고리즘 금융기관들과 지불 시스템이 쉽고, 안전하고 효율적으로 돈을 이동시킬 수 있도록 도와주는 플랫폼으로 리플의 코드 베이스를 포크하여 개발 후 자체 합의 매커니즘을 개발 합의 과정 속에서 연합 혹은 연합을 이루는 독립적 노드 당 정확히 1표를 부여하여 자신이 누구를 신뢰할지 직접 선택하고 이로부터 형성된 신뢰망을 통해 합의에 도달하는 방식 Quorum Slice 각 노드들이 믿기로 한 노드들 + 자기 자신 Quorum 결정되어 결코 변할 수 없는 합의에 이른 Quorom Slice들의 집합 신뢰 노드 : 신뢰도를 기반으로 티어를 정의함. 네트워크 내에서 노드들이 신뢰를 얻어 인정받는 노드들이 탑 티어로 존재하고 다른 네트워크와 노드들이 이 노드들의 표면화된 슬롯 업데이트를 결정
특징 작업증명은 Hash 연산량이 가장 큰 참가자들을 신뢰하고, 지분증명은 지분이 가장 큰 참가자들을 신뢰한다면, FBA는 자신이 신뢰할 수 있는 참가자들을 자유롭게 선택할 수 있다(말은 자유긴한데 사실상 자유로운 선택이 될지는 의문) 누구나 참여할 수 있도록 분산화된 방식으로 Byzantine Agreement를 구현한 것 즉, 투표들을 보고 판단하게 함으로써, 전체 네트워크의 합의를 이루게 함. 각 티어 계층의 노드들은 자신의 티어, 상위 티어를 참고할 수 있음. 예를 들어 대구은행과 부산은행을 신뢰하기로 선택하면서, 두 은행이 자기들 마음대로 짜고 칠 수 있는 위험을 막기 위해 내 신뢰망에 금융감독원을 넣을 수 있다. 애초에 금융기관들과의 지불 시스템을 안정적으로 연결하기 위해 나온 프로토콜이므로 은행들이 미리 구축해놓은 사회적 신뢰를 그대로 가져올 수 있다.
합의 과정 스텔라에서 각각 참가자들은 자신의 Quorum Slice만을 신경쓴다. Quorum Slice의 모든 참가자가 합의에 이른 경우 참가자 자신도 같은 결론에 도달하게 된다. 참가자들의 Quorum Slice에 의해 Quorum이 형성되는데 여러 라운드의 투표를 통해 특정 메시지에 대한 합의에 이르게 된다. Quorum 자체가 합의를 독립적으로 이루기에 여러개의 Quorum이 생기면 네트워크 내에 다양한 합의가 발생하여 하나의 합의를 이루지 못하고 포크가 생길 수도 있다. 중재를 위해 Quorum 사이에 교집합이 되는 노드가 필요한데 이 교집합에 해당되는 노드는 하위 티어 노드 간의 합의에 영향을 미치기에 지속적인 감시가 필요하다.
Quorum Balancing(Quorum Re-shuffle) 은 Quorum Slice 내 검증자들을 주기적으로 자동 재배치하고, 각 Quorum Slice 경계에는 지분이 높은 검증자를 배치하여 서로 연결되도록 하는 중요한 역할을 한다. 이는 모든 사람들이 검증자로 쉽게 참여할 수 있도록 도와주는 기술로 진정한 탈 중앙화 플랫폼 구현은 물론 안정성과 투명성 확보. 노드들은 누구를 신뢰해야하고 신뢰가 어떻게 생성되는지에 대해 걱정할 필요가 없어진다.
zero-knowledge Scalable Transparent ARguments of Knowledge
기본 개념 충돌 저항성 해시함수를 통해 더 희박한 대칭 암호화에 의존하기 때문에 초기 신뢰 설정을 필요로 하지 않는다. 기존 영지식 스나크의 과도한 연산을 줄이기 위해 암호 알고리즘을 가볍게 적용한 방식. 더 신속하고 저렴하게 기술 구현이 가능
특징
충돌 저항성 해시 함수
해시 값이 같은 입력 값 두 개를 찾을 수 없다는 특성
초기 신뢰 설정 불필요
영지식 스나크의 가장 큰 문제점이었던 신뢰기관의 존재를 해결하기 위해 초기 신뢰 설정 단계에서 만들어지는 휘발성 정보들이 비트코인 채굴과 비슷한 방법으로 랜덤하게 생성되도록 설계했다. 이를 통해 신뢰 기관의 존재가 불필요해졌다. 또 충돌저항성 해시함수를 기반으로 하여 사실상 비대칭 암호화 방식이기 떄문에 초기 신뢰설정이 필요하지 않기에 이러한 문제를 해결한다.
확장성
영지식 스나크와의 암호화 방식 차이로 복잡성이 증가하더라도 연산처리능력의 변동이 거의 없어 확장성 측면에도 우월하다.
양자 컴퓨터 저항성
해시함수를 통한 비대칭 암호화 방식을 사용하기 때문에 연산능력에 자유로울 수 있어 양자 컴퓨터에 저항성을 가진다.
zero-knowledge Succinct Non-interactive Argument of Knowledge
기본 개념 영지식 스나크를 활용한 블록체인 트랜잭션의 경우 수신자, 송신자, 전송금액의 정보를 노출하지 않고도 해당 트랜잭션의 유효성을 송수신 노드 외의 다른 노드들에게 알릴 수 있다. 기존의 영지식 증명을 좀 더 간결하고 비상호적인 환경에서 적용 가능하도록 변형한 기술로 Zcash가 대표적이다.
특징
확장성
블록체인 참여자가 블록의 내용을 알지 못하더라도 전체 노드 중 증명 및 보고의 역할을 수행하는 노드가 블록의 내용이 위변조되지 않았음을 빠르게 검증할 수 있다. 이는 참여자들의 블록 싱크 속도를 급격하게 높여주어 새로운 참여자들이 빠르게 네트워크에 참여할 수 있게 해준다.
타원곡선 암호화
간결함을 더하는 대신 정보를 숨지는 zero-knowledge를 구현해내지 못했다. 이를 위해 타원곡선암호 알고리즘을 이용했다. 일반적인 계산을 타원 곡선 세계 위로 가져온다는 의미인데, 정보는 숨기고 등식만 증명하는 것이 가능하다.
장점
정보를 노출하지 않고 트랜잭션 송수신가능
비교적 많은 프로토콜에 적용
증명의 사이즈가 작음
단점
초기 신뢰 설정 : 영지식 스나크의 가장 큰 문제점은 신뢰기관의 존재한다는 것이다. 프로토콜 내에서 신뢰기관의 역할은 매우 크며, 증명을 생성하는 데 있어서도 큰 비중을 차지한다. 신뢰기관은 노출되면 안 되는 정보를 통해 거짓 증명을 생성할 수 있고, 외부의 다른 집단과 공모할 가능성 또한 있다. (탈중앙화 특성이 떨어짐)
확장성 : 복잡성이 증가할수록 점점 더 높은 연산처리능력이 필요하다. 증명 데이터와 검증 과정이 획기적으로 간결해졌지만, 증명자가 증명을 생성하는 시간이 매우 느리다.
양자컴퓨터 공격 : 이론적으로 양자 컴퓨터 공격에 매우 취약하다. 소인수분해를 빠르게 처리할 수 있는 양자 알고리즘인 쇼어 알고리즘 방식을 통해 공개키로부터 비밀키를 추출해 낼 수 있다. 또 타원곡선암호 기법으로 암호화하기 때문에 연산능력이 뛰어난 양자 컴퓨터로 그 암호를 빠르게 해독하여 무력화할 가능성이 있다.
증명자가 자신이 알고 있는 지식과 정보를 공개하지 않으면서, 그 지식을 알고 있다는 사실을 검증자에게 증명하는 시스템
2. 영지식 증명의 3가지 조건
완전성(completeness) : 어떤 조건이 참이라면 신뢰할 수 있는 검증자verifier는 신뢰할 수 있는 증명자prover에 의해 이 사실을 납득할 수 있어야 한다.
건전성(soundness) : 어떤 조건이 거짓이면 신뢰할 수 없는 증명자는 거짓말을 통해 검증자에게 조건이 참임을 절대 납득시킬 수 없다.
영지식성(zero-knowledge) : 어떤 조건이 참일 때, 검증자는 이 조건이 참이라는 사실 이외의 아무 정보를 알 수 없다.
3. 알리바바 동굴의 비유
영지식 증명의 3가지 조건을 만족시키는 사례 but, 이 실험에서 증명자는 오직 검증자에게만 자신이 비밀번호를 알고 있다는 사실을 증명할 수 있다. 제 3자는 미리 짰는지 여부를 신뢰할 수 없기 때문
검증자verifier가 증명자prover가 도어락의 비밀번호를 알고 있는지 물어보지않고도 증명할 수 있는 방법으로 해당 과정을 계속 반복하면 할수록 증명력이 더 높아진다
4. 활용
거래 내역 자체는 누구에게나 공개된 블록체인에 게시되지만, 거래 상대자의 신원과 거래 금액은 암호화되어 보안이 유지된다. 즉, 영지식증명 기술은 거래 금액을 드러내지 않는 프라이버시 보호 기능과 당사자들이 서로의 신원을 확인하지 않고도 암호화폐를 교환할 수 있게 해주는 기능인 거래의 익명화가 가능하게 해주었다.
개인정보보호를 중요시하는 프라이버시 코인에 주로 활용되며 암호화폐 거래에서 거래 제공자가 공개하는 것 이외의 정보는 제공 받는 사람이 알 수 없도록 분산화 기술로 설계되어 프라이버시 보호 기능이 뛰어나다.