Wiki · Zikaron

授权

授权是账本里的一条:写明被授权方、哪一件记录、有效期,以及条款文件的指纹。签发后只能撤销,内容保持定稿。

起草

到「授权」按「新建授权」,或在记录详情里按「授权给他人」(这件记录已预填)。表单各格:

被授权方
粘贴一个 0x… 地址;右边「最近地址」列出地址簿和以前的被授权方。地址背后是个人、公司还是合约,由双方自行约定。
哪一条记录
按「选择记录」挑一件。只有已确认上链的记录能选,其余灰着并注明原因。
条款文件
必填,拖进来或点选。它的 SHA-256 自动填进「条款文件指纹」。签发时这份文件在数据目录里留一份,之后随授权文件和记录包交给对方,对方自己重算指纹即可核对。
有效期
「7 天」「30 天」(默认)「90 天」,按链上时间起算;或「自定义」,填起止的 Unix 秒。链上时间尚缺时,先同步一次,或改用自定义。
独占、转授权与范围
「独占授权」开关、「上游授权(转授权用)」与「使用范围」。

被授权方、条款文件指纹、上游三格里的地址或哈希一律写成小写。

含义在条款里

账本只认形式:一个地址、一个指纹、一段时间。是否独占、可用于何处、价格几何、违约如何处理,都写在条款文件里。对方重算条款文件的指纹,与授权里记下的一致,就能确认这正是签发时所附的那一份。

「独占授权」开关只记在你自己的机器上:同一件记录已有独占授权且时段重叠时,应用弹出「独占授权冲突」,拦下新的签发。对外具有约束力的独占,要写进条款文件。

签发

  1. 被授权方、记录、条款文件指纹三样齐了,按「加入账本」(开了「自动上链」时写「立即上链」)。
  2. 确认卡「签发授权」写出记录、有效期、条款文件与费用,被授权方和各项指纹在「详细信息」里。在卡上再按一次即签发。
  3. 授权写进账本,进待上链队列,照待上链队列上链。

新建授权页的旁栏「签发前的检查」是一张两步清单:「填写条款」和「起草首份授权」,下面显示密钥余额,可以逐步标记完成。

交给对方

授权码
以 zikaron-grant: 开头的一段文本,在授权详情里按「复制授权码」。它能核验签名和有效期。
授权文件
按「导出授权文件…」写出一份 .zkgrant 文件:授权链各跳的条目、签发者账本、条款文件和授权码都在里面,对方能做完整核验。导出前应用会现读一次链。

撤销

在授权详情页底部按「撤销授权…」,卡上写着记录与原有效期,「详细信息」里可以填裁决文件的指纹。按「确认撤销」写入撤销条目,进待上链队列。撤销是终局的,由这份授权派生的转授权同时失效。上链后,对方复核时只要拿得到你更新后的账本(同一台机器、对方存下的上游目录,或你发布地址上更新过的记录包),撤销监测就会发现它;在那之前,那份授权显示「有缺项」。

收下授权

使用方把收到的授权放进「我的授权」。按「添加授权」,贴授权码,或把授权文件拖进来,按「核验并添加」:

  • 应用先核验签名和格式,全部通过才收下。
  • 授权码带着转授权链时,链上各跳一并收下。
  • 授权文件在数据目录里留一份,其中的签发者账本以后用于核验。
  • 只有授权码时,能核验签名和有效期;要完整核验,请签发者导出授权文件。

每份授权一张卡,判定有四种:

全部通过
六项核验都通过。
有缺项
部分项目尚待结果,例如缺签发者账本、尚待确认上链。等结果明确后再依赖这份授权。
未通过
至少一项查出问题。
已被撤销
签发者已撤销这份授权。

「重新核验」逐份复核整个库:先在本机、再在保管库里找签发者账本,然后扫链。复核也按「设置 › 通知」的周期自动跑,出厂为每 600 秒。工具栏的「按签发者」把授权按签发者分组,有问题的组排在最上。

凭证

凭证是给第三方(例如你的顾客)看的授权证明,一份文本加一张二维码。在授权详情的凭证卡上按「生成凭证」:应用把授权链一直接到根,写出 badge.txt 和二维码 badge.svg。对方在「核验 › 核验授权」贴入文本即可核验。

转授权

本次运行复核过、六项核验全部通过的授权,详情上有「转授权给他人」。按下先出确认卡「转授权」,再按「起草…」进入转授权页:上半是上游授权的信息,下半与起草授权相同,记录固定为上游的那件。

  • 转授权写进你自己(使用方)的账本,进你自己的待上链队列。使用方要有签名密钥和账本,页面会引你去「生成密钥…」或「开账…」。
  • 转授权以上游为限:上游被撤销或到期,转授权随之失效。有效期由你自己设定,请把它设在上游的有效期之内。
  • 核验转授权时,每一跳各核六项,再核相邻两跳是否接上。

撤销监测

每次整库复核之后,应用检查两件事:签发者是否撤销了你持有的某份授权,签发者账本是否移交给了新密钥。发现其中之一时,窗口向系统请求一次注意,出一条提醒,并在「提醒」页末尾加一行红灯。同一件事只提醒一次。