검토와 서명

앱은 투표, 송금, 글 게시 같은 Hive 거래에 서명해 달라고 요청할 수 있습니다. 이때 Hivesigner를 여는 링크를 보냅니다. Hivesigner는 그 요청이 무엇을 하는지, 어떤 키가 필요한지, 그 뒤 어디로 보내는지를 쉬운 말로 보여줍니다. 회원님이 승인하기 전에는 아무것도 서명되지 않습니다. 앱은 블록체인에 기록되지 않는 메시지 서명을 요청할 수도 있습니다.

거래 확인 화면

서명 링크는 “거래 확인”이라는 제목의 화면을 엽니다. 요청에 담긴 작업마다 카드가 하나씩 표시됩니다. 작업이란 투표 한 번이나 송금 한 번처럼 Hive에서 일어나는 하나의 행동입니다.

요청에 작업이 둘 이상 있으면 카드에 번호가 붙고, 위쪽 줄에 “이 요청에는 작업 3개가 포함되어 있습니다. 승인하기 전에 모든 작업을 검토하세요.”가 표시됩니다.

요약

각 카드는 그 작업이 무엇을 하는지 요청에 담긴 값과 함께 한 문장으로 시작합니다. 예를 들면 다음과 같습니다.

작업 카드에 표시되는 내용
송금 @bob 계정으로 1.000 HIVE 보내기 (그 아래에 메모: ... 형태로 메모 표시)
투표 @alice/my-post 글 업보트 (그 아래에 100% 같은 투표 가중치 표시)
글이나 답글 “내 제목” 글 게시 또는 @alice/my-post 글에 답글
Hive 앱이 정의한 작업 사용자 지정 액션(follow)
계정을 통제하는 주체의 변경 계정 권한 업데이트

그 밖의 작업은 “파워업”, “Hive Power 위임”처럼 이름이 표시됩니다.

문장 옆에는 그 작업에 필요한 키가 대문자 라벨로 표시됩니다. 게시, 활성, 소유자 중 하나입니다.

세부 정보

문장 아래에 카드는 그 작업이 담고 있는 값들을 나열합니다.

  • 작업이 대신 실행되는 계정
  • 글이나 댓글의 경우: 퍼머링크(글의 주소), 커뮤니티나 태그, 본문, 메타데이터
  • 사용자 지정 액션의 경우: 데이터의 모든 값을 한 줄에 하나씩, 잘리지 않도록
  • 권한 변경의 경우: 설정되는 임계값, 키, 계정

권한 변경은 회원님의 키를 없애게 될 때 “키: [없음] (회원님의 키가 제거됨)”으로 알려줍니다. 임계값이 빠져 있으면 “임계값 [미설정] (서명 시 0으로 간주됨)”으로 표시됩니다.

요약과 세부 정보에서 텍스트를 숨기거나 방향을 바꿀 수 있는 문자는 로 표시됩니다. 회원님이 읽는 내용이 다른 것인 척할 수 없습니다.

원본 작업 데이터 보기를 선택하면 실제로 서명될 작업이 그대로 열립니다.

금액이 Hive Power로 주어지면 Hivesigner가 현재 비율로 환산합니다. “현재 Hive Power 환산 비율을 불러오는 중…”을 표시하고 그 값을 받을 때까지 승인을 막습니다.

어떤 요청은 다른 곳에서 미리 만들어 둔 거래를 담고 있습니다. 예를 들어 여러 사람이 함께 관리하는 계정의 거래가 그렇습니다. 이때 화면에는 “이 요청에는 자체 거래 헤더가 포함되어 있습니다. 만료: 날짜.”가 표시됩니다. 다른 사람이 이미 서명했다면 “이미 서명 2개가 포함되어 있습니다.”가 덧붙습니다.

어떤 키가 필요한가요

카드 아래 한 줄이 요청 전체에 필요한 키를 알려줍니다. “게시 키로 서명됩니다”, “활성 키로 서명됩니다”, “소유자 키로 서명됩니다” 중 하나입니다.

Hivesigner는 바로 그 키로만 서명합니다. 활성 키로는 투표에 서명할 수 없고 소유자 키로는 송금에 서명할 수 없습니다. 2025년 하드포크부터 적용된 Hive 규칙입니다. 어떤 키를 추가할까요를 보세요.

하나의 요청에 담긴 모든 작업은 같은 키를 필요로 해야 합니다. 그렇지 않으면 “이 거래에는 두 가지 이상의 권한이 필요하므로 하나의 키로는 서명할 수 없습니다.”가 표시됩니다. 승인 버튼은 없습니다. 앱으로 돌아가세요.

소유자 키 요청은 드뭅니다. 계정을 통제하거나 복구할 수 있는 주체를 바꾸는 일입니다. 두 번 읽으세요. 승인하기 전에 읽으세요를 보세요.

키가 없을 때

