ZooBC 위키
트랜잭션

다중서명

다중서명 계정은 어떤 키 하나도 통제하지 않는 계정입니다. 참여자 목록과 임계값으로 정의되며, 최소한 그 수만큼의 참여자가 같은 트랜잭션에 서명했을 때만 지출합니다. 셋 중 둘, 다섯 중 셋 하는 식입니다. 참여자들은 서로 다른 키 유형을 쓸 수 있으므로, ZooBC 키, Ethereum 키, Bitcoin 키가 한 계정을 공유할 수 있습니다.

계정

다중서명 계정은 임계값(1부터 참여자 수까지), 논스, 참여자 주소들로 정의됩니다. 그 주소는 이것들의 해시입니다.

address = SHA3-256( threshold ‖ nonce ‖ count ‖ sorted participant addresses )

결과는 일반 유형 0 계정으로 쓰이므로, 다른 주소와 마찬가지로 ZBC를 받을 수 있습니다. 이 계정의 개인 키를 가진 사람은 없으므로, 여기서 지출하는 유일한 방법은 참여자 서명을 모으는 것입니다.

단계별 지출

타임라인: 내부 결제를 담은 제안, 서명 1, 서명 2, 임계값에 이른 카운터, 그리고 계정에서 한 번 나가는 결제
타임라인: 내부 결제를 담은 제안, 서명 1, 서명 2, 임계값에 이른 카운터, 그리고 계정에서 한 번 나가는 결제
  1. 누군가 MultiSignature 트랜잭션 안에 결제 같은 내부 트랜잭션을 제안합니다. 내부 트랜잭션은 서명되지 않은 상태이며, 그 송신자는 다중서명 계정입니다.
  2. 참여자들이 한꺼번에, 또는 이후의 MultiSignature 트랜잭션에서 순서에 상관없이 서명을 추가합니다. MultiSignature 본문은 계정의 정의, 내부 트랜잭션, 서명을 어떤 조합으로든 담을 수 있으므로, 여러 개의 이런 래퍼가 하나의 내부 트랜잭션을 함께 완성해 갈 수 있습니다.
  3. 각 참여자는 자기 키 유형의 방식으로 내부 트랜잭션의 체인 결속 다이제스트 SHA3-256("ZBC-TX" ‖ genesis hash ‖ inner bytes)에 서명합니다(트랜잭션 서명 참조). 서명은 내부 트랜잭션의 해시 아래에 저장됩니다. 참여자가 아닌 사람의 서명이나 검증되지 않는 서명은 그냥 집계되지 않습니다.
  4. 유효한 서명이 임계값에 이르면 내부 트랜잭션이 한 번 실행됩니다. 다중서명 계정이 그 수수료(최소한 내부 트랜잭션의 하한)를 내며, 내부 트랜잭션은 영원히 실행됨으로 표시되므로 결코 재전송될 수 없습니다.

각 MultiSignature 래퍼의 송신자는 그 래퍼 자체의 수수료를 냅니다.

오프체인에서 공동 서명을 만드는 일도, 서명 순서를 강제하는 일도 없습니다. 각 키는 자기 방식으로 홀로 서명합니다.

해시로 저장된 대기 중인 내부 결제에 ZooBC, Ethereum, Bitcoin 키가 각기 다른 래퍼로 서명합니다. 유효한 서명 둘이 임계값에 이르고 결제가 한 번 실행됩니다
해시로 저장된 대기 중인 내부 결제에 ZooBC, Ethereum, Bitcoin 키가 각기 다른 래퍼로 서명합니다. 유효한 서명 둘이 임계값에 이르고 결제가 한 번 실행됩니다

할 수 있는 일

내부 트랜잭션은 다음 유형 중 하나일 수 있습니다.

  • Empty 또는 SendZBC
  • 노드 등록 유형 네 가지(노드 등록의 등록, 갱신, 제거, 청구) 중 하나
  • SetSplitPolicy
  • 계정 그룹 유형 네 가지(LinkAccount, UnlinkAccount, SetMemberPermissions, TransferGroupControl) 중 하나

따라서 다중서명 계정은 ZBC를 지불하고, 노드 등록을 보유하고, 분배 정책으로 수입을 나누고, 계정 그룹에 참여할 수 있지만, 토큰을 직접 보내지는 않습니다. 단일 키가 자기 서명으로 동의하듯이, 다중서명 계정은 임계값으로 그룹 합류에 동의할 수 있습니다.

블록당 계정당 트랜잭션 하나 규칙에서 내부 트랜잭션은 실행될 때 다중서명 계정의 트랜잭션으로 셉니다.

누가 결정권을 갖는가

참여자들의 서명만 인정됩니다. 등록 노드들은 계정을 대신해 서명하지 않습니다. 다른 서명과 마찬가지로 참여자들의 서명을 검사할 뿐입니다. ZooBC Foundation도 금액이 얼마든 이 계정에 대해 아무 결정권이 없습니다.

같이 보기