@atlasauth/pca-核查-核心
这个 裁决逻辑 证明机构(PCA)核查人,用 达夫尼,机器证明 用于所有输入(在链长、共享计数或操作序列上没有界限),并编译为JavaScript.
它不做密码学。 你用原始人来评估签名、散列和剖析 并交出 结果 (booleans, small enums, 整数, 不透明消息, 懒惰的纯关闭) 此套件, 决定:
| 区域 | 函数 | 证明(见 docs/pca/security/verified-core.md(中文(简体) ) |
|---|---|---|
| 能力链 | decideChain | 顺序 + 第一次失败、 深度约束( 16) 、 仅附加提醒( 延长) 、 合理性 + 完整性 |
| 阈值 | decideThreshold | 每个角色1个关键/每个关键角色1个,计 独立 角色, ok 如果f数为 qq t, t 在{1,2,3} |
| 重放后卫 | replayPre, (中文(简体) ), replayNonceStage, (中文(简体) ), replayDecide, (中文(简体) ), VerifiedReplayStoreModel | 拒绝命令,接受意味着每个先决条件和存储答案,不重复播放自由,严格增加计数器 |
| 检查折叠 | CoreState, (中文(简体) ), VerdictState, (中文(简体) ), enforceRequired, (中文(简体) ), withDeniedFallback | 允许没有检查失败, 第一个原因胜出, 仅附加原因, 全部需要检查 pass |
| 每个检查规则 | audienceStatus, (中文(简体) ), validityDecision, (中文(简体) ), grantRefBoundStatus, (中文(简体) ), counterStatus, (中文(简体) ), suitePolicy, (中文(简体) ), pqBinding, (中文(简体) ), leafDecision, (中文(简体) ), thresholdRule, (中文(简体) ), reversibilityDecision,, , , , , , , , . | f-2 PQ 装订 F-1 钩子加固 t |
import { decideChain, decideThreshold, CoreState, validityDecision } from '@atlasauth/pca-verified-core';
validityDecision(true, iat, exp, now); // 'pass' | 'expired' | 'future' | ...
API中没有 Dafny 运行时类型 。 生成的 JavaScript 在 generated/pca_core.js; 重新生成和
以 formal/dafny/build.sh,并检查所承诺的文件是否与新编译的字节相同
formal/dafny/build.sh --check (标注) check:generated),要求Dafny 4.11.0 (z3 4.12.1),如果不是本地的,则在云盒上运行.
唯一的运行时间依赖是 bignumber.js (达夫尼的整数表示.