区块链文库报道:
一种不同类型的智能合约
在大多数区块链上,用户点击的应用程序实际上托管在传统的 Web 服务器上。只有交易层与区块链发生交互。而 @dfinity 的互联网计算机(Internet Computer)采取了不同的方法:构成前端界面的 HTML、CSS 和 JavaScript 代码都存储在一个“容器”(Canister)中,这是该网络对智能合约的称呼。
由于容器智能合约能够处理 HTTP 请求,用户可以通过标准的 Web 浏览器直接访问区块链,使得去中心化应用程序(DApps)能够实现 100% 链上运行。
什么是容器?
在互联网计算机协议(ICP)中,智能合约被称为“容器”。容器是数字化的存储单元,既包含运行程序所需的代码,也包含相关数据。
这使得计算机之间能够相互连接并共享信息,而无需依赖如 AWS 或 Google Cloud 提供的中央服务器。
浏览器请求如何真正到达区块链
在用户浏览器与容器之间的路由层涉及两个关键组件:
- HTTP 网关:将来自浏览器和其他客户端的标准 HTTP 请求转换为 ICP API 调用,并将响应转换回 HTTP 格式。
- 边界节点:用户通过边界节点访问容器。边界节点负责将用户和应用程序的请求转换为容器调用,这些调用由 API 节点或 HTTP 网关处理。
API 边界节点接收 ICP API 调用,并将其转发至托管目标容器的子网中的副本节点。随后,容器执行该请求,构建包含状态码、头部信息和正文的 HTTP 响应,并将其返回。
关键在于,路由基础设施无法篡改容器中存储的内容。生成子网证书需要至少三分之二的子网节点使用链密钥密码学达成一致。因此,经过认证的响应代表的是网络级别的共识,而非单个节点的声明。
当 HTTP 网关收到包含证书的容器响应时,它会在将响应传递给客户端之前验证该证书。这意味着单个恶意节点无法悄悄替换页面内容。
虽然站点也可以通过原始域名提供服务从而跳过签名检查,但官方 ICP 开发者文档警告称,在这种情况下,单个不良节点可能会更改浏览器接收到的内容。因此,对于大多数应用程序而言,使用标准的认证域名是更安全的选择。
互联网计算机的独特之处
互联网计算机与其他平台的不同之处在于其端到端的去中心化特性以及与 TCP/IP 协议的连通性。这使得软件可以直接托管在互联网上,无需任何中间商介入。
免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。
本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复




