简单学习区块链

1、 最基本的区块链是什么?其实就是链表,linkedlist.

2、 数据存储的两个方式:GFS,P2P。

3、 分布式数据库,持续的递增。

4、 一个区块中有block的索引,block的时间戳,block的具体的data,自己的hash(用的是sha256算法)用这个算法对区块进行签名,前一个区块的hash值,从而将区块串联了起来

5、 区块链的核心代码

Class Block{

Public index: number;

Public hash: string;

Public previoushash:string;

Public timestamp:number;

Public data:string;

}

6、 怎么保证数据不被篡改:这个时候我们用sha256算法。SHA256(index+previousHash+timestamp+data).toString();

7、 做区块的时候需要检查数据的有效性比如:区块之间的索引是+1的,当前区块的preioushash是否和前一个区块的hash是否相同。还有一个细节,检查区块内的数据结构是否正确js特有的。

8、 区块链分叉了怎么办?选择更长的链。听大多数人的。这个也需要代码来体现。

9、 节点之间如何通信:网络中有很多的节点 ,大家都有可能去创建区块,这需要大家通过协商通讯的方式达成共识这需要以下三个基本功能:1.当一个节点创建了一个区块,需要通知整个网络。2.当一个节点连接上了一个新的节点,需要主动询问对方最新的区块。3.当一个节点遇到一个新块的时候,它会根据判断的结果向网络请求更多的区块。

10、当你的节点和其他节点全部去操作的时候,就会碰到一个互相连接的情况这个往往通过webSocket协议来做的

11、得到区块链后有两个接口一个是http接口对它进行控制,另外一个是socket接口就是一个节点和很多节点连到一块去互相通讯的。

12、如何应对攻击:每个人都能加区块,这样会造成混乱,拼命加块也会造成网络堵塞。如何应对呢?我们限制每个人添加区块的能力。每次添加都需要做一道“难题”就行。这就是PoW的基本原理,这个解题过程也就被称之为挖矿。因此难题的设置会影响节点添加区块的难度。越难的题会让我们越难添加区块。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不...
    dtdh阅读 579评论 0 0
  • 1 货币的演变——从贝壳到比特币 当社会分工产生之后,人类就产生了商品交换的需求。在货币被发明之前,人类是以以物换...
    longlee阅读 7,700评论 1 23
  • 怎么说呢,我想写点什么,证明这段时间我没有白过这种想法早在一年前就有了。但一直没有动笔总觉得不知该从何开始写起,近...
    巴普洛夫有点忙阅读 304评论 0 0
  • 《曹操》 扶汉挟持天子令, 孤胆敢入董贼营。 不耻皇叔儿女态, 天下谓尔是枭雄。
    莞尔_阅读 285评论 0 1