20190915-20190930
吴恩达机器学习公开课
这段时间公开课看到第六章,初识机器学习,对机器学习的概念有了初步的掌握,机器学习分为监督学习和非监督学习。了解梯度下降算法,以梯度下降算法为基础的单变量线性回归算法和多元线性回归算法,根据不同的数据,观察并计算出最合适的函数。公开课还对Octave的基本操作,如输入输出,矩阵计算,文件加载等一些语法进行了讲解以及实际操作。
区块链
中本聪《bitcoin:A peer to peer electronic cash system》
这是中本聪在2008年发表的论文,第一次提出比特币的概念,全文重点讨论比特币系统,给出对比特币的完整构想。依次介绍了比特币最重要的概念,包括交易、时间戳服务器、工作量证明、网络传播、激励、回收硬盘空间、简化的支付验证、合并和分割交易额、隐私,最后通过概率论证明双重支付难以发生。区块链在此文中被描述为用于记录比特币交易的账目历史。
《区块链技术指南》
这本书讲述区块链的来龙去脉。包括区块链的概念,为何会出现,使用场景、区块链的核心技术,介绍比特币、以太坊、超级账本这三大落地项目的架构设计。之后介绍了几个使用区块链的典型的应用场景,列出区块链技术在未来发展中的关键技术的重点难点。
区块链共识机制
The DAO攻击事件
The DAO事件是区块链历史上的著名事件,由于智能合约的漏洞造成资金被黑客转移,这个事件的发生使人们开始逐渐认识到区块链项目的安全问题很重要。
共识
在区块链世界里,达成共识非常简单:最长的那条链代表了真理,所有人都就接受;其他分支都是分叉,都会被遗忘。区块链是比特币背后的核心技术,也是支撑比特币的基础架构。比特币最核心的突破是在去中心化的情况下对交易事件达成了共识,即在没有中心组织的情况下对某个交易的有效性达成了一致。
比特币实现共识的方法主要包括两个部分:
(1)激励:即通过每个区块产生一定量的新比特币来激励参与者;
(2)引入外部资源确保安全:即通过大量的外部计算来确保共识的安全性,也就是工作量证明。
共识算法
PoW工作证明
比特币在Block的生成过程中使用了PoW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。
PoS股权证明
类似财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。
DPoS委任权益证明
让每个持有比特股的人进行投票,由此产生101位代表,可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权力是完全相等的
PBFT使用拜占庭容错算法
服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。拜占庭算法的核心在于少数人m服从于多数人3m+1这个策略,拓展延伸到这里就是。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能是要的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
存在即合理,每种算法都在特定的时间段中有各自的考虑和意义,无论是技术上还是业务上。共识算法的选择与应用场景高度相关,根据对手方信任度分级,自由选择共识机制,这样才是真的最优。