Oracle Blockchain Platform Enterprise Edition 概述
Oracle Blockchain Platform 是一个平台,可用于构建和运行智能合同以及维护防篡改的分布式账本。
Oracle Blockchain Platform 是一个网络,由验证节点(对等节点)组成,通过执行智能合同代码(在区块链上运行的业务逻辑)来更新分类账并响应查询。外部应用程序通过专门的内置 REST API 调用或通过自己的定制客户端 SDK 来调用事务处理或运行查询,这会提示所选对等方运行智能合同。多个对等节点对结果进行背书(数字签名),然后对结果进行验证并发送到订购服务。在就交易顺序达成共识后,交易结果将分组为加密保护的防篡改数据块,并发送到对等节点进行验证并附加到分类账。平台管理员可以使用 Blockchain Platform Manager 创建和管理平台实例,而网络管理员可以使用 Oracle Blockchain Platform 控制台来配置区块链并监视其运行情况。
Oracle Blockchain Platform Enterprise Edition 提供基于 Kubernetes 集群构建的 Oracle Blockchain Platform 版本,并作为一组预构建的容器映像提供,适用于多个 Kubernetes 分发,包括 Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)、Red Hat OpenShift 和 minikube。它也可以部署到 Microsoft Azure 的现有配置中。
Oracle Blockchain Platform Enterprise Edition 可下载对象提供了一个分发包,其中包含所有必需的容器映像、Helm 图表和可执行脚本,可帮助将 Oracle Blockchain Platform 服务设置到给定的 Kubernetes 集群上。成功安装 Oracle Blockchain Platform Enterprise Edition 后,Blockchain Platform Manager 可用于配置和预配多个区块链平台实例,这些实例将在可用的 Kubernetes worker 节点上运行。与云产品类似,此版本支持客户在数分钟内创建新的完整的区块链实例。
企业版支持用户按需扩展,通过增加各个节点的副本来处理不断变化的工作负载。与典型应用不同,Oracle Blockchain Platform 的分布式账本和分布式元数据数据库可以开箱即用地处理数据复制。
与云版本的功能奇偶校验可确保客户可以在两个版本中部署链代码并使用相同的链代码 API 和广泛的 REST API。Oracle 通过基于 SQL 的查询将 Berkeley DB 用于世界状态、内置事务处理同步到链外丰富的历史记录数据库、直观而全面的控制台以及强大的操作和监视工具,并在云和内部部署版本中共享所有其他独特的企业级功能。
安全性、验证和授权
Oracle Blockchain Platform Enterprise Edition 安全性简介
Oracle Blockchain Platform Enterprise Edition 在多个级别处理安全性问题。顶层是与 Oracle Blockchain Platform 节点相关的安全性。接下来是与用于管理 Oracle Blockchain Platform 实例生命周期的 Blockchain Platform Manager 关联的安全性。Blockchain Platform Manager (控制层)的用户可以在实例上创建、横向扩展、横向扩展和完成其他生命周期操作。对于每个实例,都有授权用户来管理、监视和管理实例。最后,还有实例的用户可以通过 Fabric SDK 或 Oracle Blockchain Platform REST Proxy 访问实例。所有用户信息(包括角色和密码)都存储在内置的 LDAP 验证服务器中。
与 Oracle Blockchain Platform 服务相关的所有敏感数据(密码、证书和私钥)都使用 Kubernetes Secrets 进行存储。Kubernetes Secrets 优秀实践 —遵循以下准则确保 Kubernetes Secrets 安全至关重要。
管理安全性
保护静态数据
您可能需要在 Kubernetes 中启用磁盘加密来保护静态数据。允许您编写持久性 API 资源数据的所有 Kubernetes API 都支持静态加密。
请参见 Encrypting Confidential Data at Rest 。
此外,请遵循典型的 Kubernetes 优秀实践来保护对集群中组件的访问,特别是对 Kubernetes 密钥的访问,因为 Oracle Blockchain Platform 将机密信息存储在集群中。
公开的端口
Oracle Blockchain Platform 利用 Istio 作为入站网关服务来接受 Oracle Blockchain Platform 服务的外部流量。Oracle Blockchain Platform Enterprise Edition 使用 istio-ingressgateway 服务的 https 端口作为单个入口点来监听所有外部流量。但是,根据配置的服务类型,公共端口号可能会有所不同。
| ServiceType | 端口名 | 公开的端口号 | 安装期间是否可配置? |
|---|---|---|---|
| LoadBalancer(默认值) | https | 443 (默认值) | 是 |
| NodePort | https | 3xxxx(与 https 端口对应的 nodePort 值) | 是 |
配置验证和身份验证
使用随附的 LDAP 服务器执行 Oracle Blockchain Platform 中的验证。用户必须在验证服务器中有一个帐户,才能使用该服务。
与特定验证组关联的用户将被授予用户组和角色中定义的特定权限。