【区块链学习笔记】11:比特币系统中的匿名性

平时谈的匿名性(anonimity) 总是和隐私保护相关,即用户做的事情不想被别人知道。因为比特币系统中账户的产生不会暴露用户个人信息,用户可以产生很多对账户,然后用不同的账户做不同的事情。但这种不暴露个人信息的账户显然不是完全的匿名,可以称为假名(pseudonymity)。所以比特币系统中的匿...

2019-07-14 22:03:21

阅读数 11

评论数 0

【区块链学习笔记】10:比特币系统中的分叉

产生分叉的情况 [1]对区块链状态产生了分歧:state fork 前面学过,如果两个节点差不多同时挖到一个区块,这两个区块都是挂在当前的区块上的,不同节点先收到的区块不同,就会各自沿着先收到的区块往下扩展,这种时候就会出现临时性的分叉,称为state fork,即由于对区块链当前的状态有意见分...

2019-07-11 23:11:01

阅读数 15

评论数 0

【区块链学习笔记】9:比特币中使用的脚本语言#2

前面学到P2SK设计得很复杂,但其一个应用场景就是多重签名。 多重签名 比特币系统中一个交易输出可能要求使用它的交易输入提供多个签名,才能把BTC取出来。比如某个公司可能要求5个合伙人中的任意三个提供签名,才能把公司的钱转走。这样设计不但为私钥的泄露提供了一定安全性保护,也为私钥的丢失提供了一定的...

2019-07-10 23:07:20

阅读数 11

评论数 0

【区块链学习笔记】8:比特币中使用的脚本语言#1

比特币系统中使用的脚本语言很简单,唯一能访问的内存空间就是一个栈,这点和通用脚本语言的区别很大。 在blockchain.info上观察一个交易 以下面这个交易为例: 这个交易有一个输入和两个输出,其中一个输出已经被花出去了,另一个没有被花出去。 输入脚本 输入脚本包含两个操作,分别将两个很长的...

2019-07-10 18:29:32

阅读数 14

评论数 0

【区块链学习笔记】7:比特币中的挖矿

