自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jason_cuijiahui的博客

区块链+人工智能

  • 博客(318)
  • 收藏
  • 关注

原创 人群中多看了一眼

数据结构设计1.设计一个魔方(六面)的程序 思路: 把魔方从正面看展开成一个平面,如图1所示。设计一个类,其中Spacexy[SPACE][LEN][LEN];中的SPACE为0~5表示六个面,每个数字代表哪一面见图1.LEN为0~2,[LEN][LEN]表示某个面的3*3的9个格子。类中的方法是根据展开的平面设计的,具体的某个面的某个格子由Spacexy[SPACE][LEN][LE...

2017-08-24 23:24:28 1550

原创 最直白的盲签名

A把消息M盲化为消息M’,M’让B签名,得到盲签名Sign’A把盲签名Sign’签名去盲,得到签名SignA把M和Sign给到CC可以验证B对其签过名,而B不知道自己啥时候签过了这个消息

2021-06-03 19:52:14 475

原创 存款合约解读——Eth2.0阶段0

Eth2.0的存款合约Eth2.0的存款合约并不部署在Eth2.0的链上,而是部署在Eth1之上。Eth2.0和Eth1.0实际上是两条完全不同的链。区块链上承载价值的平台,而其之上的代币则为载体。即使进行技术升级,价值载体是需要继承,这是Eth2.0仍为以太坊的核心要点之一。因此,需要一座桥梁,单看好像很简单。实际上,桥梁有着不同的建法与不同的成本。双向桥接:Eth1.0中的ETH代币可以转到Eth2.0上,反之亦然单向桥接:Eth1.0中的ETH代币可以转到Eth2.0上,而Eth2.0上的代

2020-11-22 16:30:05 799 1

原创 golang中的defer

特征代码再defer声明前返回,不会调用deferdefer可配合recover使用,处理panicpackage main import "fmt" func main(){ defer func(){ // 必须要先声明defer,否则不能捕获到panic异常 fmt.Println("c") if err:=recover();err!=nil{ fmt.Println(err) // 这里的err其实就是panic

2020-06-24 11:18:27 416

原创 javascript中的==与===

首先,== equality 等同,=== identity 恒等。==, 两边值类型不同的时候,要先进行类型转换,再比较。===,不做类型转换,类型不同的一定不等。==操作符:如果两个值具有相同类型,会进行===比较,返回===的比较值。(都是Object也走这条路)如果两个值不具有相同类型,也有可能返回true如果一个值是null另一个值是undefined,返回true如果一个...

2020-02-07 19:54:40 331

原创 nodejs express框架

参考资料:https://www.runoob.com/nodejs/nodejs-express-framework.htmlhttp://www.expressjs.com.cn/https://www.jianshu.com/p/9a30447c32dfhttps://github.com/chyingp/nodejs-learning-guidehttps://github.c...

2020-02-06 21:10:08 254

原创 nodejs文件上传样例(express)

代码├── form.html├── node_modules├── package.json├── package-lock.json├── public│ ├── doc│ │ └── README.md│ └── upload│ └── 362131ec347930fab2c4dd9a708048d8└── server.jsform.ht...

2020-02-06 20:24:03 273

原创 nodejs操作mysql

参考安装mysql与可视化工具sudo apt-get install mysql-server mysql-clientservice mysql startservice mysql stopservice mysql restartservice mysql statussudo apt-get install mysql-workbenchmysql-workbenc...

2020-02-06 19:14:14 301

原创 nodejs restful api样例(express)

参考自REST是设计风格而不是标准。REST通常基于使用HTTP,URI,和XML(标准通用标记语言下的一个子集)以及HTML(标准通用标记语言下的一个应用)这些现有的广泛流行的协议和标准。REST 通常使用 JSON 数据格式。HTTP 方法以下为 REST 基本架构的四个方法:GET - 用于获取数据。PUT - 用于更新或添加数据。DELETE - 用于删除数据。POST -...

2020-02-06 12:05:45 643

原创 nodejs多进程exec/spanw/fork

参考Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能。每个子进程总是带有三个流对象:child.stdin, child.stdout和child.stderr。execexec - child_process.exec 使用子进程执行命令,缓存子进程的输出,并将子进程的输出以回调函数参数的形式一次...

2020-02-05 23:17:05 866

原创 nodejs的get与post

get由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。get.jsvar http = require('http');var url = require('url');var util = require('util');http.createServer(function(req, res) { ...

2020-02-05 16:43:42 421

原创 Node.js的模块

函数的形式hello.jsexports.world = function() { console.log('Hello World');}main.jsvar hello = require('./hello');hello.world();类的形式

2020-02-05 10:32:54 157

原创 Node一个简单hello world

├── index.js├── router.js└── server.jsindex.jsvar server = require("./server");var router = require("./router");server.start(router.route);router.jsfunction route(pathname) { console.lo...

2020-02-05 10:22:24 185

原创 NVM管理Node版本

NVM概要NVM其实用于管理多个版本的Node。没有NVM的情况是:很繁琐地手动安装多个版本的Node很繁琐地让一个project基于一个特定的Node版本安装Linuxsudo apt-get updatesudo apt-get install build-essential下载并运行脚本(注意具体版本)curl -o- https://raw.githubuserco...

2020-01-13 15:26:05 236

原创 Golang中结构体JSON

参考基本情况// 定义结构体的时候,只有字段名是大写的,才会被编码到json当中// 因此,json中并没有password字段type Account struct { Email string password string Money float64}func main() { account := Account{ Email:...

2019-10-25 10:37:28 1903

原创 golang常用命令

/// 通过go mod进行项目依赖包管理// 项目目录下,执行以下命令初始化go mod init// 执行以下命令会自动分析项目里的依赖关系同步到go.mod文件中,同时创建go.sum文件go mod tidy// 以上的管理依赖管理操作,所以依赖包还是在GOPATH/src目录下,go module 当然可以把包直接放在当前项目中管理// 直接使用这个命令就可以把GOPATH...

2019-10-25 09:51:25 234

原创 Schnorr签名方案

https://www.8btc.com/article/359451https://www.8btc.com/article/359642https://panzhibiao.com/2019/02/28/schnorr-sigature/

2019-09-08 10:59:55 1057

原创 函数的输入变量为两个指针时要注意两个指针是否相等

// 下面时交换两个数的函数void swap(int *a, int *b) { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b;}当传入的a和b的地址不是同一个地址的情况下,函数正常工作int a = 1;int b = 2;swap(&a, &b);// 得到a=2,b=1当传入的a和b的地址是同一个地址的情况下,函...

2019-07-20 11:14:22 412

原创 通俗地解释脏读、不可重复读、幻读

转自spring(数据库)事务隔离级别分为四种(级别递减):Serializable (串行化):最严格的级别,事务串行执行,资源消耗最大;REPEATABLE READ(重复读) :保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。避免了“脏读取”和“不可重复读取”的情况,但不能避免“幻读”,但是带来了更多的性能损失。READ COMMITTED (提交读):大多数主流...

2019-05-20 16:55:07 250

原创 密码学数学基础

https://wenku.baidu.com/view/07ae5ea7cf2f0066f5335a8102d276a20129607a.htmlhttps://spaces.ac.cn/archives/3200

2019-05-03 16:13:58 1309

原创 茫然传输(Oblivious Transfer)

转自1-out-2 OTOblivious Transfer(茫然传输)简称OT,是一种基本密码学原语,被广泛的用于安全多方计算等领域。OT最早在1981年被 Michael O. Rabin提出[1],在Rabin的OT协议中,发送者S发送一个信息m给接收者R,接收者R以1/2的概率接受信息m。所以在协议交互的结束的时候,S并不知道R是否接受了消息。该方案是基于RSA加密体系构造的。19...

2019-05-02 16:22:22 9023 1

原创 现代密码学及其应用(Cryptography and Secure Communication)-习题(Chapter 1)

1.1Prove that there are N! distinct ways to arrange a sequence of N distinct symbols.ans: an=n∗an−1a_n=n*a_{n-1}an​=n∗an−1​How many nontrivial recreational cipher keys on an alphabet of size 26 ar...

2019-04-28 16:04:49 2239 3

原创 简单移动平均 & 指数移动平均

https://blog.csdn.net/JUNJUN_ZHAO/article/details/79099040https://blog.csdn.net/sinat_29957455/article/details/81175894https://blog.csdn.net/sony_zhang/article/details/7256646https://www.jianshu.co...

2019-02-27 14:30:13 6573

原创 P问题、NP问题、NP完全问题和NP难问题概念梳理

非"正规"问题不可解问题:不存在解决算法的问题例子:停机问题不可能有复杂度O(多项式)问题例子:输出从1到n这n个数的全排列(因为把结果打印出来也是O(n!)的复杂度)"正规"问题正规的问题是让程序解决一个问题输出一个“YES”或“NO”(这被称为判定性问题)输出一个什么什么的最优值(这被称为最优化问题)。P | NPP类问题:存在多项式时间算法的问题。算法程序(...

2019-02-24 10:49:39 6525

原创 金融时间序列分析入门

定义对某一个或者一组变量X(t)进行观察测量,将在一系列时刻t1, t2, …, tn所得的离散序列集合,称之为时间序列。(注意,X(ti)X(t_i)X(ti​)是一个随机变量)特征趋势:是时间序列在长时期内呈现出来的持续向上或持续向下的变动。季节变动:是时间序列在一年内重复出现的周期性波动。它是诸如气候条件、生产条件、节假日或人们的风俗习惯等各种因素影响的结果。循环波动:是时间序列...

2019-02-18 23:50:20 7630

原创 如何检验高斯分布

统计检验的方法这个老哥的代码,不同size用不同的方法都写清楚了# -*- coding: utf-8 -*-'''Author:TobyQQ:231469242,all right reversed,no commercial use ''' import scipyfrom scipy.stats import fimport numpy as npimport mat...

2019-02-17 16:08:24 3937

原创 什么是白噪声?如何判断时间序列是白噪声?

什么是白噪声{e0,e1,...,et,...}\{e_0, e_1, ..., e_t, ...\}{e0​,e1​,...,et​,...}是白噪声的三个条件:E(et)=0E(e_t)=0E(et​)=0Var(et)=σ2Var(e_t)=\sigma^2Var(et​)=σ2当k≠0k\neq0k̸​=0时,Cov(et,et+k)=0Cov(e_t, e_{t+k})=0Co...

2019-02-17 11:48:42 71457 2

原创 常见的趋势曲线

常见的趋势曲线注:上面修正指数曲线的公式和下面的不一样,下面为y=k+abty=k+ab^ty=k+abt两种S型曲线(龚珀兹曲线,Logistic曲线)龚珀兹曲线Logistic曲线不同趋势曲线各自的特征直线预测模型y^t=a+bt\hat{y}_t=a+bty^​t​=a+bt一阶差分为常数∇y^t=y^t−y^t−1=b\nabla{\hat{y}}_t={\hat{y...

2019-02-14 13:54:26 15638

原创 利用scipy.optimize.curve_fit对函数进行拟合

基本使用用样本拟合函数f(x)=ae−bx+cf(x) = ae^{-bx}+cf(x)=ae−bx+c# 将图片内嵌在交互窗口,而不是弹出一个图片窗口%matplotlib inlineimport numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fit# 定义目标函数def ...

2019-02-13 23:56:05 23507

原创 协方差->相关系数->协方差矩阵->PCA

协方差定义Cov(X,Y)=∑i=1n(Xi−μx)(Yi−μy)nCov(X, Y)=\frac{\sum_{i=1}^{n}(X_i-\mu_x)(Y_i-\mu_y)}{n}Cov(X,Y)=n∑i=1n​(Xi​−μx​)(Yi​−μy​)​向量形式:Cov(X,Y)=(x⃗−μx)T(y⃗−μy)nCov(X, Y)=\frac{(\vec x-\mu_x)^T(\vec y-\...

2019-02-07 22:59:10 3150

原创 一些金融的基本知识

年化收益率 & 年化标准差年化收益率年化收益率=((投资内收益/本金)/投资天数)*365投资内收益=本金*年华收益率*投资天数/365例子某银行卖的一款理财产品,号称91天的年化收益率为3.1%,那么你购买了10万元,实际上你能收到的利息是10万*3.1%*91/365=772.88元。年化标准差一般假定一年有245工作日:年化标准差=统计周期标准差*sqrt(245/周...

2019-02-07 10:51:32 5596 1

原创 如何把字符串哈希成椭圆曲线上的点

朴素方法注:t就是字符串哈希(sha256)后的值,同时作为椭圆曲线点的x值,但是y值即s\sqrt{s}s​不一定是整数,因此构造x的过程中需要引入i,令x=t+ix=t+ix=t+i,不断地尝试。更先进的哈希方法和分析...

2019-02-07 10:19:59 1579

原创 BCH中的UTXO Commitment与其用到的ECMH哈希算法

UTXO Commitment有什么用?全节点的同步问题,可以让新的全节点快速启动目前,比特币的模式下要启动一个全结点,需要下载从创世区块到最新区块所有的区块。目前,所有区块的大小约为几百G。我们来思考一下,这样的方式是否是必要的,其实用全结点去验证新交易,我们其实直接操作的是UTXO集合,看一下新的交易是否引用UTXO集合的某个UTXO。UTXO集合其实就是比特币系统目前的状态,所以要启...

2019-02-07 10:03:03 723

原创 关于欧洲国家的变迁

一战前一战后塞尔维亚-克罗地亚-斯洛文尼亚应该就是南斯拉夫。二战后

2019-02-07 09:13:40 1295 1

原创 关于素数的一些概念

安全素数安全素数是满足2p+1形式的一类数,在这里p也是素数。(相反地,素数p叫做索菲热尔曼素数。)若p1=2*p2+1,则p1称为安全素数,p2称为索菲热尔曼素数。为什么叫安全素数之所以叫它们是“安全”素数,是因为它们在加密算法中的运用:某些约数分解的算法(如Pollard Rho算法)的计算时间部分取决于被分解数的素因数减去一的约数大小,而若被分解的数以一个安全素数2p+1作为约数,由...

2019-02-01 09:58:58 2370

转载 为什么DNS使用UDP而不是TCP?

转自问题DNS在进行区域传输的时候使用TCP,普通的查询使用UDP。为什么查询是使用UDP呢?网络上大部分答案都说UDP性能更好,打开网页速度快。如果是这样的话,为什么HTTP却是使用TCP呢?正文衡量计算机通信快慢的指标是“响应时间”,即从用户发出通信指令(输入网址敲回车键)开始,到用户看到完整页面为止,所流逝的时间。响应时间(ResponseTime)以浏览器为例,这个响应时间大体...

2019-01-31 10:53:34 9130 1

原创 米勒—拉宾 素性测试(Miller–Rabin primality test)

数论知识欧拉定理aϕ(n)≡1(mod n)a与n为正整数且互质a^{\phi(n)}\equiv1(mod\ n) \qquad a与n为正整数且互质aϕ(n)≡1(mod n)a与n为正整数且互质费马小定理若p为素数,且存在a与p互质(任意的a<p都满足),此时ϕ(p)=p−1\phi(p)=p-1ϕ(p)=p−1,根据欧拉定理有,ap−1≡1(mod&nb...

2019-01-20 00:21:44 1172

原创 从博弈论的美元拍卖实验看FOMO3D的规则

FOMO3D的规则FOMO3D本质上其实就是一个美元拍卖实验美元拍卖实验1美元拍卖案例,由著名博弈论专家,耶鲁大学教授马丁. 舒比克所设计:一名拍卖人拿出1张1美元钞票,请大家给这张钞票开价,每次叫价的增幅以5美分为单位,出价最高者得到这张1美元,但出价最高和次高者都要向拍卖人支付出价数目的费用。美元拍卖的纳什均衡首先考虑纯策略情况1:无人跟进(让跟进者无利可图)第一个人竞拍直接竞拍...

2019-01-04 23:38:18 1230

原创 Python3中的yield的用法/解析

参考自任何使用yield的函数都称之为生成器,生成器这个概念就不多说了。例子例子1 * 计数器def count(n): while n > 0: # 迭代器返回n yield n # 下一次迭代器开始的地方 n -= 1for i in count(5): print(i)例子2 * 斐波拉契数列def fibonacci(): a = b = 1...

2018-12-10 22:00:23 4246

原创 环签名(Ring signature)

参考自环签名指的是在n个公钥中隐藏自己拥有私钥的那个公钥,具体应用就在于区块链上隐藏交易发送人(地址/公钥)。准备首先定义以下函数,其中EkE_{k}Ek​为对称加密算法,k为EkE_{k}Ek​对应的对称密钥Ck,v(y1,y2,…,yn)=Ek(yn⊕Ek(yn−1⊕Ek(⋯⊕Ek(y1⊕v)… )))=v{\displaystyle C_{k,v}(y_...

2018-12-09 23:16:51 15619

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除