基于区块链的负荷聚合商及居民用户多方共治交易模式
2024-01-19张靖琛江全元耿光超马骏超王晨旭
张靖琛,江全元,耿光超,马骏超,王晨旭
(1.浙江大学电气工程学院,浙江省杭州市 310027;2.国网浙江省电力有限公司电力科学研究院,浙江省杭州市 310014)
0 引言
负荷聚合商聚合居民用户参与需求响应是唤醒海量需求侧沉睡资源的重要手段。目前,国内外关于负荷聚合商的研究已有诸多成果。文献[1]利用约束供给函数模型研究多聚合商竞价问题,并提出分配与支付机制。文献[2]分析了日前和日内市场多种投标和调控策略对聚合商盈利能力的影响。文献[3]从消费者效用角度研究需求响应对电力市场的影响,基于博弈论提出需求响应总体市场模式和交易框架。文献[4]基于非合作博弈理论提出负荷聚合商日前投标策略和日内实时调度策略。
以上文献主要利用博弈论对市场主体决策及收益进行分析,为聚合商投标以及市场机制设计提供依据。但在聚合响应的场景中,居民用户往往不具有话语权和选择权,由此产生信息不透明、第三方权力过大等信任问题;同时,居民用户之间因为信息获取能力差、负荷实时控制能力弱以及市场中存在的交易信息不对称、不透明等问题,会导致以信息共享为基础的多主体博弈无法完成。此外,实现对市场主体的监管、隐私保护和非可信环境下信息安全交互是市场交易机制及聚合商运营模式能高效运行的关键因素。然而,中心化的管理模式难以支撑以上需求,区块链技术由于具有去中心化以及数据不可篡改的特性可以为负荷聚合商聚合居民用户参与需求响应赋能。其中,共识机制为非可信环境下分布式决策提供可信通道,智能合约共治特性可以降本增效[5]。去中心化网络可在一定程度上削减负荷聚合商中心化权力,有利于优化交易过程、解决主体间信任问题。
区块链在需求响应的应用研究方面,文献[6]提出基于区块链技术的面向居民用户的需求响应交易机制,但未考虑如何确保第三方服务高效可靠。文献[7]中设计了基于区块链的中小型电力用户自动需求响应系统,但未考虑居民理性程度对系统运行的影响。文献[8]中提出了基于区块链的电力需求响应交易机制,但未研究多主体博弈的复杂场景。此外,还有关于区块链在需求响应中的安全信息交互[9]、信用评价[10]、交易效率及可信度提升[11-14]、用电权拍卖[15]等领域的智能合约算法及区块结构设计研究,但未对支撑负荷聚合商和居民用户多方共治交易模式的区块链激励机制及智能合约算法进行研究。
区块链分为公有链、私有链、联盟链,激励层是区块链分层架构中的重要组成部分[16],公有链去中心化程度最高,节点准入要求最低,但缺少节点身份验证环节,不利于监管,且易产生分叉,不利于保持数据一致性[17-18]。私有链数据验证效率高,但去中心化程度较低,只由极少数节点拥有记账权,不适用于负荷聚合商及居民用户多主体共治的应用场景。联盟链在去中心化程度、数据吞吐量以及系统可扩展性之间实现均衡,利用公钥基础设施(public key infrastructure,PKI)进行节点身份验证,不易产生分叉[19],更适合于本文研究场景。虽然联盟链具有效率高且可扩展性强的优势,但仍需建立良好的利益分配机制才能吸引市场主体加入[20]。因此,设计联盟链激励机制是实现多方共治交易模式的关键。
为赋予居民用户决策权和话语权,确保第三方聚合服务高效可信,本文提出基于区块链的负荷聚合商及居民用户多方共治交易模式,建立居民用户及负荷聚合商区块链节点模型、决策模型以及节点配置方法;结合负荷聚合商之间非合作博弈过程、居民用户之间演化博弈过程,以及负荷聚合商与居民用户之间主从博弈过程设计激励机制,利用联盟链平台Hyperchain 进行智能合约的编写及部署;同时,提出响应标识因数和激励理性系数对多方共治交易模式进行综合评估,并设计区块数据结构实现运营结果永久化存储。
1 负荷聚合商及居民用户多方共治交易模式中的区块链节点模型
本文基于区块链技术构建负荷聚合商及居民用户多方共治交易模式。负荷聚合商为推出多方共治交易模式的第三方代理机构,负责整合不受电网直接调度的居民用户。居民用户为联盟链节点,节点包含负责参与激励层多方博弈过程的智能体以及多类柔性负荷。在多方共治交易模式中,区域调控中心作为监管节点执行监管职责,负荷聚合商负责推出该模式并吸引居民用户节点加入,联盟链中所有相关利益主体监督并共享关键信息,交易方案经过激励层中的多方主体间博弈得出,多方共治交易模式中各节点关系如图1 所示。其中,k和m分别为负荷聚合商节点数和居民用户节点数。
图1 多方共治交易模式各节点关系图Fig.1 Diagram of relationship between nodes in multiparty co-governance transaction mode
1.1 居民用户区块链节点模型
居民用户包含的用电设备间接影响整体去中心化水平、效益增长率、响应参与度等指标,且各居民用户在自身基本负荷需求、舒适度要求等方面存在差异。因此,有必要对居民用户节点进行建模。该决策模型可根据用户类型和舒适度要求进行调整,从而满足用户个性需求。
1.1.1 居民用户包含设备
本文将居民用户参与响应的负荷类型分为3 类:1)可转移可中断负荷,例如电动汽车(electric vehicle,EV);2)可转移不可中断负荷,例如洗衣机、洗碗机;3)不可转移可间歇性中断负荷,例如空调。
EV 假设采用恒功率充电方式,通过最大似然估计分别将车辆最后返回时刻和日行驶里程近似采用正态分布和对数正态分布表示[21]。洗衣机和洗碗机模型见文献[21]。定频空调等效热参数模型见文献[22]。为保证用户舒适度,设置TMIN和TMAX分别为室内温度下限和上限。
1.1.2 居民用户节点收益模型
1)补贴收益
居民用户获得响应补贴总额为:
2)用电成本
单日用户用电成本为:
式中:Ci,RU为第i个居民用户用电成本;为τ时段电价;、、、分别为τ时段第i个居民用户的EV、空调、洗碗机、洗衣机实际功率;NC为单日用电时段总数。
由于居民用户在面对复杂决策问题时更多凭借经验或本能进行决策,故居民用户决策具有随机性,将其决策概率表示为ξi,j(0 ≤ξi,j≤1),表示第i个用户决定参与第j个负荷聚合商的概率。
1.2 负荷聚合商区块链节点模型
负荷聚合商需综合考虑电网分时电价、各居民用户设备组成情况及运行约束等因素,确定向电网投标的各时段响应容量及补贴服务费率。负荷聚合商节点效用函数为:
式中:Mj,LA为第j个负荷聚合商总收益;Sj,LG为第j个负荷聚合商从电网获得的补贴总额;Cj,LR为第j个负荷聚合商向参与聚合的居民用户发放的补贴总额;为τ时段电网补贴单价;Δ为τ时段第j个负荷聚合商的响应容量;NR为参与聚合的居民用户总数。
基于负荷聚合商效用函数,本文定义负荷聚合商负荷服务费率为。为提升聚合响应共治程度,并在满足用户运行约束情况下使各方利益最大化,设计服务费率在一定范围内波动,根据各负荷聚合商与居民用户间主从博弈激励机制确定,通过智能合约自动计算,激励机制具体实现见2.1 节。负荷聚合商决策模型如下:
1.3 联盟链节点配置
多方共治交易模式市场主体包括调度中心、居民用户以及负荷聚合商。联盟链节点需按照PKI 进行配置,调控中心具有监管权力,拥有签发证书权限。由于负荷聚合商硬件条件(包括设备带宽、计算及存储能力等因素)优于居民用户,故将其作为共识节点(validate peer,VP),从而有利于提升系统性能。同时,监管机构拥有根证书,有权对作恶VP 节点进行隔离及处罚。居民用户作为非共识节点(non-validate peer,NVP)加入联盟,居民用户中部分硬件设备满足计算存储要求的节点也能申请成为VP 参与共识。Hyperchain 平台采用弹性共识机制,如冗余拜占庭容错(redundant Byzantine fault tolerance,RBFT),支持节点动态增删,保障系统可扩展性。
2 区块链多方共治交易模式设计
为赋予居民用户决策权和话语权,确保第三方聚合服务高效可信,本文设计了适用于多方共治交易模式的激励机制、智能合约算法及区块数据结构。
2.1 激励机制设计
2.1.1 居民用户间基于演化博弈的激励机制
本文基于演化博弈理论实现居民用户节点决策,设计考虑居民用户托管意愿的区块链演化博弈激励机制,各居民用户节点通过选择是否参与负荷聚合商聚合来提升自身收益。该激励机制以演化博弈复制动态为支撑,将参与聚合的决策权和话语权分散到各居民节点上,利用演化博弈均衡解为进化稳定策略的算法特性,居民在多次迭代中通过复制动态从博弈初始点逐渐向稳定均衡解迁移,迁移最终收敛于演化稳定策略(evolutionarily stable strategy,ESS),从而构成对居民的激励。与此同时,居民参与响应效果评估。可利用自身链账户调用智能合约上传博弈决策结果,由智能合约进行统一评估,居民用户的激励机制依赖于区块链数据公开透明的特征,利用智能合约确保规约强制执行,保证演化博弈顺利进行。
在具有多个负荷聚合商和多个居民用户的场景中,由于负荷聚合商本身拥有的计算资源以及分析决策能力均优于居民用户,故负荷聚合商具备绝对理性条件。而居民用户在面对复杂决策问题时更多凭借经验或本能进行决策,根据经济学演化博弈论,模仿从众比理性决策更加普遍。当每个用户收到负荷聚合商公布的聚合服务费率后,第i个用户决定参与第j个负荷聚合商的概率为ξi,j(0 ≤ξi,j≤1)。
第i个居民用户的效用函数Mi,RU为:
种群复制动态方程为:
演化均衡解ξ*=[,1-],最终形成的均衡解为ESS。该策略可以激励居民用户参与多方共治交易模式。
2.1.2 负荷聚合商间基于非合作博弈的激励机制由负荷聚合商通过非合作博弈从电网获得各时段响应容量以及电网补贴单价。每个负荷聚合商日前通过竞标从电网获得各时段合约响应容量,在竞标过程中,负荷聚合商通过智能合约公布服务费率吸引居民用户,并形成各时段最优响应容量,最终在智能合约中进行统一出清。市场价格与负荷水平间呈显著线性关系,即:
由于电网补贴价格由参与投标的负荷聚合商共同决定,某个负荷聚合商的决策会受到其他负荷聚合商的决策影响,属于非合作博弈。该博弈由以下各部分构成:1)局内人为负荷聚合商;2)策略为负荷聚合商公布的负荷削减量;3)收益函数见1.2 节。
定义第j个负荷聚合商在NS个时段内投标决策为Lj,LA;除第j个负荷聚合商以外的NLA-1 个负荷聚合商投标策略为Lj,LA,else={L1,LA,L2,LA,…,Lj-1,LA,Lj+1,LA,…,LNLA,LA}。
所有负荷聚合商根据各自收益函数不断改变投标策略,直到其利润达到最大。一旦利润最大后,任意负荷聚合商都不会改变投标策略。该均衡状态称之为纳什均衡,即:
在日前投标过程中,负荷聚合商投标策略及最终博弈结果在开标阶段通过链账户和自身所持证书调用合约函数进行查询;同时,分布式总账保证结果不可篡改。在多次迭代中,负荷聚合商利用当前查询结果不断调整自身策略,最终逼近纳什均衡点;负荷聚合商需要提前支付保证金,并由合约账户管理,根据响应评估结果由智能合约自动进行保证金返还或扣除,负荷聚合商因自身响应评估结果低于多个负荷聚合商平均值时将被扣除保证金;最后,补贴通过本文实现的智能合约链账户管理脚本发放,收益期望值及保证金构成对负荷聚合商的激励。
2.1.3 负荷聚合商与居民用户间基于主从博弈的激励机制
负荷聚合商之间进行非合作博弈达到纳什均衡后,均衡价格以异步通信方式实现链上信息广播,与每个居民用户共享,然后,居民用户之间进行动态演化并最终达到演化均衡。考虑负荷聚合商和用户之间的顺序竞争行为,将其构建为一个主从博弈模型。负荷聚合商的目标是在每个时段制定最优服务费率并得到响应容量来获得最大利润,用户则通过复制动态确定参与率。在此博弈中,追随者的均衡策略是对负荷聚合商策略的最优反应。主从博弈中多主体间的最优反应构成对参与方的激励,智能合约中的链账户管理脚本负责对补贴额以及保证金进行管理。在多方共治交易模式中,各主体受到期望收益的激励,在多次迭代中不断调整策略,从而保证联盟成员维护多方共治交易模式。
具体地,将NLA个负荷聚合商及NRU个用户的策略集合分别定义为LLA和LRU。对于第j个负荷聚合商而言,主从博弈的均衡策略须满足式(10)。
传统需求响应过程中,由于第三方代理可随意做出涉及用户权益的决策,使得各居民用户节点之间、居民用户节点与负荷聚合商节点之间均存在信任问题。由此造成交易信息不对称、不透明等缺陷,导致以信息共享为基础的主从博弈无法完成,居民用户节点无法在考虑自身托管意愿的同时深度参与需求响应,也无法对负荷聚合商的运营管理作出评价。而通过基于主从博弈的激励层设计使得任意节点必须遵守联盟规则,以保证自身长期效益最大化,且最终博弈结果通过调用智能合约实现永久化存储,确保执行过程可信且执行结果不可篡改。居民用户节点利用运营评价指标参与对响应结果的评估,可监督并共享关键信息并被赋予一定的知情权、选择权、决策权,从而促进多方共治交易模式长期运营。激励机制示意图见附录A 图A1。
2.2 智能合约设计
智能合约需结合基于多方博弈的激励机制来执行。为实现多方共治交易模式长期运营,并保证交易结果和决策过程公开透明,参与聚合响应的各节点寻求可行范围内的最优策略由智能合约完成。同时,考虑到联盟链节点的自主决策性、智能性及不确定性等复杂因素,本文所提场景中智能合约用于指导响应信息交互过程及居民节点响应决策,进而简化交易过程并提高各主体理智性。次日,联盟链各节点响应容量及补贴价格由智能合约计算得出。本文将复杂多方博弈计算过程移到链下进行,主要的实现方式为利用Hyperchain 平台所提供的LiteSDK进行合约的安全链下调用与访问,将主从博弈中关键决策交互信息通过非对称加密形成信息摘要后进行广播并永久化存储,在该过程中,智能合约运行流程包含3 个阶段:节点准入阶段、多方博弈阶段、补贴出清阶段。具体流程见附录A 图A2,其中,节点准入阶段完成对链上主体身份的认证,多方博弈阶段完成各主体决策与信息交互,补贴出清阶段完成资金出清与转移。智能合约中链下求解多主体博弈问题的算法如下。
步骤2:根据复制动态方程并令∂ξi,j/∂t=0得到ξ'i,j。
步骤3:假设其他负荷聚合商策略不变,以某聚合商收益最大化为目标计算投标量。
步骤4:重复步骤3,直到所有聚合商最优投标量计算完成。
步骤5:重复步骤3 和4,直到前后2 次计算相对误差小于0.01 为止。
步骤6:若ξ'i,j前后2 次相对误差小于0.01,则停止计算,否则回到步骤2。
2.3 区块数据结构设计
底层区块结构包含区块头和区块体。在一次交易完成后,由获得记账权的节点生成区块,为区块加盖时间戳。区块体中包含当日聚合响应交易过程以及结果,其中,当日交易结果中记录了当日所有已完成交易的时间、补贴额及响应主体。区块头中包含经Hash 计算后具有固定长度的默克尔根,区块数据结构见附录A 图A3。区块在存储数据的同时可确保各节点博弈过程的高效可信,从而助力多方共治交易模式高效长期运营。
2.4 运营评价指标
基于多方博弈的激励机制以及去中心化决策的智能合约是多方共治交易模式的核心要素,为可持续运营提供基本条件。本文定义响应标识因数υ来衡量负荷聚合商集群内去中心化程度以及多方共治交易模式的有效性,负荷聚合商可通过υ来直观判断运营效果。υ的定义如下:
本文定义激励理性系数来衡量居民决策理性程度。由于居民用户不具备绝对理性,故需要评估不同市场环境是否会导致激励层和合约层中用户决策权受到干扰。激励理性系数β定义如下:
3 算例分析
3.1 基础数据以及仿真平台搭建
通过参考中国杭州某区域智慧楼宇的实际负荷参与需求响应情况,基于以下基本假设进行模拟仿真测试。设置2 个负荷聚合商节点(LA1、LA2)以及1 000 个居民用户节点参与聚合响应。日高峰出现在11:00—13:00,晚高峰出现在18:00—21:00,调度时间间隔Δτ=15 min。
1)假设居民区EV 充电均为慢充,功率为7 kW,电池容量为32 kW·h,充电效率为95%,耗电量为0.15 W·h/m,用户设置的期望达到的荷电状态为100%。考虑到EV 普及度较低,EV 渗透率取40%,每天充电1 次。
2)假设每户居民平均拥有1 台洗碗机和1 台洗衣机。每户居民使用洗衣机和洗碗机1 次,每次使用时长为1 h。
3)假设本区域每户居民家中有1 台2 kW 的定频空调。负荷基线数据见附录A 图A4。
本文利用4 台服务器搭建分布式集群,操作系统使用CentOS7,部署联盟链平台Hyperchain 及监控平台Hypervision。 智能化合约开发语言为JAVA,使用轻量级liteSDK 完成智能合约编写、部署及调用。该平台兼容性高,可支持以太坊虚拟机(ethereum virtual machine,EVM)、高阶虚拟机(high-order virtual machine,HVM)、比特币虚拟机(bitcoin virtual machine,BVM)智能合约引擎,并支持使用JAVA、Go、JavaScript、Lua 以及C 语言编写智能合约。
3.2 Hyperchain 平台仿真结果分析
以负荷聚合商投标出清环节为例,通过统计区块延时、区块包含交易体数量及智能合约执行时间来分析执行效率及资源消耗。由测试结果可知,通过多线程模拟多主体交易出清,Hyperchain 平均TPS (每秒交易数量)均超过1 000,高于文献[6]使用以太坊平台的平均TPS,区块延时集中在80 ms以下,区块中包含交易体数量随着并发量的提高而增加,整体能够满足聚合响应的实际应用需求,区块延时统计结果见图2,区块包含交易体数量统计结果见图3。图中:level1、level2、level3 分别代表TPS为1 121、1 236、1 472 时的统计结果。
图2 区块延时统计结果Fig.2 Statistical results of block delay
图3 区块包含交易体数量统计结果Fig.3 Statistical results of transaction entity numbers included in block
此外,文献中采用公有链平台进行智能合约开发与部署。然而,公有链缺少对节点身份验证的环节,不利于进行监管,并且容易产生分叉,不利于维持数据一致性,而本文所研究应用场景中的主体包括监管主体、负荷聚合商、居民用户,对节点身份有要求,需要先进行验证再将节点加入网络,故采用联盟链更适合该场景。
在调用合约出清函数时,智能合约执行时间见附录A 图A5,经过多轮测试并选择不同初始点,基于合约外部调用博弈均衡点的求解算法在4~6 次迭代后收敛。其中,多轮测试显示出清函数的调用以及VP 节点响应执行时间分别在15 ms以及560 ms 附近,合约运行效率可以满足使用需求。
3.3 多方共治区块链架构运行效果分析
3.3.1 运营评价指标分析
本文假设负荷聚合商具有绝对理性而普通居民用户不具备绝对理性。多方共治交易模式运营过程如下:首先,LA1、LA2 分别以密文形式广播自身服务费率,由智能合约计算确定各个负荷聚合商决策结果;然后,为确保极端竞价结果出现,在智能合约中,根据实时电价确定服务费率分时波动上、下限,并且在将所有参数生成一个区块后触发用于公布居民演化博弈过程信息的合约函数,将演化博弈均衡解上链存储。
智能合约主从博弈算法执行过程为:设置智能合约中居民种群数为1 000,根据复制动态方程确定均衡解,结果见表1。表1 中的Lev1 至Lev4 指补贴费率由低到高的参数设置。当演化博弈均衡解上链存储后,触发智能合约中调用聚合算法的合约函数,确定负荷聚合商间非合作博弈的纳什均衡解,经过主从博弈迭代后形成稳定的负荷聚合商服务费率、居民演化稳定策略及负荷响应容量。
表1 LA1 中居民用户的演化博弈均衡解Table 1 Equilibrium solution of evolutionary game among resident users in LA1
若各负荷聚合商以智能合约输出结果为指导,合理设置服务费率,则可以营造信息公开化、透明化交易环境,居民节点能以负荷聚合商为桥梁,行使自身决策权与监督权,负荷聚合商也能通过设置合理服务费率长久吸引居民用户参与聚合响应,对长期效用提升有促进作用。响应标识因数中各指标值在采用多方共治交易模式前后的变化见表2。
表2 采用多方共治交易模式前后响应指标变化Table 2 Changes of response indicators before and after adopting multi-party co-governance transaction mode
由负荷聚合商以及居民用户的效用值、响应参与度、响应标识因数等指标的变化可得:1)负荷聚合商响应效用值增加表明聚合商可获得更多利润以抵消服务费率提高造成的损失,能保证负荷聚合商设置合理服务费率来扩大聚合用户规模;2)居民用户平均收益增加的原因在于,多方共治交易模式所创建的信息可信共享环境,使得负荷聚合商为吸引更多居民用户参与响应只能选择提高服务费率;3)响应参与度提升能证明采用多方共治交易模式的负荷聚合商对居民用户具有较强吸引力,即便参与人理性程度较低,仍可以发挥作用。同时,在主从博弈迭代过程中υ不断提高,最终趋于0.965 76,可以证明多方共治交易模式有效性。
3.3.2 抗干扰性分析
通过设定不同演化概率初值模拟不同市场环境对居民用户产生的决策干扰,仿真结果证明激励层可形成抗干扰的稳定均衡解,多方共治交易模式可保证居民用户基本权益并赋予居民用户决策权和话语权。该过程中居民用户演化博弈均衡解迭代情况见图4。不同市场环境下演化博弈均衡解都收敛于0.48,根据激励平衡系数定义计算出β=0.000 732,激励平衡系数越小,激励层的激励机制抗干扰性越强,有利于多方共治交易模式长期运营。
图4 激励层抗干扰分析Fig.4 Anti-interference analysis of incentive layer
3.3.3 第三方聚合服务效果分析
负荷聚合商间非合作博弈形成合理的电网补贴出清价格,达到均衡前后电价的变化见图5。补贴价格通过智能合约外部调用多方非合作博弈算法收敛到纳什均衡解。
图5 原始电价与均衡电价Fig.5 Original electricity price and equilibrium electricity price
负荷聚合商设置的服务费率相比于起始服务费率有不同程度的提高,表明负荷聚合商通过智能合约参与多方博弈逐渐发现过低用户补贴额不利于吸引用户,反而会导致自身收益减少以及受到保证金扣除等惩罚,而适当提高服务费率增加对用户的补贴,从长期来看可以提升负荷聚合商收益,服务费率提升效果见图6。
图6 负荷聚合商服务费率提升过程Fig.6 Upgrading process of service rate of load aggregator
4 结语
针对中国目前需求响应现状中居民用户与负荷聚合商交易中存在的信息不对称、第三方权力集中等信任问题,本文设计多方共治交易模式,以包含可以进行托管决策的居民用户及提供负荷聚合服务的聚合商为区块链节点进行建模分析,并进行区块链节点配置。为建立多方互信的交易环境,设计了结合多负荷聚合商间非合作博弈、多居民用户间演化博弈、居民用户与负荷聚合商间主从博弈的激励机制,保证居民节点决策权、话语权;同时,将智能合约作为信息交互的枢纽,保证联盟内部博弈信息安全高效交互;以激励机制、智能合约以及区块数据结构为核心要素支撑多方共治交易模式高效运营,并通过响应标识因数υ和激励理性系数β评估负荷聚合商运营效果。最后,选取典型居民用户节点和负荷聚合商节点数据,通过Hyperchain 平台进行模拟仿真。结果表明,本文所提基于区块链的负荷聚合商及居民用户多方共治交易模式在保证各节点效用的基础上,可以唤醒海量沉睡需求侧资源,推动响应补贴价格透明公正以确保第三方聚合服务高效可信。此外,由于本文主要关注基于区块链的交易模式设计,未对能源区块链底层机制进行深入研究,后续将围绕可支撑大规模需求侧响应的共识机制以及区块数据结构进行探索,为区块链在聚合响应中的应用落地赋能。
附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。