Qstamp / 작동 방식
아키텍처

기록에서 양자 컴퓨터보다 오래 유효한 영수증까지.

Qstamp는 모든 기록을 비공개로 유지하고 증명만을 검증 가능하게 합니다. 기록, 그 지문 및 영수증은 운영자에게 남습니다. 솔트가 적용된 커밋먼트 하나만이 Quantova 가상 머신 상의 Quanta 컨트랙트를 통해 앵커링되며, 양자내성 검증인 위원회가 이를 최종 확정합니다.

운영자 시스템 QSTAMP SDK · 로컬 QUANTOVA 가상 머신 검증인 위원회 기록에이전트 행위, 파일 다이제스트SHA3 256비트 솔트 리프0x00 · 태그 · alg · 솔트 해시 트리RFC 9162 루트 커밋먼트0x02 · 컨텍스트 · 루트 서명된 트랜잭션ML DSA 65 · 수수료 상한 Quanta 컨트랙트Stamped 이벤트 발생 블록 및 이벤트 루트커밋먼트 포함 최종성 인증서ML DSA 65 위원회 영수증 반환기록별 1개 · JSON 보관기록과 함께 보관 운영자 시스템 QSTAMP SDK · 로컬 QUANTOVA 가상 머신 검증인 위원회 기록에이전트 행위, 파일 다이제스트SHA3 256비트 솔트 리프0x00 · 태그 · alg · 솔트 해시 트리RFC 9162 루트 커밋먼트0x02 · 컨텍스트 · 루트 서명된 트랜잭션ML DSA 65 · 수수료 상한 Quanta 컨트랙트Stamped 이벤트 발생 블록 및 이벤트 루트커밋먼트 포함 최종성 인증서ML DSA 65 위원회 영수증 반환기록별 1개 · JSON 보관기록과 함께 보관
그림 1 · 스탬핑. 32바이트 커밋먼트만이 운영자 경계를 넘습니다. 점선 연결은 네트워크 작업을 나타냅니다.
실제 사례

SI 기업이 설치부터 법원이 검증할 수 있는 지문에 이르기까지 Qstamp를 배포하는 방법.

설정, 통합, 운영 및 증명의 네 국면으로 구성된 열세 단계입니다. 표시된 모든 값은 Quantova 가상 머신 상의 실제 Qstamp 배포에서 가져온 것이며, Qstamp를 통합하는 모든 기업은 동일한 절차를 따릅니다.

qstamp · 배포 및 증거 추적
설정통합운영증명
설정

SDK 설치

SI 기업은 에이전트를 실행하는 서비스에 오픈소스 Qstamp SDK를 추가합니다. 의존성은 양자내성 서명을 위한 QCore 하나뿐입니다.

$ npm install @quantovainc/qstamp
added 2 packages

$ npx @quantovainc/qstamp --version
0.1.4
패키지@quantovainc/qstamp 0.1.4
서명 라이브러리@quantovainc/qcore 0.4.2
라이선스Apache 2.0 또는 MIT · 저작권 2026 Quantova Inc
설정

서명 계정 생성

서명 키는 운영자 자체 서버 또는 하드웨어 보안 모듈에서 생성됩니다. 해당 계정에는 자금이 충전되며 Quantova 네트워크에 한 번 등록됩니다.

$ openssl rand -hex 32 > signer.key && chmod 600 signer.key
$ node account.js
address  Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
status   registered, ready to stamp
계정 서명ML DSA 65 · FIPS 204
키 보관운영자만 보관하며 Quantova로 전송되지 않음
설정

컨트랙트 선택 또는 배포

기업은 공식 Qstamp 컨트랙트를 통해 스탬핑하거나, Quanta 템플릿으로 자체 발급자 컨트랙트를 배포합니다. 자체 컨트랙트는 qdock.io의 QIDE에서 증명된 Quanta 컴파일러로 컴파일되고 QMask 지갑으로 배포됩니다.