선택한 계정에 필요한 키가 이 기기에 없으면 화면이 알려줍니다. 예를 들면 “활성 키가 필요하지만, 이 기기에는 @사용자이름 계정의 활성 키가 없습니다.”처럼요.

  1. 메시지 아래의 다른 계정 추가를 선택하세요. 계정 추가 양식이 열립니다.
  2. 같은 사용자 이름과 빠진 키를 입력하세요. 계정에 패스코드가 있다면 패스코드도 입력하세요.
  3. 계정 추가를 선택하세요. Hivesigner가 키를 추가하고 요청으로 되돌려 보냅니다.

계정이 잠겨 있으면 버튼 위에 패스코드 칸이 나타납니다. 한 번 누르면 잠금이 풀리고 승인까지 진행됩니다. 키가 실제로 없는 것으로 드러나면 잠금 해제 뒤에 알려줍니다.

이 브라우저에 아직 계정이 없다면 버튼에 계속이 표시되며 계정 추가 양식을 엽니다.

승인 또는 서명

버튼 위의 계정 줄에는 “서명할 계정”과 함께 서명하는 계정이 표시됩니다. 계정 전환으로 다른 계정을 고를 수 있습니다. 계정 전환하기를 보세요.

  • 승인은 브라우저에서 거래에 서명해 Hive 네트워크로 보냅니다. 결과에는 “거래가 브로드캐스트되었습니다”와 함께 블록 탐색기에서 거래를 여는 거래 ID가 표시됩니다.
  • 요청이 서명만 필요로 할 때는 대신 서명이 나타납니다. Hivesigner는 거래에 서명하되 네트워크로 보내지 않습니다. 서명을 앱에 전달하거나, 요청에 사이트가 없으면 화면에 보여줍니다.

네트워크가 거래를 거절하면 “거래가 브로드캐스트되지 않았습니다”와 네트워크가 알려준 “오류 메시지”가 표시됩니다. 다시 시도할 수 있습니다.

돌아가는 사이트

요청에 돌아갈 사이트가 있으면 위쪽 안내에 “HOST 주소로 리디렉션됩니다.”가 표시됩니다. 승인하면 Hivesigner가 그곳으로 보냅니다. HOST가 회원님이 왔던 사이트인지 확인하세요.

요청에 사이트가 없으면 Hivesigner는 결과 화면에 머무릅니다.

다른 계정을 위한 요청

요청이 선택한 계정이 아닌 다른 계정을 위해 만들어졌을 수도 있습니다. Hivesigner는 이를 두 가지 방식으로 보여줍니다.

다른 계정이 서명해야 하는 요청. 화면에 “이 요청은 @계정 계정으로 서명해야 합니다. 해당 계정으로 전환하세요.”가 표시됩니다. 계정 줄에는 “선택한 계정”이 표시되고 그 아래에 계정 목록이 열립니다. 그 계정을 고르거나 다른 계정 추가로 추가하세요. Hivesigner는 다른 어떤 계정으로도 이 요청에 서명하지 않습니다.

다른 계정을 대신해 실행되는 작업. 여러 사람이 관리하는 계정에서 일어나는 일입니다. 위쪽 경고에 “이 작업은 @사용자이름 계정이 아니라 @계정 계정으로 실행됩니다. 해당 계정도 직접 관리하는 경우에만 계속하세요.”가 표시됩니다. 각 카드의 세부 정보에 대신 실행되는 계정이 적혀 있습니다.

Hivesigner가 읽을 수 없는 요청

Hivesigner는 온전히 읽고 보여줄 수 없는 요청에는 절대 서명하지 않습니다. 알지 못하는 작업, 작업이 하나도 없는 요청, 작업에 맞지 않는 값(숫자가 아닌 숫자, 잘못된 형식의 금액), 보여줄 수 없는 여분의 데이터가 여기에 해당합니다.

그때 화면에는 “문제가 발생했습니다. 제공된 데이터가 올바르지 않습니다.”가 표시됩니다. 앱으로 돌아가세요. Hivesigner 팀에 알리려면 이 문제 신고하기를 선택하세요.

메시지 서명 요청

어떤 앱은 거래 대신 메시지에 서명해 달라고 합니다. 예를 들어 계정이 회원님의 것임을 증명할 때입니다. 메시지는 텍스트이며, 서명해도 블록체인에서는 아무것도 바뀌지 않습니다.

화면에는 다음이 표시됩니다.

  • “앱에서 메시지 서명을 요청합니다.” 같은 제목. 앱에 Hive 계정이 있으면 아래 줄이 그 계정을 알려줍니다. “Hive 계정 @앱계정”처럼요.
  • “이동할 주소: HOST”: 서명을 받는 사이트입니다. 같은 줄이 버튼 옆에도 다시 나타납니다.
  • 메시지: 서명될 텍스트 전체가 그대로 표시됩니다. 텍스트를 숨기거나 방향을 바꿀 수 있는 문자는 \u{200B}처럼 강조된 코드로 표시됩니다.
  • 사용되는 키: “게시 키로 서명됩니다” 또는 “활성 키로 서명됩니다”. Hivesigner는 메시지를 소유자 키로 서명하지 않습니다.
  • 경고: “서명은 이를 보는 누구에게나 @사용자이름 계정이 바로 이 텍스트에 서명했음을 증명합니다. 이해한 메시지에만 서명하세요.”
  • 계정 전환이 있는 “서명할 계정” 줄.

