钟波涛,焦 丽,杨鲁涵,盛 达
(华中科技大学 土木与水利工程学院,湖北 武汉 430074)
绩效管理是一种系统地以数据为导向管理员工的方法,绩效信息的记录和收集是绩效管理的一项基础工作。对于建筑企业,工人绩效信息是进行专业绩效管理的重要参考依据。2020年,我国住建部出台《关于加快培育新时期建筑产业工人队伍的指导意见》,提出要通过顶层设计完成建筑行业工人的产业化转型,对建筑工人进行企业化、专业化的管理[1]。在培育现代建筑产业工人中,对工人绩效进行有效评价,并基于绩效信息进行相应的薪资管理,是产业工人所具有的一个重要特征。对所有参与工程的建筑工人绩效信息进行统一管理,是辅助建筑行业优化人力资源配置、提高用工素质的重要手段之一,有利于规范建筑工人的作业行为,不断提高工人作业标准,为创建高素质高技能的建筑产业工人队伍提供支持。
目前,我国在建筑工人信息管理方面主要通过工人实名制系统来实现。针对所有建筑工地上的工人,由专人通过人工采集将包含工人作业信息在内的一些实名制信息(如名字、考勤记录、银行卡号、工资等)录入指定系统[2]。然而,在信息管理过程中存在信息真实性存疑、工人无法查看、信息监管难、数据流通性差等问题。特别是在工人绩效管理方面,一方面企业面向建筑产业工人的绩效管理缺乏系统性,绩效考核方法和指标缺乏适用性;另一方面由于工人流转于不同项目,项目间缺乏信息共享渠道,不同项目的作业信息易丢失,导致工人工作记录不连续,绩效信息的缺失导致我国建筑劳动力资源利用率低等问题。
绩效信息是反映工人绩效评估结果和工人表现综合水平的重要参考,也是建筑产业工人的重要标识之一,因此需要对其进行全面、高效、准确、透明的信息化管理,缓解绩效信息孤岛化问题,保障绩效信息共享途径的畅通有效性。具有去中心化、匿名性、防伪可溯源、公开透明特性的区块链技术契合绩效信息管理所需求的关键点,如图1所示。
图1 区块链与工人绩效信息管理结合可行性
区块链技术是一项新兴的信息管理技术。2019年,我国指出要把区块链作为核心技术自主创新重要突破口,加快推动区块链技术和产业创新发展。通过区块链技术能够满足绩效信息记录所需的成员隐私保护,数据公开透明,促进信息流通共享,使绩效信息管理更加完善,绩效信息化建设能力不断增强。本文充分探讨了区块链与建筑工人绩效信息管理相结合的可能性,并提出了基于区块链的建筑产业工人绩效信息共享方案,以形成安全、可信、透明的信息共享环境。
区块链技术具有去中心化、去信任化、集体维护、时序数据、可编程和不可篡改等特征[3]。区块链实际上是一系列技术的集成运用,包括分布式网络、加密技术、共识算法、智能合约等等,从而将众多散乱的数据以时间发展顺序排列组合形成链状形态,供用户进行信息存储和追溯,并用其特有的方式维护数据库的可靠性。
通过研究和实践,区块链在应用中的主要价值可概括为数据共享、社区共治、记录溯源和信息安全[4]。
(1)数据共享:指在分布式网络中,每个节点都存储有所有运行数据记录的拷贝。区块链上的信息在各主体间共享,各主体可共同进行信息认证。
(2)社区共治:指在区块链上,无任何节点可具有绝对的权力。这促使多边主导格局成为可能,实现主体间的相互监督与权力制衡。
(3)记录溯源:指区块链中的每个区块都与上一个区块相联系。区块链的可追溯性能实现数据的快速检索和错误的快速定位。
(4)信息安全:指在分布式账本中,攻击者除非篡改多数节点的数据才可实现攻击。该特性可避免中心机构作恶,减少账本遭受外部攻击造成损失的可能。
在建筑工人绩效信息共享方面,区块链技术主要有以下优势:
(1)共享安全可靠。区块链的分布式网络使得网内节点共享资源容易,网中无中心节点,故障容错率较好,可靠性较高。同时,区块链中包含多种加密技术,安全性高。区块链中的联盟链具有授权机制,仅允许授权节点加入网络,可设置特定权限,如对工人仅授权查询,使工人能查阅个人信息,但无权篡改绩效数据,提高信息共享的灵活可靠性。
(2)共享信息真实性。当涉及到的工人过多,绩效信息过杂,工人信息录入的验证过程会被简化忽视,存在错录漏录的风险,此外在信息流转的过程存在被修改的风险。区块链所具备的对等网络、公开透明、不可篡改、去信任化特性为上述问题提供了解决方案,区块链可以通过分布式共识技术保障信息真实性,为所有节点提供公开透明的信息管理平台。
(3)共享信息可追溯性。建筑工人的绩效信息随着其参与工程的次数增加而不断累积。区块链通过其特定的区块数据结构形式将信息存储在链上并加盖时间戳,使得所有信息都有迹可循,能够为企业和工人提供可靠的信息来源,确保对于工人不同项目中的绩效都能进行信息追溯。
基于国内外对建筑产业工人绩效信息内涵的相关研究,建立统一的绩效信息标准,并随后探讨了绩效信息如何通过区块链技术实现在建筑企业间的共享思路及具体业务模型。
在国内外相关研究中,已有一些学者对绩效内涵进行了研究。Tumla使用了16个绩效评估因子来为建筑工人开发基于绩效的奖励模型,包括了出勤率、里程碑节点、安全性、质量、守时和团队合作等指标[5]。Siriwardana和Ruwanpura在研究中根据现场观察,访谈和对当前建筑工人绩效评估系统的检查,确定了最初的因素清单,并开发了工人绩效指数(WPI)以提高建筑工人生产率[6];张磊则从任务绩效、关系绩效、以及行为绩效等3个层面考察工人的素质和水平[7];陈敏等人基于胜任力模型提出了针对建筑工人的考核体系,包括知识、技巧、态度、潜力、活力等5个考核维度以及18个评价指标[8]。此外,还有部分文章将个别指标单独进行讨论,如安全绩效[9]、质量绩效[10]等。
区别于传统建筑工人,建筑产业工人绩效考核体系将更为规范和全面。考虑到建筑产业工人的绩效目标与产业工人队伍培养目标和工程项目目标的一致性,本文将建筑产业工人绩效划分为“质量、安全、进度、关系”等四个维度,具体分类如表1所示。
表1 建筑工人绩效考核指标
建筑工人的绩效表现将由上述指标构成,并由工人所在项目的建筑企业负责将对应数据记录。在此基础上,进一步通过区块链技术实现建筑企业间的绩效信息共享。
随着工人队伍壮大和产业升级转型,工人绩效信息也需要建立数据库来进行平台化管理。基于区块链的管理方案可用于实现工人绩效信息录入、查询和共享,可将工人历史的作业绩效表现通过标准化的形式集成,减少因信息孤岛带来的风险,帮助建筑企业更好更快地管理工人,实现了管理内容和管理程序上的优化,加强了建筑业主体的融合。
建筑企业是建筑工人绩效信息的主要使用者,工人参与验证与信息查询,以监管组织为代表的第三方机构需要有权限查阅信息,故搭建一条以建筑企业为主要成员,允许建筑工人和第三方机构加入的行业联盟链,如图2所示。
图2 基于区块链的绩效共享业务模型
其中,建筑企业作为建筑工人雇主,负责组织工人绩效信息录入,同时也存在查询绩效信息需求,因此建筑企业在区块链搭建之初就加入,且在过程中对所在项目的工人相关绩效信息进行管理;工人是绩效管理的对象,在工地系统中进行信息的录入,每个工人在注册后得到一个专属的身份id,并在后续绩效评价过程中以此作为其身份的专属代表,随后工人可以在区块链中通过客户端查看自己绩效信息;第三方需求机构主要是指需要了解工人、监管行业的其他机构等,在区块链运行过程中可以通过查询请求获得信息,并在区块链中起到共同维护和监管作用。
该方案具体涉及以下几类业务模型:
(1)绩效信息上链
区块链中,信息以交易形式被记录和保存。由质检员、施工员、安全员、班组长等对质量、进度、安全、关系四项绩效指标进行评价,整合数据并上传。随后,每一条绩效信息被打包为区块后将分为区块头和区块体两部分。其中区块头是区块的标志,包括时间戳、当前区块体哈希值、上一区块哈希值、随机数、签名等;区块体包括所有的交易哈希值,即建筑工人绩效信息的集合,见表2。
表2 绩效信息区块组成
绩效信息上链是利用区块链的分布式架构实现绩效信息可靠录入的过程,主要通过区块链的共识机制来保障。考虑到绩效信息数据量大,先存储至可用性和拓展性较强的云服务器,后由质检员、安全员、施工员、班组长等多个节点验证上链。通过区块链封装的共识算法,多节点在达成共识后,绩效信息方可被打包成区块。通过项目周期内对工人绩效信息的不断更新、累积,将所有参与项目的建筑产业工人的绩效信息通过区块的形式存储到分布式账本中;并且在共识机制的保障下,所有信息录入的过程将受到其他节点的监督,从而保证了信息录入的真实可靠性。具体流程如图3所示。
图3 数据通过共识机制上链
(2)自动化绩效考核
绩效指标录入后,可通过区块链提供的智能合约模块对该部分数据进行处理,形成自动化的绩效考核结果,为建筑企业提供发放薪资、奖金的参考。根据项目具体要求,确定绩效考核标准,并将标准细化为可执行的规则,编码形成智能合约,输入工人绩效数据,即可实现自动化考核,具体思路如图4所示。
图4 工人绩效自动化考核流程
在工人进场、签订用工合同时,主管项目的建筑企业与工人约定关于进度、安全、质量等工作标准,并最终分解到每个工人需要达到的相关标准,以此作为智能合约的判断值。按照规定逻辑,针对不同工种、不同项目阶段,数据的考核标准可通过链码编写进行设定。包含绩效数据录入交易的区块形成后,可以通过触发智能合约将对工人的作业数据进行综合评价,生成综合绩效考核结果。具体来说,通过提取其中的各部分数据,执行预设的考核逻辑,得到工人的绩效评价等级,同样再通过上述的共识流程一并写入区块中,按照此类顺序,绩效结果也被保存在区块链上。通过以上步骤,便实现了去中心化的绩效数据录入和数据考核,最终,在项目区块链运营过程中,所有参与项目施工的工人作业绩效数据便可以不断的累积,形成一条公平公开、不可篡改、可追溯的工人绩效数据区块链。
(3)绩效信息查询
绩效信息查询是实现绩效信息共享的关键。所有用户通过分布式对等网络加入并成为联盟链中的网络节点,节点权限和地位是平等的,共同管理链上关于建筑产业工人的绩效信息数据库。由于工人绩效信息涉及到企业和工人的隐私,为了防止部分区块链用户对于工人信息的滥用或者泄漏,本方案通过特定的绩效信息查询业务流程来进行保障。
随着企业的加入和项目的推进,绩效信息将不断积累,最终需要一个专门的绩效数据库来管理。为了保障信息安全,采用代理重新加密(PRE)策略来实现信息的安全高效处理[11]。代理重加密的作用在于,数据所有者首先利用云服务器进行数据加密存储并设计了访问的路径,在数据请求者对数据进行访问时,生成重加密密钥(RKo←s)进行二次加密,使得信息明文只有通过一次性生成的重加密密钥才得以被解密查看,从而防范信息在云端被泄漏的风险。
为了更好阐述该流程,定义相关符号见表3。
表3 符号定义及含义
具体查询过程如图5所示。
图5 查询绩效信息过程
(1)发送数据共享请求:数据请求方发送数据查询请求,请求内容包括用户身份IDR、密钥SKR,以及请求内容。
(2)一旦数据所有者接收到该数据查询请求,验证请求方满足查询要求,并验证其信任记录,数据所有者可以授予请求者对该信息的访问权限。若请求超过了设定期限未被认可,将会被撤销。数据所有者可以通过生成重加密密钥RKR←O将数据许可权授予请求者,然后向CSP发送密钥对以生成重加密密钥RKR←O重新加密对应密文。
(3)当数据请求者获得授权后,可以利用数据索引在云服务器上下载对应数据密文,并用特定密钥进行二次解密,实现查询过程;同时,在共享区块链中,将该查询记录更新到账本中。
在前述方案的基础上,初步搭建了共享区块链的原型系统框架,重点展示搭建共享区块链的基本过程、编写智能合约的案例及设计原型系统功能界面,为后续方案的实际应用提供参考。
工人绩效信息具有隐私性,不便直接面向社会公开,选用允许授权的超级账本联盟链架构搭建该区块链。超级账本的优势如下:
(1)超级账本是一个开源项目,适合用于企业级的联盟链开发。
(2)超级账本的联盟链提出了组织和通道的概念,可通过内部证书机构,根据需求给不同的节点分配不同的权限,在不同的通道中实现不同劳务单位之间信息的分类管理,贴合绩效管理的多用户分类管理特点。
(3)超级账本中可自由编写的智能合约又称链码,运行在通道上,在实现不同功能业务的同时保证了数据的隔离。
本文对应部署的环境为 macOS 11.2.2,处理器为2.3 GHz 四核Intel Core i5,内存为8 GB。随后依次安装docker和docker compose,Go,Node.js,并部署fabric 2.3.1版本。
选择开发框架之后,构建超级账本网络,设置CA(Certificate Authority),并使用CA创建标识和MSP(Membership Service Provider),部署节点,创建对应的组织和通道。在Fabric网络中,包括以下几类节点:主节点负责对所有证书进行管理,赋予其他节点权限,对交易进行打包;副本节点的主要作用是参与生成区块链和共享区块链的共识过程,确保信息录入的合理性;排序节点对交易进行排序和打包;提交节点负责将完成共识后的交易广播到区块链网络中。根据需求,所有的建筑企业、机构均以副本节点加入,成为区块链中的副本节点,参与区块链的信息录入和共识环节,而建筑工人将以轻节点的方式加入,可以对信息进行简单的认证和查询。
方案中提到的区块链主要业务功能包括数据库维护、信息录入、自动化考核业务等,都需要通过编写智能合约链码来完成。根据超级账本的开发要求,选取Go语言作为工具,阐述自动化绩效考核的具体编写过程。
考虑到采集到的数据包含多种类型的指标和属性,首先在智能合约中定义WorkerData数据结构体,包括工人身份(id)、项目名称(proj)、工作种类(categ)、录入来源(sour)、工作时间(time)、质量指标(qual)、进度(sche)、安全指标(safe)、关系指标(rela)等属性。其中,前五项是工人的基本信息。每个工人都会有属于自己的身份id,后续工人和企业也可以根据该项特征值进行信息查询;项目名称(proj)和工作种类(categ)录入后,可以据此对工人从事的工作范围进行大致的判定;录入来源(sourc)定义了数据的录入人员,该项如果为空或者由不具有权限的人员录入则数据无效;工作时间(time)中则记录了数据录入的时间。随后根据规范要求,进一步定义考核规则,编写工人绩效自动考核链码。
完成规则编写后,在主函数中先分别通过init( )方法实现链码实例化。随后,针对所需要的业务,使用Invoke( )方法提供函数调用入口。在绩效考核业务中,添加工人数据、绩效数据评价和查询数据等函数(图6)。
图6 绩效考核合约主函数调用代码
执行调用绩效考核链码后,便可对区块内记录的工人绩效指标进行读取并执行绩效考核,判断其质量、进度、安全、关系维度的绩效等级,确定工人综合绩效等级。各项流程执行完毕后,工人绩效评价结果便会上传至区块链。
为满足用户业务管理需求,区块链原型系统的主要功能分为以下三个模块:
(1)系统管理模块:主要功能是实现成员账户注册、成员权限管理和成员信息修改。信息界面如图7所示。
图7 系统用户管理界面
1)注册功能:该模块面向的是建筑企业用户,用户通过提交企业名称、区块链地址、联系方式等,通过相关资质认证后可以注册获得账号,区块链也会为企业生成一个对应的数字证书和密钥对,使其成为区块链中的一个普通节点。此外,企业可以通过申请获得云服务器上的对应账号和下载权限。
2)权限管理:建筑企业可以根据企业资质申请相关权限。例如,具有总承包资质的单位可以上传相关证明申请建筑工人绩效信息录入权限,如若审核通过,由内置的系统管理员给企业相关属性赋值,企业便可以获得信息录入权限,在系统上传项目工人绩效信息。
3)成员信息修改:在注册账户后,企业可以对名称、经营资质、所在项目等信息进行修改和更新,保证信息的实时有效性。
(2)信息录入模块:该模块面向所有申请并获得录入权限的建筑企业。企业在该模块可以将在绩效考核链上生成的绩效信息账本以标准化的格式上传。具体的交易过程如图8所示。建筑工人绩效信息账本中包括了工人的基本信息、质量绩效、进度绩效、安全绩效、关系绩效等。企业通过导出账本信息后在系统中录入,由区块链中其他有共识节点对其进行验证,验证合格后账本信息被成功上传到系统关联的云服务器上,并返回对应的索引、存储地址、信息摘要和访问策略等信息,该部分信息被提交并保存到区块链中,形成新的区块。当交易完成后,便可更新绩效信息账本状态。
图8 绩效账本导出界面设计
(3)信息查询模块:该模块包括了请求、查询、验证等功能,如图9所示。用户在注册账号后即获得对应的身份证书,成为共享联盟链中的节点,并拥有查询权限。若企业需要访问特定数据,则可以通过系统客户端提出申请,即向区块链网络发出查询请求,请求内容包括对应索引或关键词。数据所有者收到该请求后判断查询用户的请求是否合理。若合理则在系统中进行确认,并由其他网络节点进行共识过程,验证完成后系统向该用户返回密钥和下载地址,以此从云服务器中下载对应地址的绩效信息并进行解密。
图9 绩效信息查询界面
建筑工人产业化是新时代建筑业发展的必然要求。本文以推动建筑产业工人绩效信息共享为出发点,提出了基于区块链的建筑产业工人绩效信息共享方案。具体地,通过分布式共识对绩效信息上传过程进行监督,避免人为因素的干扰,保证绩效信息的真实客观性,为建筑企业提供了可靠的共享信息来源;通过智能合约设计,保证工人绩效得到自动化地处理和维护;通过将工人绩效信息存储在云服务器和区块链上,并采用代理重加密的访问策略,防止信息被恶意泄漏或者集中丢失,从而为建筑企业提供安全的信息查询和追溯;最后展示了信息共享原型系统框架的搭建过程。
该共享方案为其提供了一个信息共享的有效手段,保障了信息的真实有效和可追溯可查询。然而,本方案在实际推行过程中也存在一定局限:一方面,建筑工人绩效信息目前仍然没有统一的标准,未来还需要通过行业努力制定具有公信力的规范;另一方面,区块链的搭建需要大量人力物力,参与各方需要具备一定信息技术水平和运营维护区块链系统的实力,因此对参与的建筑企业有较高的要求。