공식 컨트랙트Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
기관 컨트랙트Q1DAJ3TZ7AN8JVY2MUCWYUWVPXEJSHH53JNDZ48L07RT6948J2N5QSNF3787
컴파일된 컨테이너감사를 거친 해시 7cd509e2d21bc4a3와 일치
배포 도메인서명된 모든 명령에 결합되는 새로운 무작위 64비트 값
통합

모델 등록

모델의 사용이 승인되면 그 패스포트가 기록 유형 ai_model로 스탬핑됩니다. 이에 따라 이후의 모든 결정을 그 결정을 내린 정확한 모델과 연결할 수 있습니다.

model-passport.json모델 레지스트리
{
  "evaluation": {"approved_by": "Model Risk Committee", "auc": 0.871},
  "model": "risk-model 3.2.1",
  "time": "2026-10-09T09:39:27.273Z",
  "training_data": "dataset manifest 2026-09-30",
  "weights_sha3": "f01483b8e6269760c5c2e2025875b6e5d1b16402443e9a98d73e0a43156bf17b"
}
기록 유형4 · ai_model
지문1b15118c7e2f1e482f87821a43d8062585b85e93d061bef1f6d429f621cfc850
트랜잭션QTX19P000T7X6TPFPG8XMXV2GPU0XAR94H36LF7TKP6GGTXN2NQPWLZQ8PZJFY
블록2,011,764
통합

에이전트 런타임 연결

에이전트 런타임은 모든 도구 호출과 결정을 정규 기록으로 작성하여 기업 자체 로그에 보관하고, 1분마다 배치를 앵커링합니다. 영수증은 해당 행위와 함께 저장됩니다.

agent-runtime.js운영자 시스템
const qstamp = require('@quantovainc/qstamp');
const batch = [];

agent.on('action', (action) => {
  const bytes = Buffer.from(canonicalJson(action));
  log.write(bytes);
  batch.push({ digest: qstamp.digestBytes(bytes) });
});

setInterval(async () => {
  const records = batch.splice(0);
  if (records.length === 0) return;
  const receipts = await qstamp.stamp({
    seed, index: 0, kind: 'ai_agent_action', records,
    onPending: savePending,
  });
  receipts.forEach(storeBesideAction);
}, 60000);
운영

에이전트의 행위

은행의 신용 결정 에이전트가 대출을 승인합니다. 이 행위는 에이전트, 모델, 정책, 도구, 결정 및 시각을 담은 정규 JSON 기록으로 작성됩니다.

credit-batch-1/action-04.json운영자 시스템
{
  "agent": "credit-decision-agent-07",
  "amount_usd": 125000,
  "applicant": "APP-54a49c823275",
  "decision": "approve",
  "human_review": false,
  "model": "risk-model 3.2.1",
  "operator": "Example Bank plc",
  "policy": "retail-lending-policy 2026-10",
  "reasons": ["score_above_threshold"],
  "risk_score": 645,
  "time": "2026-10-09T09:39:25.132Z",
  "tool": "credit_bureau.lookup"
}
운영

SDK의 지문 생성

운영자 자신의 시스템에서 SDK가 기록의 SHA3 256비트 지문을 계산합니다. 기록 자체는 결코 은행 밖으로 나가지 않습니다.

$ npx @quantovainc/qstamp hash action-04.json
  action-04.json
알고리즘SHA3 256 · FIPS 202
지문efb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
운영

솔트 적용 및 배치

지문은 새로운 무작위 솔트와 결합되어 배치의 다른 행위들과 함께 해시 트리에 배치됩니다. 6건의 행위가 하나의 트리 루트를 공유합니다.

리프H(0x00 ‖ QSTAMP/LEAF/V1 ‖ alg ‖ digest ‖ salt)
솔트d275e738d46530b36f2c90e48a16bcd6e37fa9480378eb253c4e7a66a6a6b710
배치 크기행위 6건
트리 루트34f64b12e5b363f1add6c48c0f85ebd60e4c2d421e5559f5d7b88717db205c54
운영

하나의 커밋먼트

루트는 체인, 공식 컨트랙트, 서명 계정, 기록 유형 및 배치 크기와 결합됩니다. 그 결과는 하나의 32바이트 커밋먼트입니다.

