Operating a Block Chain
1 介绍
块链的运算符执行四个基本功能:
· 确定谁可以参与块链
· 从参与者收集有效的交易
· 生成并签署有效的交易块
· 向参与者分发块
其中一个块链操作符被指定为块生成器。 其他人被指定为块签名者。 他们一起负责创建新的块。每个块包含一个共识程序,它定义了创建下一个有效块的要求。 共识程序指定块生成器的公钥(其签名在下一个块中是必需的)以及一组具有在下一个块所需的签名的数量的块签名者的公共密钥。
2 概述
本指南将引导您了解块链操作符的基本功能:
1. 创建一个新的块链
2. 创建块
3. 许可网络
4. 添加/删除块链操作符
2.1 创建一个新的块链
为了创建新的块链,块链操作者必须协调创建初始共识程序并生成第一个块(在高度0)。过程如下:
1. 每个块签名者将链核心初始化为块签名者,创建网络令牌和私钥/公钥密钥对。
2. 每个块签名者将其块签名者URL,网络令牌和公钥分配给块生成器带外。
3. 块生成器将链核心初始化为块生成器,创建私钥/公钥密钥对。
4. 块生成器在Chain Core设置中为每个块签名者配置URL,网络令牌和公钥。
5. 块生成器在链核心设置中创建初始共识程序(从其公钥和块签名者的公共密钥和法定人数)。
6. 块生成器创建第一个块,包括初始共识程序,它自动分配给每个块签名者。
注意:Chain Core仪表板还不支持块签名器配置。但是,您可以使用Chain Core命令行工具手动配置块生成器和块签名者。请参阅块签名指南。
2.2 创建块
2.2.1 块生成器
块生成器负责通过以下步骤以定义的间隔创建块:
1. 接受与会者的交易
2. 验证每个交易以确保其已正确签名,并且不会超过资产单位的两倍
3. 生成一个有效的交易块
4. 签署块
5. 从需要的块签名人的法定人数收集签名
6. 将块分配给参与者
2.2.2 块签名者
一旦块生成器生成了一个建议的块,每个块签名(最多到仲裁)将通过以下步骤对块进行签名:
1. 从块生成器接受一个提议的块
2. 验证块,确保它从未在同一高度签名块
3. 验证块中的每个交易,确保每个输入都已正确签名,并且不会超过资产单位的两倍
4. 签署块
5. 将带符号块返回到块生成器
2.3 网络权限
可以将块链配置为要求网络令牌,以便连接到块生成器以提交事务和接收块。块生成器可以为每个可以在任何时间被撤销的参与者创建唯一的网络令牌。
2.4 添加/删除块链操作符
要调整一组块链操作符,必须对共识程序进行更改,而现有块签名者的法定人数必须同意变更。该程序需要工具仍在开发中,即将推出