平台功能
01 创建联盟
什么是联盟
联盟是个人或多人与其他人或组织集合在一起的组织的统称。在区块链联盟中,机构可以:
- 共享联盟区块链
- 创建区块链应用,并共享给联盟内的其他机构
如何创建联盟
- 进入首页
- 点击 技术产品
- 点击 蚂蚁链BaaS平台
- 点击 进入控制台
- 点击 我的联盟
- 点击 添加联盟
- 在创建联盟窗口中,设置联盟信息
- 配置完毕后,点击 创建
02 加入联盟
邀请机构加入联盟
- 进入BaaS控制台后点击 我的联盟(同创建联盟的前5步)注:刚创建完毕时会停留在此界面
- 在我的联盟界面中点击指定的联盟
- 点击 联盟管理
- 点击 联盟机构
- 点击 邀请机构
- 在弹窗中输入 受邀请机构的电子邮箱或手机号码
- 点击 发送 注:如需同时邀请多个机构,可点击 添加成员,输入相应的联系信息
查看被审批机构详情
如果邀请者是联盟管理员,则无需审批,受邀机构获得邀请码;如果邀请者是联盟机构成员,则联盟管理员需要进行审批,审批操作如下:
- 联盟管理员单机左侧导航栏上的联盟管理
- 点击机构审批
- 在机构审批列表中,点击待加入机构成员所在行的详情
- 联盟管理员进行审批
受邀机构加入联盟
- 受邀机构登录控制台,进入BaaS平台>我的联盟,点击 加入联盟
- 在弹窗中输入 邀请邮件或短信中提供的邀请码 并提交
注意:
- 由联盟管理员发起邀请,则无需审批
- 由其他联盟机构发起邀请,需要管理员通过机构审批
03 联盟链准入&证书与秘钥
在BaaS平台管理人员为您创建好区块链后,您需要申请区块链证书,才能使用区块链的功能并进行后续的区块链开发,操作步骤如下:
登录BaaS平台控制台,进入联盟后,选择目标联盟
在导航栏中点击 联盟内的链,在右侧的联盟区块链页面上选择需要申请证书的区块链,然后点击 创建证书
上传生成的证书请求,并点击 提交
申请成功之后,可以下载开发组件及签名证书到本地,进行区块链应用开发。
04 自动化部署
区块链节点软件采用自动化部署方式,根据用户申请需求快速自动建立区块链平台。对于区块链节点软件版本更新,可后台节点逐步升级,同时不影响区块链功能。
05 区块链平台
提供拜占庭容错的3F+1个独立区块链节点,运行蚂蚁金服自研的区块链软件。
- 假定节点总数是N,其中作恶节点数为F。
- 需要N-F-F>F
06 区块链应用
用户可以在联盟内创建区块链应用,可将区块链应用分布到所处的联盟,联盟内所有机构共享联盟内的区块应用。
07 区块链浏览器
浏览器数据
进入浏览器
功能入口:登录蚂蚁链BaaS平台控制台,进入联盟后,选择目标联盟链,点击联盟链卡片上的浏览器,即可进入区块链浏览器首页概览图。
浏览器总览
查看数据:在浏览器首页概览图中,可以看到链的相关信息,包括链交易数目、节点信息、账户信息、出块信息、块中包含的交易等信息。
区块相关
当前区块信息包括以下内容:
- 区块结构详情
- 当前区块内的交易列表
交易详细
点击【最近的交易】中的某个交易,可查看具体的交易信息
交易回执
交易回执内容包括交易的执行状态、交易数据、交易使用的gas(燃料)以及交易日志情况
节点详情数据
进入主链管理
功能人口:点击联盟链卡片上的主链管理,即可进入节点管理>节点详情页。
查看节点详情
查看数据:在节点详情页,您可以查看节点端口、IP、节点所有者、节点名称、ID、节点共识类型、状态等信息。
密码算法
01 蚂蚁链的安全能力概述
蚂蚁链采用多维度、多技术的方式提供强大的安全能力
区块链底层
提供金融级隐私保护能力
网络层
利用蚂蚁链平台的安全能力(如专有网络VPC)保证区块链网络安全
BaaS服务层
提供企业身份、实人身份、内容安全等认证能力
安全机制
网络安全
- 通过CA中心获取TLS证书
- 实现TLS双向认证
- 通信数据通过TLS加密
- 保证通信可靠
数据安全
- 数据多节点存储
- 保证数据的存储一致性
- 提供归档工具
存储安全
- 交易使用用户私钥签名
- 明文上链、密态上链
02 蚂蚁链的密码学能力
密码学标准与密码算法
蚂蚁链支持的密码学标准 | 国际标准 | 国家标准 |
蚂蚁链支持的密码学算法 | 数字签名 EDDSA SM2 | 国家标准 对称加密算法
非对称算法
| 摘要算法 SHA256 SHA512 SM3 |
数字签名算法
功能:认证身份,利用私钥对数据做唯一指纹,只有对应的公钥才能够进行验证。
- 国家商密数字签名标准:SM2数字签名算法(椭圆曲线签名算法)
- 国际数字签名标准:ECDSA、DSA、RSA
对称加密算法
用途:用于加密数据,通过密钥生成算法获得密钥,利用密钥进行数据加密,只有该密钥才能进行解密。
- 国家商密分组密码标准:SM4
- 国际分组密码标准:AES、3DES
非对称加密算法
用途:加密数据或密钥,通过算法获得公钥和私钥,公钥用于加密数据,只有对应的私钥才能够进行解密。
- 国家商密公钥加密标准:SM2信封加密(椭圆曲线加密算法,SM2加密SM4密钥,再用SM4加密数据)
- 国际公钥加密标准:RSA、ElGamal、Paillier
对称加密算法vs非对称加密算法
类别 | 对称加密算法 | 非对称加密算法 |
---|---|---|
特点 | 加密和解密的密钥相同;密钥需要保密 | 有两把密钥(公钥、私钥),公钥用于加密数据,私钥用于解密数据;公钥可公开、私钥需保密 |
优势 | 加密速度快 | 密钥管理简单 |
劣势 | 密钥管理困难 | 加解密速度慢 |
适用场景 |
|
|
- 实际使用中,对称加密算法和非对称加密算法经常搭配使用。
- 利用对称加密算法加密文件,再利用非对称加密算法加密对称加密算法的密钥,从而同时兼顾加密速度快、密钥管理简单的需求。
摘要算法(又称散列算法、哈希值算法)
用途:用于数字签名、消息认证码以及伪随机数的生成,将任意长度的比特串压缩为固定长度输出,与输入强绑定。
- 国家商密哈希函数标准:SM3(输出长度256比特)
- 国家哈希函数标准:MD5(不安全)、SHA256、SHA512、SHA3
蚂蚁链身份认证技术
01 身份认证中的证书与秘钥技术
证书与密钥
密钥
- 对称加密与非对称加密
- 非对称加密包含一组密钥
证书
- 交易非对称加密体系
- 私钥签名、公钥验证
02 身份认证中的TLS与双向认证技术
TLS协议用于在两个通信应用程序之间提供保密性和数据完整性
SSL | TLS | 主从式架构 密钥交换 TLS证书 记录协议+握手协议 |
蚂蚁链智能合约技术特征基础
01 蚂蚁链合约类型
智能合约的定义
- 智能合约是以数字形式定义的能够自动执行条款的合约。
- 区块链的智能合约最早建立在以太坊,使用一套图灵完备的脚本语言来建立应用。
智能合约的定义来自《区块链产业人才岗位能力要求》工业和信息化人才交流中心
蚂蚁链具体合约类型:EVM、Native、WASM、Precompiled
EVM
- 基于栈虚拟机、编译、执行智能合约
- 图灵完备
- 完全隔离的环境
- 操作数栈调用深度为1024
- 支持流行的Solidity合约语言
Native
- 由Native虚拟机插件支持
WASM
- 由蚂蚁自研的栈式虚拟机支持
- LLVM(Low Level)编译模型支持多种合约编程语言
- 运行高效、内存安全、无未定义行为和平台独立等
Precompiled 预编译
- 性能效率考虑
- 高效实现特定功能供VM调用
- 运行高效、内存安全、无未定义行为和平台独立等
02 合约扩展
RSA
- 公钥密码
- 大数分解难题
Base64
- 压缩HTTP传输
- 编码解码
- 不可读性
JSON
- 轻量级的数据交换格式
- <Key,Value>对形式
- 格式嵌套
- 易读、高效传输
XML
- XML可以从HTML中分离数据
- XML可用于交换数据
- XML可应用于B2B中
- XML可以共享数据
- XML可以充分利用数据
- XML可以用于创建新的语言
03 智能合约的组件功能
账户体系
账户数据模型字段 | 账户密钥 | 平台支持的账户操作 |
id | auth_map | 创建账户 |
auth_map | recover_key | 更新密钥 |
recover_key | encryption_key | 重置密钥 |
balance | 账户冻结 | |
recover_time | 账户解冻 | |
status | ||
encryption_key |
合约体系
合约解冻 | code | |
合约冻结 | storage_root | code_hash |
合约调用 | recover_time | status |
合约升级 | recover_key | balance |
合约部署 | id | auth_map |
交易 | 合约 | |
Solidity | C++ | |
EVM | WASM |
区块查询
区块头 | hash version number gas_used parent_hash receipt_root state_root transaction_root timestamp log_bloom |
区块体 | transaction_list consensue_proof receipt_list |