커밋먼트H(0x02 ‖ QSTAMP/ROOT/V1 ‖ genesis ‖ contract ‖ sender ‖ kind ‖ size ‖ root)
기록 유형6 · ai_agent_action
값6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
운영

ML DSA 65 서명

SDK는 Quantova 가상 머신 상의 Qstamp Quanta 컨트랙트를 호출하는 트랜잭션 하나를 전송합니다. 이 트랜잭션은 양자내성 서명인 ML DSA 65로 서명됩니다.

트랜잭션QTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ
서명자Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
컨트랙트Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
서명ML DSA 65 · FIPS 204
수수료배치 전체에 대해 0.005 TQTOV
운영

온체인 최종 확정

검증인은 양자내성 서명으로 블록을 최종 확정합니다. 컨트랙트는 Stamped 이벤트에 커밋먼트를 기록합니다. 이 스탬프는 1초 이내에 최종 확정되었습니다.

블록2,011,753
시각2026-10-09 09:39:25 UTC
이벤트Stamped · 셀렉터 5a110849
이벤트 데이터서명자 ‖ 커밋먼트 ‖ 유형
✓ 최종 확정 · 공식 컨트랙트가 기록함
운영

익스플로러에서 확인

누구나 공개 Quantova 익스플로러인 QVMScan에서 트랜잭션을 열어 커밋먼트, 서명자, 기록 유형 및 블록을 확인할 수 있습니다.

qvmscan.io/tx/QTX1V53JW5…PQTAH8RQ
상태성공
블록2,011,753
발신Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
수신Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
Qstamp 증거Stamped · 공식 Qstamp 컨트랙트 · ai_agent_action
커밋먼트6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
실제 트랜잭션 열기
증명

법원이 에이전트의 행위를 묻는 경우

은행은 기록과 그 영수증을 제출합니다. 검증자는 지문, 트리 루트 및 커밋먼트를 다시 계산하고, 온체인에서 동일한 커밋먼트를 찾습니다. 숫자 하나만 바꾸어도 검증은 실패합니다.

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file action-04.json
pass format · pass contract · pass content · pass inclusion
pass chain · pass transaction · pass event · pass block
VALID  stamped no later than 2026-10-09T09:39:25Z in block 2011753

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file altered.json
FAIL content  the content does not match the fingerprint in the receipt
INVALID
원본 지문efb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
변경된 지문93b2b98383cd8fc1d71c9727c358b077149123050b4e1ac78654e1889f37c086
스탬핑 순서

정의된 7단계.

각 기록의 지문 생성

SDK는 256비트 출력의 SHA3를 계산하며, 기존 시스템이 이미 사용 중인 경우에는 256비트 출력의 SHA2를 계산합니다.

모든 리프에 솔트 및 레이블 적용

운영체제 난수 생성기에서 새로 생성한 32바이트 솔트를 도메인 레이블 QSTAMP/LEAF/V1 및 알고리즘 식별자와 함께 다이제스트에 결합합니다.

배치 트리 구성

리프는 RFC 9162에 따라 결합됩니다. 리프 해시와 노드 해시는 서로 다른 접두어를 사용하므로 제2 역상 모호성이 제거됩니다.

커밋먼트 도출

루트는 제네시스 해시, 컨트랙트, 서명자, 기록 유형 및 배치 크기와 함께 결합되어 하나의 32바이트 값이 됩니다.

서명 및 제출

커밋먼트는 ML DSA 65로 서명된 트랜잭션으로 전송됩니다. 수수료는 서명 전에 상한이 설정되며 계량된 수수료 중 사용되지 않은 부분은 환불됩니다.

기록 및 최종 확정

Quanta 컨트랙트가 Stamped 이벤트를 발생시킵니다. 검증인 위원회가 약 0.2초 만에 블록을 최종 확정합니다.

영수증 발급

각 기록은 솔트, 포함 경로 및 앵커를 담은 영수증을 받습니다. 비공개 복구 파일이 중단에 대비하여 보호합니다.

