【技术实现步骤摘要】
一种可信Web应用的实现方法及系统
[0001]本申请涉及区块链技术应用领域,具体涉及一种可信Web应用的实现方法及系统。
技术介绍
[0002]传统Web应用一方面以Web页面形式向用户发布内容,另一方面以Web表单形式从用户端收集内容后,展示这些内容及其统计结果。Web应用的常见用户行为包括:发帖和跟贴、评论打分、投票等。由于传统Web应用采用中心化部署运维方式,运维方可从自身利益出发篡改数据(例如:删除差评、修改投票或问卷统计结果等),因此其内容难以取信于公众。另外由于各Web应用自成体系,用户不得不将身份信息多次提交,分别进行用户注册认证,增加了操作复杂度和用户隐私信息泄漏的风险。现有的将区块链技术应用于解决Web应用内容信任问题所采用的方案主要包括:1)将页面内容的Hash上链,对发布的页面内容进行内容完整性、时间存在性证明;2)采用群签名或同态加密等技术实现投票行为的匿名及投票结果的公正。
[0003]上述方案在解决Web内容的信任问题方面,仍然存在以下几方面的局限:1)信任覆盖不全面:仅仅在页面层面解决了内容的完整性证明,对于页面包含的图片等多媒体文件未提供完整性证明;对所有内容的来源真实性不可追溯;2)支持的用户行为模式单一:仅限于投票单一场景的行为溯源,无法对其他用户行为进行溯源;3)缺乏行为有效性检查:无法实现对用户行为的合规性进行复杂逻辑检查,例如,在投票的应用场景中,设定周期内T只允许每人最多/必须针对n个对象各投一张票;以发帖为例:设置允许文章附件的文件大小,设置发帖文字的字数限制等 ...
【技术保护点】
【技术特征摘要】
1.一种可信Web应用的实现方法,该实现方法包括系统建立、应用登记、应用调用以及调用结果展示与验证四个阶段,其特征在于:系统建立阶段包括如下步骤:步骤101、建立区块链组网,启动区块/状态数据服务;步骤102、在区块链上部署身份认证合约、Web应用登记合约、Web应用调用合约;步骤103、对认证方进行身份认证;步骤104、认证Web应用服务方和用户方;步骤105、订阅区块数据和状态数据;应用登记阶段包括如下步骤:步骤201、登记Web应用,确定应用类型和规则;步骤202、建立Web应用实例;应用调用阶段包括如下步骤:步骤301、Web应用用户选择链上登记的Web应用;步骤302、输入数据,构造并提交签名交易;步骤303、验证交易有效性、实时统计结果;所述调用结果展示与验证包括如下步骤:步骤401、同步区块数据和状态数据,更新展示内容;步骤402、验证展示内容的来源真实性、内容完整性;步骤403、返回验证结果。2.根据权利要求1所述的实现方法,其特征在于,所述建立区块链组网,启动区块/状态数据服务,具体包括:区块链组网节点加载创世区块,建立或加入区块链组网;各节点的区块/状态数据服务向区块链组网节点请求区块数据实时同步,并对同步获得的区块/状态数据进行解析,并将解析后的数据存储到关系型数据库,所述关系型数据库用于提供区块数据的复杂检索以及对外提供区块/状态数据订阅服务;所述区块/状态数据订阅服务采用中间件实现或者通过编程实现。3.根据权利要求1所述的实现方法,其特征在于,在步骤102中,所述身份认证合约ContractCert包括账户认证方法signUpSigner和为账户绑定证书的方法signUpCert。4.根据权利要求1所述的实现方法,其特征在于,所述步骤103、对认证方进行身份认证,具体包括:区块链服务方通过签名交易调用合约方法ContractCert. signUpSigner,对认证方进行身份认证,然后通过签名交易调用合约方法ContractCert. signUpCert,为其绑定数字证书,数字证书与认证方持有的密钥对应;所述步骤104、认证Web应用服务方和用户方,具体包括:认证方通过签名交易调用合约方法ContractCert. signUpSigner,对Web应用服务方、Web应用用户方进行身份认证,通过签名交易调用合约方法ContractCert. signUpCert为其绑定数字证书,数字证书与其持有的密钥对应;所述步骤105、订阅区块数据和状态数据,具体包括:Web应用服务方完成链上的身份认证之后,向区块链服务请求区块/状态数据订阅推送,实时获取与本账户相关的区块/状态数据。5.根据权利要求1所述的实现方法,其特征在于,所述步骤201、登记Web应用,确定应用
类型和规则,具体包括:Web应用服务方通过签名交易,调用合约方法ContractWeb. registerApp登记Web应用实例,该合约方法的参数已预设了该Web应用的类型、有效性检查规则、结果统计逻辑;在进行时间区间检查时,采用区块高度代替区块链组网节点的本地时间,以避免由于组网节点本地时间不一致无法对有效性达成共识;所述步骤202、建立Web应用实例,具体包括:区块链服务子系统根据登记信息,为该Web应用生成录入界面,并调用ShimAPI.setStateTx方法将生成的录入界面写入账本状态数据,Web服务方从状态订阅获得的APP_UI_HTML状态获得界面定义,从状态订阅获得的APP_UI_DESC状态获得界面描述,提供给下一步Web用户界面访问。6.根据权利要求1所述的实现方法,其特征在于,所述步骤302、输入数据,构造并提交签...
【专利技术属性】
技术研发人员:陈胜,蒋步云,
申请(专利权)人:北京连琪科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。