比特币系统中有两种节点,一种是全节点,一种是轻节点。 全节点的特征 一直在线 在本地硬盘上维护完整的区块链信息 在内存中维护UTXO集合,以便快速检验交易的正确性 监听比特币网络上的交易信息,验证每个交易的合法性 监听别的矿工挖出的区块,验证其合法性: 区块中的每个交易都要合法(包括铸币交易及...

2019-07-09 22:30:11

阅读数 15

评论数 0

【区块链学习笔记】6:比特币挖矿难度的调整

挖矿难度 挖矿就是不断尝试区块块头中的nonce和extra nonce的值,使得: H(block header)≤targetH(block\ header)\leq targetH(block header)≤target 显然目标阈值target越小,则...

2019-07-09 09:42:16

阅读数 49

评论数 0

【区块链学习笔记】5:比特币网络的原理简述

新的交易要发布到比特币网络上,矿工将交易打包成的区块也要发布到比特币网络上。 应用层:Bitcoin Blockchain 网络层:P2P Overlay Network 比特币网络中的P2P网络是很简单的,所有结点之间都是对等的,没有超级结点。要加入这个网络,至少要有一个种子结点(seed ...

2019-07-08 22:34:16

阅读数 15

评论数 0

【区块链学习笔记】4:比特币系统的实现

区块链是去中心化的账本,比特币采用的是基于交易的账本模式(transaction-based ledger),只记录了转账交易和铸币交易,并没有直接记录每个账户上有多少钱。如果想知道某个比特币账户上有多少钱,要通过交易记录来推算。 UTXO 比特币中的全结点要维护一个叫UTXO(Unspent T...

2019-07-08 20:09:11

阅读数 14

评论数 0

【区块链学习笔记】3:比特币中的共识协议

数字货币和纸质货币的区别 这里肖老师举了一个例子,比如央行要发行数字货币,如果直接为货币的面额等信息,用央行的私钥签名,然后使用的时候,用户直接拿央行的公钥验证签名,就这样用是行不通的,因为完全可以用这个数字货币再去买东西了,这叫双花攻击(double spending attack)。签名保证了...

2019-07-07 23:13:48

阅读数 12

评论数 0

【区块链学习笔记】2:比特币中的数据结构

[1]哈希指针 普通的指针存储的是某个数据在内存中的首地址。哈希指针不仅要保存地址,还要保存数据的哈希值。通过哈希指针不仅能找到数据的位置,还能检测出数据有没有被篡改(因为保存了哈希值)。 [2]区块链 区块链就是一个个区块(block)组成的链表。和普通的链表相比有一些区别。 用哈希指针代替普...

2019-07-06 22:43:05

阅读数 9

评论数 0

【区块链学习笔记】1:比特币中的密码学原理

跟着肖臻老师公开课学习一下区块链技术。 加密货币 加密货币(crypto-currency)是不加密的,区块链上的所有交易都是公开的,包括转账地址和转账金额。比特币中和密码学有关的技术主要就是哈希和签名两种技术。 密码学中的哈希函数 密码学中的哈希函数叫cryptographic hash fun...

2019-05-21 12:23:17

阅读数 62

评论数 1

【PyTorch学习笔记】19:Batch Normalization

归一化(Normalization) 简述 现在常使用ReLU函数,避免梯度弥散的问题,但是有些场合使用Sigmoid这样的函数效果更好(或者是必须使用),如Sigmoid函数当函数值较大或者较小时,其导数都接近0,这会引起梯度弥散,所以要将输入控制在一个较好的范围内,这样才避免了这种问题。 ...

2019-04-30 12:40:53

阅读数 64

评论数 0

【PyTorch学习笔记】18:pooling,up-sample,ReLU

pooling池化是下采样(down-sample)的一种手段,让feature map减小;而up-sample则是上采样,实际上做了放大图像的操作。 在CNN中,基本的单元是一个Conv2d,后面配上[Batch Norm, pooling, ReLU],后面三个的顺序不一定。 pooli...

2019-04-29 10:21:26

阅读数 110

评论数 0

【Go学习笔记】1:变量,常量,数组

变量基本使用 package main import "fmt" var e = "一个全局变量字符串" var f, g int = 1, 2 //一次定义多个 //可以用因式分解的写法 var ( h, i, j int = 3, 4, ...

2019-04-26 21:10:23

阅读数 70

评论数 0

【Keras学习笔记】11:CNN识别MNIST手写数字

CNN架构 卷积层 layers.Conv2D data-format: 输入图像的格式,当为"channels_last"时为(batch, height, width, channels);当为"channels_first"时为(batch, cha...

2019-04-24 15:28:04

阅读数 42

评论数 0

【Keras学习笔记】10:IMDb电影评价数据集文本分类

读取数据 import keras from keras import layers import numpy as np from matplotlib import pyplot as plt import pandas as pd %matplotlib inline Using Tens...

2019-04-20 18:50:20

阅读数 396

评论数 0

【Keras学习笔记】9:从MNIST手写数字识别中初识ANN超参数的选择

读取数据 import keras from keras import layers import numpy as np from matplotlib import pyplot as plt import pandas as pd %matplotlib inline Us...

2019-04-19 19:31:39

阅读数 119

评论数 2

【Keras学习笔记】8:使用Dropout和正则化项抑制过拟合

读取数据和预处理 import keras from keras import layers import numpy as np from matplotlib import pyplot as plt import pandas as pd %matplotlib inline Using ...

2019-04-19 17:38:01

阅读数 132

评论数 0

【Keras学习笔记】7:较多参数的MLP在信用卡欺诈数据集上过拟合

读取数据和预处理 import keras from keras import layers import numpy as np from matplotlib import pyplot as plt import pandas as pd %matplotlib inline ...

2019-04-17 19:59:47

阅读数 47

评论数 0

【Keras学习笔记】6:MLP预测Titanic数据集

读取数据和预处理 import keras from keras import layers from matplotlib import pyplot as plt import numpy as np import pandas as pd %matplotlib inline Using ...

2019-04-17 18:04:57

阅读数 222

评论数 0

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