2 interface is appended into the SLC-based contract.By automatically executing smart contracts and checking the terms, the pay-as-you-go mode is implemented through fine-grained charging every time when calling service interface. Moreover,we take the weather forecast service as a case to implement and analyze the acquisition.delivery,and contractual payment of software service on blockchain smart contract.The experimental results demonstrate the feasibility and effectiveness of the proposed SaaS+SaaSC architecture,which should be a practicable approach for contracting of software services. Key words:Blockchain Smart Contract;SaaS:Smart Legal Contract:Microservices;Service Registration; Service Discovery 1.引言 软件即服务(SaS)作为一种云计算服务架构,旨在帮助企业通过互联网交付应用程序,并交由第三方 云供应商进行管理,己成为软件服务领域当前主流交易方法之一山。与软件外包发架构即服务(1aaS)、 平台即服务(PaaS)一样,SaaS本质上是一种将管理软件和实施服务一体化外包的服模式,也是伴随着软 件行业发展兴起的一种新型软件应用模式。它的商业成功很大程度上依赖采角订阅模式制备软件许可证叫。 与传统的软件永久许可不同,订阅模式采用企业或消费者与SaaS提供商签署的十段时间(通常是每年或每月) 的软件订阅合同(也称订阅协议),并在前者缴纳订阅费后向其授予$a$相应的访问权限。此外,订阅模式 采用不同缴费价格获得不同类型服务来满足不同用户的需求。这种方式增枷了消费者服务选择灵活性、降低 购置成本和试错成本、增强客户关系、以及SaaS提供商定价灵话性。 尽管软件订阅模式具有众多优势并代表着未来SaaS的必然选择,但是目前大多数订阅合同仍采用“提前 付费”方式。这种方式会让SaS提供商的现金流呈现出较好的状态,但服务费用与实际的服务数量与质量无 关,因此无法按照实际使用量计费。这与按劳计酬的服务收费原则相违背,难以适应现代服务业自动化执行 与监管的要求。更为合理的订阅模式是按照订阅合同和实际使用量让消费者“先服务后结算”或“先充值后扣费”, 这种付费方式对于消费者来说成本控制和服务定制更加灵活。 然而,实现SaS“先服务后结算”方式远比提前付费方式复杂。这种复杂性体现在两个方面:首先,需 要自动化的金融支付能力,保证依照订阅合同涤款对租期、服务能力(如云虚拟机数目、计算性能、网络带 宽)和服务质量进行自动化支付,避兔人于预:其次,需要强有力的法律化支持,保证服务过程中当事人履 行订阅合同条款中义务的行为得到法律上的认可,服务过程的记录或存证具有法律效力,避免取证困难和因 合同纠纷消耗律师大量人工成本。◇ 针对以上问题,本文提出一种服务即智能合约(Service as a Smart Contract,SaaSC)的新型软件服务架构, 它是SaaS的一种商业化扩展即以智能合约(Smart Contract)代码和平台为基础,通过自动执行的交易合约 形式交付和支付软件服务,为软件订阅模式的实施提供更加有效的技术手段。其中,智能合约是个宽泛的计 算机技术,它既包括部署在区块链(Blockchain)上、在满足预定条件时可自动执行并存证的计算机程序,也 包括支持智能合约可执行程序开发、生成、部署、运行、验证的信息网络系统。交易合约则是法律上的概念, 是指两方或多方当事人为完成某件事而共同遵循的约定,从而建立某种对当事人具有约束力的权利义务关系, 如约定未来某个时间以一定数量金额支付某种软件服务的费用。这种交易合约形式为软件服务的“先服务后 结算”方式提供金融化基础和法律化保障,进而智能合约系统为交易合约的自动执行提供技术保障。 智能法律合约(Smart Legal Contract,.SLC)是一种具有法律约束力的智能合约,是含有合同构成要素、涵 盖合同缔约方依据要约和承诺达成履行约定的计算机程序。SLC为法律合同文本和智能合约代码之间建立 了转化的桥梁,保证了开放网络环境下合同的公平协商与交易合约的法律约束力,因此它已成为设计并开发 具有法律效力智能合约的核心技术。为实现智能合约代码法律化,一种称为SPESC的面向法律语言己被提2 interface is appended into the SLC-based contract. By automatically executing smart contracts and checking the terms, the pay-as-you-go mode is implemented through fine-grained charging every time when calling service interface. Moreover, we take the weather forecast service as a case to implement and analyze the acquisition, delivery, and contractual payment of software service on blockchain smart contract. The experimental results demonstrate the feasibility and effectiveness of the proposed SaaS+SaaSC architecture, which should be a practicable approach for contracting of software services. Key words: Blockchain Smart Contract; SaaS; Smart Legal Contract; Microservices; Service Registration; Service Discovery 1. 引言 软件即服务(SaaS)作为一种云计算服务架构,旨在帮助企业通过互联网交付应用程序,并交由第三方 云供应商进行管理,已成为软件服务领域当前主流交易方法之一[1]。与软件外包开发、架构即服务(IaaS)、 平台即服务(PaaS)一样,SaaS 本质上是一种将管理软件和实施服务一体化外包的服务模式,也是伴随着软 件行业发展兴起的一种新型软件应用模式。它的商业成功很大程度上依赖于采用订阅模式制备软件许可证[2]。 与传统的软件永久许可不同,订阅模式采用企业或消费者与 SaaS 提供商签署的一段时间(通常是每年或每月) 的软件订阅合同(也称订阅协议),并在前者缴纳订阅费后向其授予 SaaS 相应的访问权限。此外,订阅模式 采用不同缴费价格获得不同类型服务来满足不同用户的需求。这种方式增加了消费者服务选择灵活性、降低 购置成本和试错成本、增强客户关系、以及 SaaS 提供商定价灵活性。 尽管软件订阅模式具有众多优势并代表着未来 SaaS 的必然选择,但是目前大多数订阅合同仍采用“提前 付费”方式。这种方式会让 SaaS 提供商的现金流呈现出较好的状态,但服务费用与实际的服务数量与质量无 关,因此无法按照实际使用量计费。这与按劳计酬的服务收费原则相违背,难以适应现代服务业自动化执行 与监管的要求。更为合理的订阅模式是按照订阅合同和实际使用量让消费者“先服务后结算”或“先充值后扣费”, 这种付费方式对于消费者来说成本控制和服务定制更加灵活。 然而,实现 SaaS“先服务后结算”方式远比提前付费方式复杂。这种复杂性体现在两个方面:首先,需 要自动化的金融支付能力,保证依照订阅合同条款对租期、服务能力(如云虚拟机数目、计算性能、网络带 宽)和服务质量进行自动化支付,避免人工干预;其次,需要强有力的法律化支持,保证服务过程中当事人履 行订阅合同条款中义务的行为得到法律上的认可,服务过程的记录或存证具有法律效力,避免取证困难和因 合同纠纷消耗律师大量人工成本[3]。 针对以上问题,本文提出一种服务即智能合约(Service as a Smart Contract, SaaSC)的新型软件服务架构, 它是 SaaS 的一种商业化扩展,即以智能合约(Smart Contract)代码和平台为基础,通过自动执行的交易合约 形式交付和支付软件服务,为软件订阅模式的实施提供更加有效的技术手段。其中,智能合约是个宽泛的计 算机技术,它既包括部署在区块链(Blockchain)上、在满足预定条件时可自动执行并存证的计算机程序,也 包括支持智能合约可执行程序开发、生成、部署、运行、验证的信息网络系统。交易合约则是法律上的概念, 是指两方或多方当事人为完成某件事而共同遵循的约定,从而建立某种对当事人具有约束力的权利义务关系, 如约定未来某个时间以一定数量金额支付某种软件服务的费用。这种交易合约形式为软件服务的“先服务后 结算”方式提供金融化基础[4]和法律化保障[5],进而智能合约系统为交易合约的自动执行提供技术保障。 智能法律合约(Smart Legal Contract, SLC)是一种具有法律约束力的智能合约,是含有合同构成要素、涵 盖合同缔约方依据要约和承诺达成履行约定的计算机程序[6]。SLC 为法律合同文本和智能合约代码之间建立 了转化的桥梁,保证了开放网络环境下合同的公平协商与交易合约的法律约束力,因此它已成为设计并开发 具有法律效力智能合约的核心技术。为实现智能合约代码法律化,一种称为 SPESC 的面向法律语言已被提 录用稿件,非最终出版稿