想象一个协议,参与者签署一个模式文档来声明他们将遵循哪个版本。
为了定义协议中使用的函数,无需依赖 URL,我们可以通过 .iso/.img 的 SHA256 摘要来定义操作系统,然后定义函数;像这样的东西:
OS image hash digests
********************************
#OPENBSD : 0x034435c6e27405d5a7fafb058162943c194eb793dafdc412c08d49bb56b3892a
********************************
Function definitions:
********************************
RIPEMD160(ARG0) is the result of `$ARG0 | openssl ripemd160 -binary` on the default shell of #OPENBSD on amd64 architecture.
********************************
然而,我担心的是这amd64 architecture
太含糊了。也许不同的架构实例可能会产生不同的结果A
;示例中的A
位置。amd64
我的这个担忧正确吗?当然,除了ripemd160之外的函数也会被定义。
是否有一个哈希指纹我可以用来封装“运行操作系统的机器“?也许可以使用规范文档的散列。如果是这样,什么文件比较好?也许riscv64指令集在这方面有优势。