머클 트리 준비금 증명 탐색
创宇区块链安全实验室
2022-12-23 02:41
本文约1532字,阅读全文需要约6分钟
자산 투명성은 거래 보안을 측정하는 기준이 되었습니다.오늘은 머클트리 저축 증서가 자산 투명성을 달성하는 방법에 대해 알아보겠습니다.

머리말

머리말

얼마 전 바이낸스와 FTX는 암호화폐 업계에 '전쟁'을 일으켰고, 결국 FTX는 사용자 자산의 남용으로 준비금이 부족해 뇌우를 일으켰다. 이번 뇌우 이후, 사용자와 투자자는 점점 더 중앙화 거래소에 대한 불신과 의심을 갖게 되었고, 중앙화 거래소에 자산을 예치하려 하지 않았습니다. 거래소의 경우 사용자와 투자자를 유지하기 위해 중앙 집중식 거래소에 대한 신뢰를 높이려고 합니다. 그 대책 중 하나는 중앙화 거래소의 자산을 투명하게 만드는 것, 즉 Merkle tree Reserve 인증서를 사용하는 것입니다.

머클 트리

머클 트리 예약 증명을 연구하기 전에 머클 트리가 무엇인지 알아야 합니다.

보조 제목

2.1 머클 트리 개념

Merkle Tree(Merkle Tree, Hash Tree라고도 함)는 1979년 Ralph Merkle이 발명한 해시 이진 트리입니다. 표준 이진 트리와 같은 Merkle 트리는 루트 노드, 중간 노드 세트 및 리프 노드 세트로 구성됩니다.

2.2 머클트리 적용

  • IPFS

  • GitHub

  • 머클 트리는 리프 노드에 데이터를 저장하고, 중간 노드는 해당하는 두 리프 노드의 해시에 의해 생성되고, 유추에 의해 단계별 해시 연산을 통해 최종적으로 전체 머클 트리가 생성됩니다. 리프 노드의 데이터가 변경되면 그에 의해 생성된 중간 노드에 영향을 미치고 최종적으로 루트 노드의 변경 사항을 반영하여 데이터의 변조 불가능한 수정을 보장합니다.

  • 이 기능에 따르면 Merkle 트리는 다양한 분야에서 널리 사용됩니다.

  • 비트코인

  • P2P 네트워크

첫 번째 레벨 제목

머클 트리 리저브 증명

보조 제목

3.1 예비 개념 증명

PoR(Proof of Reserves, 중국어 번역은 준비금 증명)은 일반적인 자산 감사 방법으로 제3자 감사 기관이 독립적으로 감사하여 체인의 준비금이 횡령되지 않았지만 사용자의 거래 가치 모든 자산이 기록됩니다.

3.2 준비금 증명 프로세스"BTC":"1.023","ETH":"0","USDT":"20.2343322"일반적으로 제3자 감사 기관이 모든 계정 잔액의 익명 스냅샷을 찍은 다음 루트 노드까지 단계적으로 해시 값을 얻습니다.마지막으로 감사인은 퍼블릭 체인의 잔액을 감사 잔액 충분한 준비금.

각 거래소의 다른 규칙에 따라 생성된 해시 값도 다릅니다.OKX를 예로 들면 공식 문서에 따르면 각 하위 노드에는 노드의 해시와 사용자의 스냅샷에 포함된 코인의 수가 포함됩니다. 자산.해시 값은 해시 = SHA 256(nonce + balances)입니다.거래소는 각 사용자에게 고유한 nonce를 할당합니다.이 nonce는 감사 페이지에서 쿼리할 수 있습니다.Balances는 json으로 구성된 json입니다. 다음과 같은 사용자 자산 스냅샷 문자열: {

} (참고: 끝에서 유효하지 않은 0을 제거하고 8자리 정밀도를 유지하십시오).

  • 검증의 원칙은 공식적으로 발표된 Merkle tree 경로의 루트 노드와 비교하여 루트 노드가 해시 값을 계산할 때까지 사용자 자신의 리프 노드에서 부모 노드(해당 상위 중간 노드)의 해시 값을 계산하는 것입니다. 노드의 해시 값이 같으면 검증에 통과하고, 같지 않으면 검증에 실패합니다.

  • 따라서 거래소가 Merkle 루트를 공개한 후 사용자는 100% 예비금인지 여부를 세 가지 방법으로 증명할 수 있습니다.

  • 모든 사용자는 잔액과 UID가 트리에 있는지 확인할 수 있습니다.

제3자 감사 회사는 트리에 있는 모든 사용자의 총 잔액을 감사합니다.

3.3 CEX의 예비 증명 수단

FTX 뇌우 이후 다양한 CEX는 준비금 증명 조치를 수행하고 싶다는 메시지를 보냈습니다.

첫 번째 레벨 제목

  • 추신

  • 거래소에서 준비금의 증명이 참으로 매우 중요하다는 것을 이해하고 있지만, 거래소가 100% 준비금을 가지고 있음을 증명하더라도 메르켈 트리 루트가 발표된 시점에서 거래소가 100% 준비금을 가지고 있다는 것을 보여줄 수 밖에 없습니다 , 현재 준비금 증명에도 많은 문제가 있습니다.

  • 트리 루트의 업데이트 빈도는 모든 트랜잭션을 실시간으로 새로 고칠 만큼 빠르지 않습니다.

적립금 증명은 현재 유저들의 확실한 신뢰를 회복할 수 있는 방법에 불과하지만 적립금 증명은 아직 부족하고 아직 적립금으로 증명할 수 없는 것들이 많기에 거래소가 투명하고 개방적일 수 있기를 바랍니다. 모든 거래소가 예비증서를 만들었으니 사고가 잦은 크로스체인 브릿지도 예비증서 만들기를 고려해야 할까요?

참조

创宇区块链安全实验室
作者文库