自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 《区块链基础知识25讲》学习笔记——第一部分区块链术语与技术基础

本书相对来说比较基础,笔记会比较简单第一讲 理解分层的概念一、软件系统的分层根据主观上对系统按照用户需求和内在技术原理进行划分,可以分成应用层与实现层。应用层:所有内容都是从用户需求出发的(如想听音乐)实现层:使得需求落地实现的内容(将电信信号转变成模拟信号),实现层中的所有内容本质上都是技术性的,并且都会被当作达到目标的方法。根据一个系统能够做什么和 这个系统做的怎么样可以分成功能性与非功能性...

2021-10-06 16:38:07 8412

原创 《区块链技术与应用》学习笔记14——ETH智能合约

一、简介智能合约:运行在区块链系统上的一段代码,代码逻辑定义了合约内容。智能合约的账户保存了合约当前的运行状态:balance:当前余额nonce:交易次数code:合约代码storage:存储,数据结构为一棵MPT二、账户调用外部账户调用合约账户创建一个交易,接收地址为要调用的那个智能合约的地址,data域填写要调用的函数及参数的编码值。合约账户调用合约账户(1)直接调用错误处理:直接调用的方式,一方产生异常会导致另一方也进行回滚操作。(2)address调用错

2021-10-04 11:34:50 912

原创 《区块链技术与应用》学习笔记13——ETH权益证明

矿工挖矿是为了取得出块奖励,获取收益。而系统给予出块奖励的目的是激励矿工参与区块链系统维护,进行记账,而挖矿本质上是看矿工投入资金来决定的(投入资金买设备->设备决定算力->算力比例决定收益)。那么,为什么不直接拼“钱”呢?现状是用钱购买矿机维护系统稳定,为什么不大家都将钱投入到系统开发和维护中,而根据投入钱的多少来进行收益分配呢?这就是权益证明的基本思想。一、权益证明一般来说,采用权益证明的货币,会先预留一些货币给开发者,而开发者也会出售一些货币换取开发所需要的资金,在系统进入稳定状态后

2021-10-04 09:48:05 7909

原创 《区块链技术与应用》学习笔记11——GHOST协议

以太坊中的问题BTC系统中出块时间为10min,而以太坊中出块时间被降低到15s左右,虽然有效提高了额系统反应时间和吞吐率,却也导致系统临时性分叉变成常态,且分叉更多。在BTC系统中,不在最长合法链上的节点最后都是作废的,BTC系统中出块时间为10min,而以太坊中出块时间被降低到15s左右,虽然有效提高了系统反应时间和吞吐率,却也导致系统临时性分叉变成常态,且分叉数目更多。Ghost协议一、 GHOST协议最初版本叔父区块:A、B、C、D在四个分支上,B所在链成为最长合法链,因此A、C.

2021-10-03 15:08:10 401

原创 《区块链技术与应用》学习笔记10——ETH数据结构

在以太坊中,有三棵树的说法,分别是状态数、收据树和交易树。一、引入我们要实现从账户地址到账户状态的映射。在以太坊中,账户地址为160位,表示为40个16进制数。状态包含了余额(alance)、交易次数(nonce),合约账户中还包含了code(代码)、存储(storge)。直观来看,其本质上为Key-value键值对,所以直观想法便用哈希表实现。若不考虑哈希碰撞 ,查询直接为常数级别的查询效率。但采用哈希表,难以提供Merkle proof。需要记住的是,在BTC和以太坊中,交易保存在区块内部.

2021-10-03 14:13:46 9670

原创 《区块链技术与应用》学习笔记8——匿名性

一般来说,匿名性多与隐私保护相关。但实际上,比特币中的匿名并非真正的匿名,而是假的匿名。实际上,比特币与纸币相比,纸币的匿名性更好,因为其并没有对个人信息的标记。也正是因为其匿名性,很多非法交易采用现金交易(银行风控系统了解一下?)。但现金存在保管、运输等各个方面的不便。

2021-09-27 16:47:15 1196

原创 《区块链技术与应用》学习笔记4——BTC系统实现

1. UTXO(尚未被花掉的交易输出)A转给B五个BTC,转给C3个BTC,B将5个BTC花掉,则该交易记录不保存在UTXO中,C没有花掉,则该交易记录保存在UTXO中。UTXO集合中每个元素要给出产生这个输出的交易的哈希值,以及其在交易中是第几个输出。通过这两个信息,便可以定位到UTXO中的输出。意义:为了防范“双花攻击”,判断一个交易是否合法,要查一下想要花掉的BTC是否在该集合中,只有在集合中才是合法的。如果想要花掉的BTC不在UTXO中,那么说明这个BTC要么根本不存在,要么已经被花过。2.

2021-09-25 15:45:11 603

原创 《区块链技术与应用》学习笔记3——BTC共识协议