서명을 선택하면 서명합니다. Hivesigner는 서명, 회원님의 사용자 이름, 키 종류, 서명을 만든 공개 키와 함께 사이트로 되돌려 보냅니다. 공개 키는 키 쌍에서 공유할 수 있는 쪽이며, 그것으로는 아무것도 서명할 수 없습니다.

취소를 선택하면 계정 페이지로 이동합니다. 사이트는 아무것도 받지 못합니다.

계정에 필요한 키가 이 기기에 없으면 화면이 알려줍니다. 예를 들면 “게시 키가 필요하지만, 이 기기에는 @사용자이름 계정의 게시 키가 없습니다.”처럼요. 계정 전환을 선택한 다음 다른 계정 추가를 선택하세요. 같은 계정에 빠진 키를 추가하면 Hivesigner가 요청으로 되돌려 보냅니다.

일부 메시지가 거부되는 이유

Hivesigner 로그인으로 쓰일 수 있는 메시지. 어떤 텍스트는 Hivesigner 로그인과 형태가 똑같습니다. 그런 텍스트에 서명하면 사이트에 계정 접근 권한을 주게 됩니다. Hivesigner는 그런 텍스트에 절대 서명하지 않고 “이 메시지는 Hivesigner 토큰입니다. 서명하면 사이트에 회원님의 계정에 대한 접근 권한을 주게 되므로 서명할 수 없습니다.”라고 알립니다.

Hivesigner가 쓸 수 없는 요청. Hivesigner는 메시지가 없거나 돌아갈 주소가 없는 요청을 거부합니다. 게시 키나 활성 키가 아닌 키를 요구하는 요청, Hive 계정이 아닌 것을 앱으로 가리키는 요청, 돌아갈 주소가 안전하지 않거나 그 앱에 등록되어 있지 않은 요청도 거부합니다. 이때 “이 서명 요청은 사용할 수 없습니다. 메시지, 게시 키 또는 활성 키, 그리고 앱에 등록된 안전한 리디렉션 URL이 필요합니다. 사이트로 돌아가 다시 시도하세요.”가 표시됩니다.

Hivesigner가 Hive 네트워크에서 앱 정보를 읽지 못하면 “Hive 네트워크에서 계정 정보를 불러오지 못했습니다.”가 표시됩니다. 읽을 수 있을 때까지 아무것도 서명하지 않습니다. 다시 시도를 선택하세요.

직접 메시지에 서명하기

계정을 통제하고 있음을 증명하기 위해 직접 메시지에 서명할 수 있습니다.

  1. hivesigner.com/signmessage를 여세요. 바닥글에 메시지 서명으로 연결되어 있습니다.
  2. 선택한 계정이 잠겨 있으면 패스코드를 입력하고 잠금 해제를 선택하세요. 선택한 계정이 없으면 페이지가 계정 목록으로 연결해 줍니다.
  3. 메시지에 텍스트를 입력하세요. Hivesigner가 앞뒤의 공백과 줄바꿈을 지웁니다.
  4. 서명에 사용할 키에서 키를 고르세요. 이 기기에 있는 선택한 계정의 키가 강한 순서로 나오며, 가장 강한 키가 처음에 선택되어 있습니다. 다른 키가 필요한 경우가 아니라면 게시로 바꾸세요.
  5. 메시지 서명을 선택하세요.

서명 요약에는 서명자, 사용한 권한, 검증 토큰, 검증 링크가 표시됩니다. 검증 토큰은 메시지, 사용자 이름, 서명을 하나의 텍스트에 담고 있습니다. 메시지를 확인해야 하는 사람에게 링크나 토큰을 전달하세요.

서명은 키를 드러내지 않습니다. 다만 어떤 키로 서명했는지는 보여줍니다.

메시지 검증하기

  1. hivesigner.com/verifymessage를 여세요. 바닥글에 메시지 검증으로 연결되어 있습니다.
  2. 검증 토큰에 토큰을 붙여 넣고 서명 검증을 선택하세요.

검증 링크는 이 페이지를 열어 메시지를 알아서 확인합니다.

결과에는 “사용자이름 계정의 유효한 서명입니다” 또는 “계정 키로 서명을 검증할 수 없습니다.”가 표시됩니다. 그 아래에 서명자, 복원된 공개 키, 일치하는 권한(서명한 키의 종류), 메시지가 나옵니다.

Hivesigner는 그 계정이 Hive 네트워크에서 현재 가지고 있는 키로 서명을 확인합니다. 그 뒤 계정이 키를 교체했다면, 예전 키로 서명한 메시지는 더 이상 검증되지 않습니다.