【FISCO-BCOS】群签名 && 环签名 客户端与RPC服务端的部署与使用 最近需要使用环签名算法实现签名与签名验证,想查看网上有没有开源的环签名算法实现,搜了一圈最终只发现 FISCO-BCOS(金链盟区块链底层开源平台) 有相关的开源代码且有详细的文档,并提供额外的开源库给用户体验与尝试群签名和环签名的服务,恰好符合我的需求,于是我开始着手部署这些开源项目。由于提供群签名和环签名服务的两个开源库已是两年前的项目了,并且该项目文档也存在一些纰漏,导致我在部署的过程中遇...
群签名与环签名介绍 群签名群签名,即群数字签名。是 1991 年 由 Chaum 和 van Heyst 提出的一个比较新的签名概念。Camenish、Stadler、Tsudik 等对这个概念进行了修改和完善。群签名(group signature):在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,而且可以只用单个群公钥来验证...
【leetcode】第143题 重排链表 3种方法求解 C++ 题目:重排链表给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, ...
【问题笔记】Linux下 pip 安装 python 库提示超时 今天在本地重新配了一下 ubuntu 虚拟机的环境,因为使用的是渣校园网,下载安装 Python 扩展库的时候速度奇慢无比,还总是提示连接超时,下载失败等,然后搜索了一下网上的解决办法,个人觉得最有效的如下:解决办法:1. 设置超时时间:pip --default-timeout=100 install 包名2. 不使用缓存:pip --no-cache-dir install 包名3....
【问题笔记】linux下安装python项目时报错:找不到 pcap.h 环境:ubuntu 18.04 python3.6今天安装一个开源项目时,遇到报错提示:“pcapdumper.cc:11:10: fatal error: pcap.h: No such file or directory#include <pcap.h>^~~~~~~~compilation terminated.error: Setup script exited...
高并发(High Concurrency) #整理了一些博文作为高并发相关理论的学习笔记,同时加上了一些个人的理解,尊重原创者,文章属性就设为转载吧,参考博文的链接已附在最后。高并发并发,其实就是通过设计可以同时处理多个请求。而高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。并发能力的衡量标准一个系统的并发能力大概有这么几个参数来决定的...
分布式: CAP 和 BASE 理论 分布式 CAP 原理CAP原理图:CAP 是按照美国著名科学家 Eric Brewer 在 2000 年提出的理论,当技术架构从集中式架构向分布式架构演进,会遇到 “CAP 定律”的瓶颈。我们可以从上面的图中看出的是,CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。CAP 原理分别表示一致性(Consistency),可用性(Available),分区容错性(Parti...
分布式:分布式系统的设计 分布式系统在计算机领域,当单机性能达到瓶颈时,一般有两种方式解决性能问题:堆硬件,进一步提升配置;分布式设计,如水平拆分、垂直拆分。分布式系统有很多种:分布式文件系统、分布式数据库、分布式 WebService、分布式计算等等,面向的情景不同,但分布式的思路大致相同,万法归一。而分布式系统的设计说白了就是: 如何合理将一个系统拆分成多个子系统部署到不同机器上。讲设计方法前,先介绍分...
分布式:概要,与集群的区别 #整理了一些博文作为分布式相关理论的学习笔记,同时加上了一些个人的理解,文章属性就设为转载吧,参考博文的链接已附在最后。分布式概要,与集群的区别分布式系统的设计CAP 和 BASE 理论 分布式和集群的概念分布式: 不同的业务模块部署在不同的服务器上或者同一个业务拆分为多个子业务,部署在不同的服务器上,解决高并发问题 。集群: 同一个业务,部署在多个服务器上,提高系统可用性 。...
【数据结构】查找:哈希表(散列表)——计算式查找法 #笔记整理哈希表——计算式查找法定义:哈希法又称散列法、杂凑法或关键字地址计算法等,相应的表称为哈希表或散列表。方法的基本思想:在元素的关键字 Key 和元素的存储位置 p 之间建立一个对应关系 H,使得 p = H(Key),H 称为哈希函数(散列函数),是一个压缩映象。当需要查找关键字为 key 的元素时,利用哈希函数计算出该元素的存储位置 p = H(key),从而达到按关键字...
【数据结构】查找:动态查找表(B-树,B+树,红黑树) #笔记整理多路查找树(multi-way search tree):其每个结点的孩子树可以多于两个,且每一个结点可以存储多个元素。由于它是查找树,所有元素之间存在某种特定的排序关系。B-树也称B树, B-树是一种平衡的多路查找树,是一种组织和维护外存文件系统非常有效的数据结构,常用作文件索引。结点最大的孩子数目称为 B 树的阶。一棵 m 阶 B-树或者是一棵空树,或者是满足下列要求的 ...
【数据结构】查找:动态查找表(二叉排序树/BST/二叉搜索树,平衡二叉树/AVL) #笔记整理动态查找表——基于树表的查找法动态查找表的特点:表结构本身在查找过程中动态生成,即对于给定值 key,若表中存在关键字等于 key 的记录,则查找成功,否则插入关键字等于 key 的记录。动态查找表的主要运算- 创建、销毁- 查找、插入和删除- 遍历二叉排序树(二叉搜素树、二叉查找树)BST (Binary Sort Tree)/(Binary Search Tree)...
【数据结构】查找:基本概念及静态查找表(顺序查找、二分查找、索引查找) #笔记整理查找查找的基本概念静态查找表——基于线性表的查找法动态查找表——基于树表的查找法哈希表——计算式查找法基本概念查找表由同一类型的数据元素(记录)构成的集合。查找的定义给定一个值 key,在含有 n 个记录的表中找出关键字等于 key 的记录。若找到,则查找成功,返回该记录的信息或该记录在表中的位置;否则查找失败,返回相关的指示信息。静态查找表(Static S...
【计算机网络】TCP的保活机制 #笔记整理TCP 保活机制一些情况下,客户端和服务器需要了解什么时候终止进程或者与对方断开连接。应用进程之间没有任何数据交换,但仍然需要通过连接保持一个最小的数据流。TCP 保活机制即为了解决上述两种情况而设计。保活机制是一种在不影响数据流内容的情况下探测对方的方式。它是由一个保活计时器实现的,当计时器被激发,连接一端将发送一个保活探测(简称保活)报文,另一端接收报文的同时会发送一个ACK作...
【网易互娱模拟笔试】解题记录 08-04那天参加了一下网易互娱的模拟笔试,那天状态不太好,再加上调试第一题花了很长时间,心态有点炸了,所以最后完成得并不理想。总结:笔试心态还不够稳,手速还不够快,算法还不够熟。一共 3 道题,题目都很简单,但是自己并没有做完,汗颜羞愧。记录一下。第一题:新税收政策中,起征点是5000,超过5000的部分,需要进行分级纳税,题目给的图类似下图:要求:多行输入,每行输入月收入,假设无...
【leetcode】第142题 环形链表2(#142. Linked List Cycle II)详解(哈希表+快慢指针),C++ 这题的题解中的快慢指针法的理解涉及到公式推导,将自己的理解先记下来,防止以后忘记。题目题解1题解1就是使用 set 作为哈希表,没啥难度。思路:使用哈希表的唯一性存下每个遍历过的结点,当再次遇到同一结点时该结点为入口直接返回分析: 时间复杂度 O(n),空间复杂度 O(n)实现:ListNode *detectCycle(ListNode *head) { set...
【数据结构】树:哈夫曼树(Huffman Tree,也称哈弗曼、赫夫曼树)、哈夫曼编码解析与实现(c++) #笔记整理树的定义参照前文:二叉树、遍历二叉树与线索二叉树等树的定义与解析、二叉树遍历实现哈夫曼树(也称赫夫曼树)相关概念:① 路径长度从树中一个结点到另一个结点之间的分支(树枝)构成这两个结点之间的路径, 路径上的分支(树枝)数目称做路径长度。② 树的路径长度从树根到每一结点的路径长度之和(所有结点到根的路径长度的和)。③ 结点的权和带权路径长度给树的每个结点赋予一个具有某...
【数据结构】树:非二叉树(普通树)与森林的遍历 #笔记整理树的定义参照前文:二叉树、遍历二叉树与线索二叉树等树的定义与解析、二叉树遍历实现非二叉树与森林的遍历树的遍历(两种)1) 先根遍历若树非空,则遍历方法为:①访问根结点。②从左到右, 依次先根遍历根结点的每一棵子树。等同于转换的二叉树进行先序遍历2)后根遍历若树非空, 则遍历方法为:①从左到右, 依次后根遍历根结点的每一棵子树。②访问根结点。等同于转换的二叉...
【数据结构】排序:归并排序(2路归并排序算法)详解,递归实现与迭代实现(C++) #笔记整理内部排序分类目录:- 插入排序- 交换排序- 选择排序- 归并排序- 计数排序归并基本思路:是将两个或两个以上的有序表合并成一个新的有序表。2-路归并排序假设初始序列有 n 个记录,首先把它看成是 n 个长度为 1 的有序子序列 (归并项),先做两两归并,得到 n / 2 个长度为 2 的归并项 (如果 n 为奇数,则最后一个有序子序列的长度为1);再做两两归并,…...
【数据结构】排序:排序算法的分类及各类排序算法对比 #笔记整理这几天复习并整理了一下排序算法,发现内容还是挺多的,有些算法和概念很常用也很重要,记录一下。排序排序: 将一组杂乱无章的数据按一定的规律顺次排列起来,使之按关键字递增(或递减)有序排列。排序算法的稳定性(稳定排序,Stable Sort):指当数据中存在2个或2个以上键值相等的元素时,这些元素在排序处理前后顺序不变。由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将...