一、Double spending attack(双花攻击)双花攻击指同一笔资金被重复支付的情况,也是数字货币面临的主要挑战
中心化解决方案:数字货币上添加唯一编号,并由央行维护一个数据结构,展示每个编号的货币由谁持有;如果付费方的货币在表中对应的持有人与此人不符,则证明该货币已支付给其他人
去中心化的解决方案:比特币
关注:货币的发行(挖矿)、交易的有效性验证(防范双花攻击)
二、交易的有...
一、Hash Pointers(哈希指针)哈希指针除了地址之外,还要保存地址的哈希值,用于检测结构体的内容是否被篡改
Block chain is a linked list using hash pointers.
区块链中的第一个区块叫 genesis block(创世区块),其 height(高度)为 0;最后一个区块叫 most recent block
后一个区块中的哈希指针是对...
Crypto-currency(加密货币)
区块链和比特币主要用到:哈希函数 和 数字签名
一、Cryptographic Hash Function(哈希函数)区块链用到了哈希函数的 抗碰撞性 和 隐私性;比特币除了这两个性质,还要求 谜题友好性
(1)Collision resistance(抗碰撞) x≠y, H(x)≠H(y) 给定一个x,没有高效的方法找到一个y,满足H(x)...
本课程主要讲:比特币和以太坊 两种加密货币
视频链接:
https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click&vd_source=69ac93649ea21c4726fe85f272b6d968
一、TCP 和 UDP 的区别TCP 和 UDP 都是传输层协议,不同点在于:
TCP 是 面向连接的、可靠的、面向字节流 的
UDP 是 面向无连接 的
TCP 的三大核心特性
1、面向连接在客户端和服务器互相通信之前,TCP 需要三次握手建立连接,而 UDP 不需要
2、可靠性TCP 的可靠性体现在有状态、可控制。
(1)有状态TCP 会记录发送的数据,以及其中被接收和未被接收的数...
一、相同点1、都可以描述对象和函数的类型但语法不一样,type 使用 = 赋值
12345678interface User { name: string age: number}interface SetUser { (name: string, age: number): void}
123456type User =...
三次握手一、概念1、TCP 协议TCP(Transmission Control Protocol),即传输控制协议。TCP 协议是一个 面向连接的、可靠的、基于字节流 的 传输层协议。
TCP 连接可以用于 保证可靠性 和 流量控制机制,包括 Socket、序列号及窗口大小。
其中 Socket 是由 IP 加端口组成的,序列号是用来解决乱序问题的,而窗口大小则是用来做流量控制的。
2、T...
一、概念CDN 全称为 “Content Delivery Network”,即内容分发网络。CDN 是一种特殊的 DNS服务器。
二、原理当使用域名访问某一个网站时(比如访问 www.baidu.com),分为两步:
首先解析出该域名所对应的 IP地址(DNS 域名解析)
然后将 Http请求包 路由到 IP地址 所对应的服务器
(注:IP地址和网卡相绑定,一个服务器可以有多个网卡,即...
一、定义DNS 是:
一个使得主机能够查询分布式数据库的应用层协议
一个由分层的 DNS 服务器实现的分布式数据库
(1)DNS 是一个分布式数据库,整个 DNS 系统由分散在世界各地的很多 DNS 服务器组成,每台服务器上都保存了一些数据,可以让我们最终查到主机名对应的 IP。
(2)DNS 是一个应用层协议,发送一个包含所查询主机名的请求,它会返回该主机名对应的 IP。
分布式: 世...
总结出现304状态码的条件
不禁止缓存
不检查本地缓存是否过期;或者检查本地缓存、且未过期
响应头有Etag(则下次的请求头中有If-None-Match);或者响应头有Last-Modified(则下次的请求头中有If-Modified-since)
缓存有效
注意:下图中的Etag和Last-Modified之间不存在先后顺序
一、304请求的交互过程假设用户通过浏览器访问某静态资...