영수증 구조

작고, 자기 기술적이며, 검증 가능합니다.

contract.pdf.qstamp.jsonqstamp receipt 1
{ "format": "qstamp-receipt/1", "chain": { "id": "Q-test-net-1", "genesis": "ca91e093…" }, "contract": "Q1D6TZFRL203…", "kind": "6", "record": { "alg": "sha3-256", "digest": "9f07acaf…", "salt": "5e1c02d4…" }, "proof": { "index": 2, "size": 8, "path": [ … ] }, "root": "b3f1…", "anchor": { "tx": "QTX1TYDCHMSD…", "height": 1506979, "block": "QBK1…", "time": 1791430364, "sender": "Q1NUR6ETECQX…" } }

영수증에는 기록의 어떠한 부분도 포함되지 않습니다. 다만 다이제스트와 솔트를 담고 있으므로, 영수증이 기술하는 기록과 동일한 주의를 기울여 취급합니다.

배치 처리

로그 규모의 증명, 일정한 비용.

크기와 관계없이 하나의 배치는 하나의 트랜잭션으로 앵커링됩니다. 각 기록은 배치 크기의 로그에 비례해서만 길이가 늘어나는 경로로 자신의 포함 여부를 증명합니다.

리프 0리프 1리프 2리프 3리프 4리프 5리프 6리프 7노드노드노드노드노드노드루트강조 표시 · 리프 2와 그 해시가 이어지는 노드. 포함 경로는 각 단계의 형제, 즉 리프 3, node(0,1), node(4..7)로, 리프 8개에 대해 해시 3개입니다. 루트 노드 노드 노드 노드 노드 노드 리프 0 리프 1 리프 2 리프 3 리프 4 리프 5 리프 6 리프 7
그림 3 · 포함 경로는 배치 크기의 로그에 비례하여 늘어납니다. 100만 건의 기록에는 형제 해시 20개가 필요합니다.
검증

발급자가 아닌 수학을 신뢰합니다.

검증은 세 가지 결과 중 하나를 반환합니다. 유효(valid)는 모든 연결 고리가 성립함을 의미합니다. 무효(invalid)는 적어도 하나의 연결 고리가 성립하지 않음을 의미합니다. 판정 불가(indeterminate)는 네트워크를 조회할 수 없었음을 의미합니다. 판정 불가 결과는 결코 유효로 보고되지 않습니다.

로컬 검사 · 오프라인 · 무신뢰 앵커 검사 · QVM 1 · 콘텐츠다이제스트 재계산 2 · 리프다이제스트 · 솔트 · alg 3 · 포함루트까지의 경로 4 · 커밋먼트전체 컨텍스트 결합 5 · 트랜잭션최종 · 서명자 · 데이터 6 · 이벤트공식 컨트랙트 7 · 블록식별자 · 시각 판정세 가지 결과 중 하나 로컬 검사 · 오프라인 · 무신뢰 앵커 검사 · QVM 1 · 콘텐츠다이제스트 재계산 2 · 리프다이제스트 · 솔트 · alg 3 · 포함루트까지의 경로 4 · 커밋먼트전체 컨텍스트 결합 5 · 트랜잭션최종 · 서명자 · 데이터 6 · 이벤트공식 컨트랙트 7 · 블록식별자 · 시각 판정세 가지 결과 중 하나
그림 2 · 검증. 1~4단계는 전적으로 검증자의 기기에서 실행됩니다. 5~7단계는 Quantova 네트워크에서 앵커를 확인합니다.

실패 시 차단

응답하지 않는 엔드포인트, 잘린 응답 또는 형식이 잘못된 데이터는 결코 유효 판정을 만들어 낼 수 없습니다.

고정된 컨트랙트

사용자 지정 배포를 명시적으로 신뢰하지 않는 한, 영수증은 해당 네트워크의 공식 컨트랙트에 대해서만 검증됩니다.

정확한 시각

블록 시각은 결코 감소하지 않으며, 검증인들의 시계와 15초 이내로 일치하는 경우에만 승인됩니다.