一个复杂网络 节点权重需求,该怎么控制交易的节点

BCOS平台 - 区块链治理模式、准则、对象、过程
BCOS平台 - 区块链治理模式、准则、对象、过程
文章来源:BCOS平台白皮书
BCOS平台,区块链技术
1 治理模式
作为一个服务分布式商业的、广泛适用各个行业领域的底层技术平台,BCOS平台或将面临功能模块不断增加、系统环节愈加复杂、交互的系统愈加广泛、参与对象逐渐增多、管理难度逐渐扩大等挑战,如缺乏科学的信息技术管理与治理观念,将无法实现可持续发展。因此,我们引进借鉴了国际上通用的信息技术系统治理标准--COBIT模型,将区块链的治理准则(Business Requirements)、区块链的治理对象(Resources),区块链的治理过程(Processes)综合考虑,形成一个三维的治理体系结构。目的是在商业风险、控制需求和技术问题之间架起了一座桥梁,以有效地利用资源,管理与区块链系统相关的风险,满足BCOS平台的大规模商用需求。
区块链的治理准则维度集中反映了系统的战略目标,主要从质量、成本、时间、资源利用率、系统效率、保密性、完整性、可用性等方面来保证区块链系统的安全性、可靠性、有效性。
区块链的治理对象维度主要包括以参与者、共识机制、节点、应用系统、算法、底层设施及数据在内的区块链相关的资源。
区块链的治理过程维度则是在治理准则的指导下,对区块链的信息及相关资源进行规划与处理,从规划与组织、采集与实施、交付与支持、安全与监控等多个方面确定区块链的处理过程,并赋予每个处理过程详细的控制目标、审计方针及评估方法。
2 区块链治理准则
区块链技术需要按照各行业的商业与监管要求来设定核心治理架构,确保符合监管要求、符合国际标准、符合各行业基本规则。
具体而言,BCOS平台将遵循以下五大治理原则:
1) 合法合规原则:遵守国家相关法律法规和监管要求,为监管审计需求提供技术支持;
2) 可追溯原则:业务与活动都有记录,可追溯,可审计;
3) 安全原则:采取各种必要的安全手段,保障链上资产和交易等信息的安全,防范攻击;
4) 隐私保护原则:保障链上的用户隐私安全,防止泄露用户隐私;
5) 业务导向原则:以需求推动技术,设计与开发时优先考虑适用的业务场景,通常需要对原有业务流程进行重新梳理。一方面在保持合规性的同时要使区块链技术特性得以充分发挥,另一方面还须考虑如何为业务带来怎样的改善与价值创造。
区块链技术的治理可深入至技术的核心环节如共识机制、节点准入、权限管理等,通常可划分为公有链、联盟链、私有链三种形式。BCOS平台综合考量后,选择了联盟链的部署架构与治理模式。
3 区块链治理对象
区块链的治理对象维包含参与者与技术系统的多个方面,内容广泛,以下将结合BCOS平台的设计重点与技术实现,选取部分具有典型区块链特色的治理对象进行阐述。
3.1 身份认证与准入机制
BCOS平台的身份认证体系目前主要针对机构。在特定业务背景下,经个人用户授权后,由机构代理其个人用户在链上进行交易。
一个机构拥有一个到多个节点,节点接入到联盟链的网络中,代表其所属机构在链上进行活动,包括同步数据、参与共识、发起交易等,机构和节点是一对多的关系,为了达成机构级别的安全控制和审计监管,首先需要对机构进行身份认证和准入控制。
目前,PKI( Public Key Infrastructure :公钥基础设施)是网络安全建设的基础与核心体系,通过第三方的可信任机构--认证中心CA(Certificate Authority),把机构的公钥和机构的其他标识信息绑定在一起,可用于在网络上验证用户的身份。
BCOS平台支持的采用CA证书实现机构身份认证的机制与流程如下:
机构将自己的机构基本信息(名称,机构编号,联系方式等)以及所属节点的信息(IP地址,节点标识等),以及CA公钥证书提交给联盟链运营管理者,统一进行准入审核。
如机构准入审核被通过,联盟链运营管理员将该机构的节点信息,CA公钥证书向全联盟链广播,告知全部参与者,将新机构的新节点接入到网络,链上已活动的节点应允许新节点进行连接和进行握手。
在节点互相连接时,节点之间会采用CA证书里的私钥对自己的握手信息进行签名,发送给对方,接收方根据发送方的握手信息查询CA公钥证书,并使用公钥证书进行签名验证,以判断是哪个机构的节点发起的连接,是否允许继续通信。
证书管理服务会定期检测机构的证书状态,判定证书是否有效,如是否过期、被吊销等。如证书已经失效,则该机构的节点再尝试连接到网络时会被拒绝。
3.2 节点管理
节点指安装了区块链软件的物理服务器或虚拟服务器,这些服务器可连接到联盟链网络,具有可访问的IP地址、能对外提供服务。
从数据和共识参与程度来看,部分或全部节点可以设置为共识节点,参与共识算法,成为链上的记账者;不参与共识,只同步数据的节点称为观察节点。
节点的配置管理包括两个维度:全网配置管理及节点本地配置管理。
全网配置将参与网络的所有节点信息写入到链上共同维护的全局配置,在此配置里的节点才能被链上其他节点接受,不存在该配置里的节点或配置有误的节点,又或节点的CA证书已经过期,都会被拒绝连接,如此实现了联盟链节点的准入机制。全网维护的全量节点信息包含了节点的IP地址、端口等,也可用于节点之间的通信寻址。
本地配置是全网配置的一个子集,在本地配置文件里实现,支持黑白名单逻辑。
白名单用于解决节点快速发现的问题,白名单里的节点信息应被事先鉴定为权威的,可信的。做为一个新接入的节点,可以根据节点白名单,连接到已经被认为是可信的其他节点,进行数据同步,获取区块数据,全网配置等。当同步成功后,新接入的节点也拥有了和全网一致的全网配置,可以根据全网配置进行完整的连接控制,如包括CA认证等。
黑名单用于节点的自我保护,如出于安全、服务容量、网络可达性等原因,不能连接到某个其他节点,或者明确的不接受某个其他节点对自己的连接,则可以将该节点加入自己的黑名单配置,则这个节点对自己的连接将会被拒绝,自己也不会去连接这个节点,实现了通信层面的隔离。
本地配置只对拥有该配置的节点生效,不影响全网配置,可以是暂时性或永久性的,运维人员可根据节点的具体情况进行精细化控制,给节点的管理增加了更细粒度的控制能力。
3.3 共识机制
共识机制不但是计算机之间的算法和数据共识,也是合作伙伴之间进行协作的共识,共识机制使区块链的参与者通过约定的方式进行共同记账,确保合作者之间的记账正确性、一致性、持续性,避免少数出现故障的节点影响网络运行,并防御少数故意作恶者的破坏。
公有链如比特币、以太坊等使用的共识算法通常为工作量证明或权益证明等,可以根据投入权益和记账的行为,对记账者制定奖励和惩罚制度。公有链上的共识算法一般确认时间较长,或需要较多的算力投入。
联盟链共识机制的设计目标和公有链有所不同,BCOS平台不会根据记账的计算量对记账者进行经济奖励,而是鼓励参与者在共同维护联盟链、促进生态系统发展、推进商业合作的过程中获得价值或收益。在此过程中产生的纠纷或非法行为,将采用监管审计和法律仲裁结合的方式解决。BCOS平台共识机制的实现符合联盟链场景需求,可避免算力浪费、防分叉和提升运行稳定性。
BCOS平台采用高效的PBFT、RAFT共识算法,采用插件化设计实现,通过修改系统配置,即可以在一个联盟链里使用不同的共识机制,参与到这个联盟链的所有节点必须采用同一种共识配置。
BCOS平台所使用的PBFT共识算法的特性包括:
共识节点轮流出块,具有同等的记账权,体现了参与者的对等性,且防止个别记账者作恶;
秒级出块,可配置为1秒到几秒出块,满足交易短时间内响应的需求;
支持1/3容错,整个系统中少于等于1/3数量的节点出现故障或作恶,均不影响共识进行;
在区块同步的过程中严格校验签名,保证数据的安全性。
PBFT共识具有高一致性、高可用性,抗欺诈能力较强,是联盟链里较为实用的一种共识算法,经过流程优化,也具有较高的效率。
BCOS平台所使用的RAFT共识算法特性包括:
共识节点达到出块条件,即把当前块作为候选区块发起选举,所有共识节点具有同等选票权重,体现了参与者的对等性;
候选区块超过半数赞成票才提交到区块链中,保证高一致性;
如果超时没有收集超过半数的回复票,则重新发起选举,保证系统的容错恢复能力;
秒级出块,可以配置为1秒或多秒出块;
支持1/2节点容错,整个系统中少于1/2数量的节点出现故障,均不影响共识进行;
在选举过程和区块同步过程中严格校验签名,保证数据的安全性。
RAFT共识具有较高的效率、高一致性和高可用性。与PBFT共识的拜占庭容错特性对比,RAFT共识并不严格保证抗欺诈性,适用于互信程度较高的联盟链。
联盟链的共识算法在节点总数不多、网络规模不太大时,可以提供较高的交易并发处理能力。但随着节点数量增多,比如达到几百个共识节点的规模时,由于需要共识节点之间交换较多的信息,会出现明显的性能下降。所以在联盟链中一般会通过协商,在保证公平公开的前提下,控制参与者共识的节点数量,以保证共识算法的效率。
BCOS平台的共识算法根据联盟链要求的身份对等性、交易响应时间、并发能力、以及服务器计算能力和网络带宽等进行深入优化,可提高计算效率,减少重复工作,降低带宽消耗。在保证高并发的同时,可保证交易在短时间内能得到确认,且一旦确认后,在联盟链里即达成共识且不可篡改。
3.4 隐私保护
个人用户的KYC数据与机构用户的交易数据,都牵涉到隐私问题。目前对隐私保护的研究方向,包括使用密码学算法保护数据、在体系架构上引入可信第三方、以及按交易牵涉范围进行隔离等。
在密码学方面,零知识证明、同态加密等算法的研究进展给予隐私保护极大的想象空间,目前零知识证明和多操作的同态加密算法在实现上还存在数据量太大和计算速度较慢的问题,在其性能、可用性达到一定的要求后,可以在业务场景里进行探索性使用,如支持单一的加法或者乘法操作的同态算法在理论和工程上都已完备,可以针对部分场景使用。
在一些强监管或高安全要求的业务场景中,可以引进官方或权威的中央对手方提供信用背书,交易参与方的交易数据明细对中央对手方为全部可见,但对不相关的参与方为不可见,中央对手方负责对交易进行验证并提供面向全联盟链的可信证据。在这种业务场景里,通过物理隔离与通信层的逻辑通道设计,交易明细仅发送给交易牵涉的节点以及中央对手方,从基础层面防止了隐私数据的扩散。
BCOS平台出于对当前隐私控制需求的理解,以及从目前各种技术方案的发展现状出发,建议从以下方面实现隐私控制:
对数据的安全和敏感级别进行甄别,部分和交易以及账本无强相关,又具有高敏感性的数据,应脱敏后再发到区块链上或不发送到区块链上,如和某个机构签约的个人KYC数据,在未得到用户授权之前不应共享牵涉个人隐私的数据。数据脱敏从源头杜绝了隐私泄漏的可能性;
提供机构和机构之间点对点通信方式,数据通信仅发生在相关的机构之间,当机构之间针对交易数据完成校验和协商之后,仅把需要对全网确认共识的数据发送到联盟链上进行共享;
数据明细在链下保存,链上提供共识过的数据摘要、数据有效性证明、对数据的寻址方法、数据访问授权约定等,供机构之间在必要时通过数据下载协议获取可信的数据。分布式文件服务和存证类业务可以考虑采用类似方式,在链下保存图片、视频、其他类型的大文件,并将其摘要发送到链上获得有效性证明,这种方式可以同时解决数据容量和敏感性的问题。
数据可以对全联盟链进行广播,但采用高强度的加密数据信封方式进行保护,仅在交易参与方以及中央对手方、监管方之间共享数据,但未参与的的机构收到的是密文,且不能解密这份数据。
在部分只涉及到数据数值加减的场景,可采用加法同态加密算法,实现对数据的隐私保护,同时不会对性能有大的影响。
在部分能承受一定效率损耗, 并且涉及到复杂数据操作的交易场景,采用零知识证明,多操作同态加密等算法,用密码学方式实现隐私保护。
3.5 监管和审计
3.5.1 监管
随着区块链技术和业务形态探索的发展,需要在区块链技术平台上提供支持监管的功能,避免区块链系统游离于法律法规以及行业规则之外,成为洗钱、非法融资或犯罪交易的载体。
BCOS平台一方面提供可监管的数据接口,另一方面可支持监管部门作为特殊节点接入,可即时同步数据,并对数据完整性、有效性、过程和流程的合规性进行即时的监控,从而可对异常或违规行为及时处理或给予指导意见。各个参与方在加入时都需要经过准入流程提交真实资料,通过审核后才能加入。其真实身份和所用的操作帐号绑定并通过全链共识,在交易过程中,交易数据、共识过程也会附带自己的公钥和签名,通过签名数据验证,可以确定交易参与者的真实身份,参与者在链上的行为都会被记录且不可抵赖。
监管角色不同于开发者、交易管理员、联盟链运营者、运维者等,监管方可以拥有以上角色的权限的一部分或全部,也可以针对特定的业务场景,制定特定的权限集合。
例如,在一些特殊的强监管场景中,BCOS平台可支持监管方作为所有规则的制定者和实施者,通过参与准入审核,智能合约编写、部署和升级,以及事前中后的检测和干预对业务实施监管。其他参与者使用联盟链进行点对点的交易时,交易行为和规则都在受控范围内。
在另一些中度监管的场景中,BCOS平台可支持监管方选择性地参与到交易过程,如设计这样的一个智能合约:在合约执行前或者生效前,由监管方检查合约的规则、数据,必须符合监管要求,才给出签名背书。具有监管方签名且得到全链共识的交易才能生效。区块链上可永久保存与服务、资源、性能相关的数据和证据,监管方能在事后通过区块链数据同步的特性,审计所有的数据,进行业务合规检查、反洗钱等操作。BCOS平台预置了控制交易和部署合约的权限和接口,通过监管工具、角色赋权等方案,让监管方可以直接实施联盟链的控制。
3.5.2 审计
审计功能主要用于满足区块链系统的审计内控、责任鉴定和事件追溯等要求,需要以有效的技术手段,配合业务所属的行业标准进行精确的审计管理。
BCOS平台在技术上允许审计者加入区块链系统作为其中一个节点进行实时监控与审计。区块链账本可永久保存与审计活动相关的数据和证据,包括协议所有参与方的活动、运营环境条件的记录和日志、审计员的审计查看动作记录等。建议在BCOS平台之外,仍需建立完善健全的审计制度。做到事后审计与事前、事中审计的有机结合,建立包含查处违规违纪审计、内控制度审计、绩效审计等维度的内审指标体系。
简而言之,结合区块链数据不可篡改、交易不可抵赖的技术特性,以及准入标准、智能合约、权限体系、监管和审计制度,可以实现对BCOS平台的有效监管和审计,保障业务运作的安全合规。
4 区块链治理过程
对具体的区块链事务流程,需要设计一系列的交付目标、相应的控制程序、以及评价执行效果的监控程序。
4.1 交付和支持
使用BCOS平台构建应用的工作主要包括搭建联盟链、编写合约、开发客户端应用、以及运营管理和升级维护。 获得BCOS平台开源代码的用户可以对代码进行编译,输出二进制进程文件,部署到用户自己的服务器上,根据使用手册一步步地进行配置,组成独立的联盟链或加入已有的联盟链。
组链成功并运行之后,联盟链的管理运营工作应由参与到的全体机构共同进行,或者选举一个平台运营方来执行运营管理工作,如审批加入机构,分配交易帐号和设定权限,制定并执行业务管理规则,对运营情况进行统计分析等。
日常的支持工作应由运维人员负责,包括联盟链的参数配置,软件升级等。BCOS平台软件升级原则上保证向下兼容,原链上数据不会因升级而失效,且支持全网灰度升级,不要求所有节点同时升级或停机升级,可以按节点一一替换,运行新版本软件的节点和运行旧版本软件的节点可协同工作,直到旧版本被完全替换。
智能合约的设计应由参与到联盟链的多家机构,包括制定业务逻辑和监管规则的机构一起共同设计,给出全体达成一致的业务流程和约束条件说明,形成明确的智能合约需求。
开发人员根据需求,进行智能合约代码的编写、编译、单元测试。合约的开发可由多方协作进行,也可由联盟链的参与者共同委托一方或第三方开发,合约的代码需要在联盟链参与方之间开源。
测试人员对合约进行严格的功能和性能测试,测试结果公示给各参与方。
在合约通过测试并征得参与方一致同意之后,执行发布流程,发布到链上,经过共识机制确认,合约生效并被后续的交易调用。
BCOS平台上,合约可以升级,并通过灰度升级机制保证业务的安全升级,控制升级中可能出现故障时的影响面。新合约发布到链上后,可以通过灰度方式进行验证和逐步放量,如先使用测试数据进行验证,或将业务交易的流量按用户、商家、交易类型等维度分组,把交易逐步从旧合约切换到新合约上执行,待新合约逻辑验证通过,再全量切换到新合约,否则回退到上个版本的合约继续运行。
最后,BCOS平台提供了友好的SDK,在SDK基础上开发面向最终用户的、界面友好的、可交互的、功能丰富的客户端程序,以HTML/HTML5、PC或手机终端软件等多种形式呈现,在客户端上可以保存链上部分或全部的数据,也可以作为轻客户端访问链上节点。其中,轻客户端的安全策略与节点类似,将设置准入控制、身份认证及权限管理等。
4.2 运维和监控
区块链系统从构建和运行逻辑上都具有较高一致性,不同节点的软硬件系统基本一致。其标准化特性给运维人员带来了便利,可使用通用的工具、运维策略和运维流程等对区块链系统进行构建、部署、配置、故障处理,从而降低运维成本以及提升效率。
运维人员对联盟链的操作会被权限系统控制,运维人员有修改系统配置、启停进程、查看运行日志、排查故障等权限,但不参与到业务交易中,也不能直接查看具有较高安全隐私等级的用户数据,交易数据。
系统运行过程中,可通过监控系统对各种运行指标进行监控,对系统的健康程度进行评估,当出现故障时发出告警通知,便于运维快速反应,进行处理。
监控的维度包括基础环境监控,如CPU占比、系统内存占比和增长、磁盘IO情况、网络连接数和流量等。
区块链系统监控包括如区块高度、交易量和虚拟机计算量,共识节点出块投票情况等。
接口监控包括如接口调用计数、接口调用耗时情况、接口调用成功率等。
监控数据可以通过日志或网络接口进行输出,便于和机构的现有的监控系统进行对接,复用机构的监控能力和既有的运维流程。运维人员收到告警后,采用联盟链提供的运维工具,查看系统信息、修改配置、启停进程、处理故障等。
发布关注我们投稿
官方微信扫一扫关注 区块网官方微信微信kaole123456
最新数字货币
扫一扫关注我们
郑重声明:本站主要用于区块链行业信息的传播,我们将尊重作者/译者/网站的版权,促进行业健康发展,部分信息均搜集转载自互联网 版权归原作者所有 如作者信息标记有误 请第一时间联系我们修改或删除 谢谢!QQ群: @.cn 区块网 闽ICP备号-5

我要回帖

更多关于 需求复杂度 的文章

 

随机推荐