区块链中的RESTFUL链码调用API原理详解

网友投稿 267 2022-11-12

区块链中的RESTFUL链码调用API原理详解

本文适合于熟悉开源区块链技术Hyperledger Fabric,以及希望更高效地使用华为云区块链服务的读者。当然,也欢迎任何对区块链技术有兴趣的读者阅读本文,相信读者们都能从中受益。

2018年2月1日 华为云发布企业级区块链开放平台区块链服务BCS(Blockchain Service),是基于开源区块链技术和华为在分布式并行计算、数据管理、安全加密等核心技术领域多年积累基础上推出的企业级区块链云服务产品,旨在帮助各行业、企业在华为云上快速、高效的搭建企业级区块链行业方案和应用。

如前所述,搭建区块链不是目的,关键是要方便应用更高效地使用区块链。本文要介绍的RESTFUL链码调用API即是华为云区块链为此目的而开发的,在详细介绍API之前,先对链代码做一下简单介绍,便于没有Fabric知识背景的读者理解。

在某些情况下,用户的公私钥对并不是华为云区块链服务管理的,而是用户使用组织私钥自行签发的,这个时候服务端就缺少这个用户的公私钥,此时就需要在请求消息体中使用cert字段上传用户公钥,服务端使用用户上传的公钥验证HEADER中的签名是否是私钥对消息体的合法签名。这时问题就来了,任何一个伪造者都可以自己制作一个非对称的公私钥对,然后对一个非法的消息体进行私钥签名,并把公钥放到消息体中以通过服务端的验签。为了避免这个漏洞,服务端在验签之前会对用户上传的公钥进行合法性验证,如上图。因为用户上传的公钥实际上是一个证书,该证书包含了用户公钥以及组织私钥对该证书的签名,而伪造者缺少组织私钥无法伪造签名,这样服务端就能判定用户上传证书的合法性。

当服务端使用合法的用户证书验证请求HEADER中的签名是用户私钥的签名后,服务端就可以真正发起区块链链码的调用了,这里服务端使用SDK的方式与客户端直接使用SDK的方式并无不同,只不过如果客户端证书是自行签发的,那么服务端是没有用户私钥的,这个时候就会使用组织的admin证书发起区块链链码的调用。至此,RESTFUL的调用机制读者也清楚了,那么RESTFUL调用的优点也就很容易理解:

1.使用简单方便,由华为云区块链服务封装SDK的复杂性。

由于绝大多数语言都已经拥有很成熟的RESTFUL调用类库,调用RESTFUL基本没有学习成本。 不用引入SDK类库,适合更轻量的客户端。以上就是对华为云区块链RESTFUL链代码调用API的原理的详细讲述,目前RESTFUL接口还处于公测阶段,欢迎读者到华为云进行免费体验并提出宝贵意见。

参考资料:API参考

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:高性能计算之五-FPGA可以取代CPU和GPU?
下一篇:无线耳机是如何普及的
相关文章

 发表评论

暂时没有评论,来抢沙发吧~