前言本文面向于对区块链还没有概念的小白,分享一下我在学习区块链入门知识之后总结的笔记。行文结构包含几个部分的介绍:核心概念、核心技术、如何运行、共识机制及主流项目。基本概念区块链==智能合约平台1)区块链首先是一个分布式网络,让所有的独立节点想要达成共识去记录和Token相关的事情,是区块链
本文面向于对区块链还没有概念的小白,分享一下我在学习区块链入门知识之后总结的笔记。行文结构包含几个部分的介绍:核心概念、核心技术、如何运行、共识机制及主流项目。
区块链==智能合约平台
1)区块链首先是一个分布式网络,让所有的独立节点想要达成共识去记录和Token相关的事情,是区块链在技术上首先要解决的问题,这就是我们常说的共识过程,可以帮助所有人无门槛地构建属于自己的小经济系统,可以点对点的进行转账。
2)区块链和安全二字密不可分,其本质属于网络安全方向,用于实现去中心化的安全认证与存储
3)每个节点都是点对点P2P的,维护分布式账本,具有共识机制,不可篡改。
4)区块链本质上还是分布式系统,用著名的CAP定理来解释发现区块链其实是一个AP系统,如果强调“不可篡改”“去中心化”这两个特性,就会明显感觉到区块链跟不上大吞吐量的业务。因此在做技术选型的时候不要硬用区块链来做。
5)在技术上的七个特征:
6)区块链中最核心的两个技术点是共识机制和密码学,主要应用两类密码算法:哈希和非对称加密
7)区块链核心思想:一种所有人共同维护、无法篡改、人人都能验证的去中心化账本系统。用技术取代了对中介的信任。符合最长链准则。
区块链=区中心的分布式账本+共识机制+加密保障
8)区块是装交易的容器,链是把所有区块串起来的方式,
无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1)P2P网络协议是所有区块链中最底层的模块,负责交易数据的网络传输和广播、节点发现和维护。
2)区块链其实是基于TCP/IP网络协议
3)P2P网络技术要解决两个主要问题,第一是资源定位,第二是资源获取,其中节点发现和局域网穿透是属于资源定位问题,节点交互协议是属于资源获取问题。
1)经典的分布式一致性算法
2)区块链共识算法
区块链技术把原来的分布式算法进行了经济学上的拓展,区块链中多采用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是融入了经济学博弈的概念。
在区块链领域,哈希算法是应用得最多的算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。哈希类似于一个榨汁机,每一个区块都会包含前一个区块的哈希值,来保证不可篡改。
1)比特币使用的是SHA256作为PoW的计算方法,莱特币用的是Scrypt算法需要大内存的支持;以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个IO难解性的算法。
2)使用到RIPEMD160算法,主要用于生成地址
3)区块链Token系统的基石:公私钥密码算法。在比特币中使用的是ECDSA,从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4)设计元界区块链时,参考了多种基于轻量级的数据库,像NOSQL、SQLite
在CAP定理中C和P是可以相互调整的,区块链交易TPS与去中心化的具有不可调和性
为了提高TPS,有两种方案:
1)大部分区块链是以比特币区块链为基础扩充的
2)运行步骤包括区块链中公开记账、创建创世区块、交易、打包Transaction、广播交易
工作量证明(Proof-of-Work,简称 PoW)是区块链最早使用的共识机制,它要求矿工通过反复计算哈希值的方式,证明自己消耗了足够的计算资源,从而获得打包新区块的权利并赢得区块奖励。
通俗来说:在区块链(比如比特币)里,挖矿其实就是一个比赛猜谜题的过程。这个谜题就是 PoW 共识机制设置的:谁能最快找到一个符合条件的哈希值。算力越强,单位时间能试的次数越多,就越有可能先找到答案、获得打包新区块的机会,同时拿到区块奖励。
PoW是一种简单粗暴的共识算法,面临了挖矿中心化严重的问题。
挖矿这个步骤,就是通过 PoW 共识算法来决定谁来记账。
PoS区块链系统无需外部物理输入,相比PoW更环保,一定程度上抵御了51%攻击但是缺乏工业级的区块链应用。
1)数字货币(加密货币)
2)ICO:首次代币发行,又称为区块链众筹,这是一种新型的融资模式,投资者可以用手中的比特币或其
他代币投到一些区块链创始项目。
3)去中心化金融(DeFi)
思考:还有哪些行业,可以使用区块链进行数字化呢?
只要是“多方合作又不完全互信”的地方,区块链都有机会帮忙做更可信的数字化。
1)把代币发送给其他人,需要别人提供钱包地址
可以通过区块浏览器查询代币交易:https://www.blockchain.com/en/
1)比特币:比特币的市值和交易量远远超过其他区块链项目。
2)以太坊:提供了智能合约这种可以自定义业务逻辑的工具,智能合约是一种可编程的合约,合约是由用户编写并且部署到区块链上的。
3)瑞波币(Ripple):一种支付结算协议,瑞波币不需要挖矿,它是通过一种叫“Open Coin”的算法,提供瑞波协议共识来达到记账的目的。
4)莱特币:把比特币的挖矿算法修改成了Scrypt算法
5)USDT:和美元一对一锚定,用户存入多少美元,就会产生多少USDT进入虚拟资产网络
6)中国的公链项目不多,分别有NEO、量子链、元界、公信宝、比原链。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!