想念20184星评价
2020-10-13 09:51:42
目前主流的区块链系统有两个:
公链:以太坊 以太坊最大的特点是让链上能跑智能合约
联盟链:hyperledger中的fabric-IBM出品 企业级开源区块链,稳定、“高效”、智能合约
如果你有创业的打算:
可以更多了解下公链相关的知识
如果你想做企业级应用:
建议多了解fabric
区块链有一些共同的特点,我觉得是需要学习和了解的
(1)密码学基础知识:哈希(hash)、对称加密、非对称加密 (了解是什么意思,大概有什么作用就行了,现在接口都有现成的,会调用即可)、数字证书与签名
(2)基础的数据库知识(相信题主应该没问题)
(3)分布式共识机制:公链:POW Bitcoin: A Peer-to-Peer Electronic Cash System
POS POS白皮书:基于权益证明的交易 | 巴比特
联盟链:PBFT 区块链核心技术:拜占庭共识算法之PBFT
(4)编程语言:这点不好说,不同的链用了不同的编程语言,需要针对性学习,不对题主作为程序员应该没问题!
上面都是基础的背景知识,我觉得需要单独了解,以上的东西了解后可以开始后面的学习
后面的学习是并行的
(1)需要了解行业,找找到底需要什么样的人
关注公众号->看看最近都有什么项目->去他们官网看招不招人->招什么样的?
(2)需要了解比特币 介绍 · 精通比特币-巴比特图书
(3)再读几本书 这里就不具体推荐了,区块链技术相关的书籍现在有蛮多,建议你根据自己的目标选择,不同的书籍会侧重不同种类的链(公链/联盟链)
(4)最好能做些项目! 比如自己建一个币(改比特币源码)/自己用fabric做一个小应用之类的
加油!!!
太阳.体验合2星评价
2020-10-12 09:53:46
从字面上看:区块链是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。
从计算机上看:区块链是一种比较特殊的分布式数据库。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查看到。
区块链是一种分布式的,所以它是没有中心点的,信息存储在所有加入到区块链网络的节点当中,节点的数据是同步的。节点可以是一台服务器,笔记本电脑,手机等。
你要知道的是这些节点的存储的数据都是一模一样。
去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第三方系统了(银行、支付宝、房产中介等都属于第三方)。
开放性:区块链的系统数据是公开透明的,每个人都可以参与进来,比如租房子,你可以知道这个房子以前的出租信息,有没出现过问题,当然这里头的一些个人私有信息是加密的。
自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法),然后各个节点就按照这个规范来操作,这样就是所有的东西都有机器完成,就没有人情成分。 使得对"人"的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改:如果信息存储到区块链中就被永久保存,是没办法去改变,至于 51% 攻击,基本不可能实现。
匿名性:区块链上面没有个人的信息,因为这些都是加密的,是一堆数字字母组成的字符串,这样就不会出现你的各种身份证信息、电话号码被倒卖的现象。
区块包含两个部分:
1、区块头(Head):记录当前区块的元信息
2、区块体(Body):实际数据
包含数据如下图所示:
我们以转账为例:
目前我们转账都是中心化的,银行是一个中心化账本,例如 A 账号里有 400 块钱,B 账号里有 100 块钱。
当 A 要转 100 块钱给 B 时,A 要通过银行提交转账申请,银行验证通过后,就从 A 账号上扣除 100 块,B 账号增加 100 块。
计算后 A 账号扣除 100 后余额为300元,B 账号加上 100 后余额为 200 元。
区块链上转账的步骤则是:A 要转账给 B 100 块钱,A 就会在网络上把要转账的这个信息告诉大家,大家会去查看 A 的账户上是否有足够的钱去完成这个转账,如果验证通过后,大家就把这个信息都记录到自己的电脑上区块链中,且每个人记入的信息都是同步一致的,这样 A 就顺利将 100 块钱转移到了 B 的账户上。可以看到这中间并没有银行啥事。