1. 数字货币中经常出现的问题双花攻击1)数字货币本身为带有签名的数据文件,可以进行复制。对于用户来说就可以花两次。2)解决:对货币添加唯一编号,每次支付向货币发行单位查询真伪。3)问题:货币发行单位是一个第三方机构,并且这是一个典型的第三方中心化方案。基于这个背景,以去中心化思想为核心的比特币系统便吸引了人们的注意力。去...

2021-09-23 14:52:58 1105

原创 《区块链技术与应用》学习笔记2——BTC数据结构

Hash pointer(哈希指针)指针    在程序运行过程中,需要用到数据。最简单的是直接获取数据,但当数据本身较大,需要占用较大空间时,明显会造成一定麻烦。因此可以引用指针,每次获取相应的数据即可。    实际使用中,指针实际上存储的是逻辑地址更多哈希指针    如下图对于该节点,我们可以看到有两个指针指向这个节点(实际上为一个),其中P为该节点的地址,H()为该节点的哈

2021-09-13 20:10:42 1272

原创 《区块链技术与应用》学习笔记 1 ——BTC密码学原理

比特币属于加密货币,但比特币本身开放,交易记录、交易金额、交易内容甚至源代码都向全网开放,是加密确保了信息的不可篡改,保证了区块链本身的优势——不可篡改。比特币系统中,加密主要涉及两个部分。 hash(哈希)哈希碰撞:给定x和y,且有x!=y,但给定一个哈希函数Hash(),可以得到Hash(x)=Hash(y),则称为hash碰撞。(针对哈希碰撞出现后如何处理,如:开放定址法、公共溢出区等)collision resistance(碰撞抗性),如果有Hash(x)!=Hash(

2021-09-13 15:58:25 952

原创 python编程从入门到实践学习笔记

第一章一、安装python1.python官网地址https://www.python.org/downloads/release/2.下载好后用管理员模式打开安装包3.第二章2.1 运行hello_world.py运行文件拓展名为.py的文件,编辑器会用python解释器来运行它。语法高亮2.2 变量‘’‘pythonmessage = “hello python world”‘’’其中message为变量2.2.1 变量的命名和使用变量名只能包含字母、数字和下划线。可

2021-07-20 17:10:30 944 1

原创 python中正则表达式re模块

正则表达式一个特殊的字符序列,用来检索替换某些符合规则的文本。Re模块使得python语言拥有全部的正则表达式功能。正则查找import research / match / fullmatchfindall / finditerword = ‘ab128cd347820ef3214ab32’# 3就表示字符3 \d表示任意数字 +表示出现一次或多次# +可代替为空,为空时表示后面一位 可为{3} 表示为三位re.search(r’3\d+’,word)

2021-04-09 20:12:53 289

原创 pox控制器学习笔记

一、安装poxpox基于python2.7$ git clone http://github.com/noxrepo/pox$ cd pox~/pox$ git checkout dart二、调用pox如果想快速入门./pox.py samples.pretty_log Forwarding.l2_learningPOX本身有几个可选的命令行参数,这些参数可以在命令行开始...

2020-04-06 23:03:01 4876

原创 sdn学习笔记

一、软件定义网络技术概述 1.1 软件定义网络技术产生1.1.1什么是sdn软件定义网络(sofware defined network)1.1.2 为什么要sdn传统网络及其设备的值可配置、不可编程网络的分布式控制与管理架构使得传统网络难以管理1.1.3 sdn特点能够弹性响应上层变化的网络可编程引入一个集中统一的控制与管理层解耦网络设备的管理平面、控制平面...

2020-03-28 18:32:21 2529

原创 C++程序设计(第三版)谭浩强读书笔记

第一章 c++的初步知识1.1C++对c增强对c功能做了补充增加面向对象的机制1.2C++程序分析main前面的int的作用是声明函数类型为整型cout实际上为输出流对象函数体由大括号{ }括起来的#include是预处理命令,它将iostream内容包含到该命令所在的程序文件中“<<”是插入运算符,输出的队列也叫输出流“>>”是提取运算符cl...

2020-02-23 23:11:11 4530 3

原创 python从入门到sj 第十章

10-1#!/usr/bin/env python # -*- coding:utf-8 -*-file = 'learning.txt'with open(file) as file_object: contents = file_object.read() print(contents.rstrip())with open(file) as file_obj...

2020-02-17 12:33:07 156

原创 py从入门到sj课后第九章

9-1#!/usr/bin/env python # -*- coding:utf-8 -*-class Restaurant(): def __init__(self,restaurant_name,cuisine_type): self.name = restaurant_name self.type = cuisine_type d...

2018-08-12 16:21:45 174

原创 关于一些隐写术

一、wbStego4.3open 功能:将一些文件隐藏到BMP、TXT、HTM和PDF文件中且不会被看出破绽。 破解:二、word中字体隐藏 实现:勾选字体以后可选择隐藏属性 查看:1.单机文件→选项→显示 2.单击文件→信息→检查文档可以查看出有隐藏文字三、利用压缩文件

2017-10-22 14:21:18 5464

空空如也

空空如也

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

TA关注的人

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