IT和非IT人士:2分钟了解什么是区块链
本文由 网易云发布。
(非IT:阅读常规部分;IT:阅读引用块)
作者:任长存,网易杭州研究院工程师
前言
信息的高速发展,致使互联网风口犹如娱乐圈,移动互联网,微博、直播、共享经济、短视频、小程序、VR、AR、人工智能等上演各种各样的传说和泡沫,大佬纷纷表示自己的见解和站队,2017年末,这个舞台又出现了一个闪耀的明星,那就是区块链,相比其他互联网技术,区块链门槛并不是很高,前者有比特币为代表的优秀实践者,现在又出现了以太坊等公链的底层保障。可谓是火热至极,现在混互联网说不出来区块链到底是什么都感觉有点跟不上时代了,要说起区块链,得先了解下什么是比特币。
区块链目前总体架构分为这几个部分:数据层、网络层、共识层、激励层、合约层和应用层,前三层是区块链的底层技术;
数据层:封装了底层的数据区块的链式结构,以及非对称数据加密技术和时间戳。
网络层:包括p2p组网技术,数据传播机制及数据验证机制,类似快播的原理。
共识层:封装了网络节点的各类共识机制算法,这也是区块链的核心技术,就好比是我们在开发时采用的策略模式,其中具有代表的是工作量证明机制(Pow)、权益证明机制(Pos)、股份授权机制(DPos)。
激励层:激励区块链技术中遵守规则的节点,惩罚不遵守规则的节点。
合约层:封装各类脚本、算法和智能合约,是区块链可编程特性的基础,好比操作系统,可编程各式各样的应用,如支付宝、微信等。
应用层:就是终端产品,用户可以操作的Application。
比特币基本概念

要说起比特币,我也是心塞,期初我对比特币的了解知之甚少,只知道是一种虚拟货币,感觉可有可无的东西,后来我了解了一些金融知识,才发现比特币实际上跟我们使用的人民币是一个概念,人民币、美元、欧元(简称货币)为什么能够有价值,可换取劳动成果,那是因为它实现了等价交换,可以在商品之间流通,当初中本聪大叔设计这套系统的时候,也是想实现这个愿望,只不过他的货币是去中心化,不是由某个机构来发行的。
比特币并非是区块链,而只是运用区块链来记录交易信息的账簿其中比特币采用共识层就是工作量证明机制(Pow), 当比特币有交易信息时,先生成一笔订单,购买者用自己私钥对该笔订单进行签名,附近的节点会对该比订单进行验证是否合法,通过再通过p2p网络层通知各个节点。
其中私钥通过在一个密码学安全的随机源中取出一串随机字节,对其使用SHA256哈希算法进行运算,生成了一个256位的数字,这样的一个数字就可以作为私钥。以十六进制格式表示一个随机生成的私钥,即:1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD
其中公钥通过椭圆曲线算法可以从私钥计算得到公钥,这是不可逆转的过程。由公钥经过单向的加密哈希算法生成的比特币地址以数字“1”开头,在交易中比特币地址就是收款人的地址。

中心化和去中心化
人民币、美元、欧元这些货币也可以叫做法币,是由某一个机构生产出来的,比如人民币只能由中国政府印发,其他国家和个人发行是非法的,但是比特币不一样,是人人都可以生产和记录,这个模型就是去中心化,过程就叫做挖矿。
目前很多大佬纷纷站出来说,完全去中心化实际上很难,未来的硬件很难支持,区块链的核心思想还是分布式网络,去中心化和分布式最大的区别在于分布式你可以知道下一个做决策的节点是谁,而去中心化,你不知道下一个做决策的节点是谁。

挖矿
比特币的挖矿和传统意义上的挖矿在广义上差不多,都是通过劳动来获得报酬,比特币的挖矿也是一样,矿工(每个人都可以,只要有设备)通过下载专门的软件进行运算,生成新的区块就可以获得一定的比特币报酬。
- 早期的挖矿用CPU就可以实现,本聪大叔是第一个矿工,当初他就用CPU挖到了50个比特币。
- 早期人少人人都有挖矿的权利,但是现在比特币这么火爆,而且比特币总数是固定的,每个区块是越挖越少,不可能每个人都能获得挖矿的权利,这个时候就要比拼算力,谁在越短的时间内计算次数越多,就能获得挖矿权,就好比现在的打车抢单,抢红包,谁手速快就能获得挖矿的权利。
- 如何提升算力?购买专业的设备,比如矿机,你可以购买多台形成一定的规模,这就叫矿场,后来单个矿场的算力也跟不上需要,矿场和矿场联合就形成的矿池。
ps:目前比特币的挖矿主要在中国,目前挖到一个比特币大概在7000美元左右,因为比特币越来越少,难度越来越高,浪费大量的电力和设备损耗。
想体验挖矿的 可以去百度挖挖看(这个不是比特币挖矿,但都类似),有可能一天下来,挣的钱还不够电费钱。
什么是区块
刚才说挖矿从生成新的区块来获取比特币,那这个区块到底是什么东西?实际上这个区块就是比特币的交易信息,因为比特币是去中心化的,不是某个人来进行生产,则为了奖励记录这些交易信息的人,从而生成新的比特币,每个区块之间(交易信息记录)会形成一条链式结构,则这种结构就叫做区块链。
从以上信息可看出区块链的特点是安全,区块的链式结构和加密算法是保证安全的基础,每个区块有上个区块的Hash索引和时间戳,当有黑客攻击时单个修改是无效的,必须要超过51%的节点同时修改才会生效,区块链的结构采用的是默克尔树结构,当一笔订单被篡改,其区块的hash值会改变,则会影响下一个区块的hash值,依次类推,会导致该篡改的区块ID会发生变化,从区块链断开,这样的区块是不被认可,从而实现信息的安全性。


如何看待区块链
目前区块链还处于发展的阶段,底层技术还不够完善且去中心化的特性容易造成误操作数据,比如你转账给某人,如果完全采用比特币的区块链技术,该笔交易如果是转错账是无法找回的。其次当大量交易并发时,这种去中心化的节点认证需要耗费大量的带宽,容易造成网络拥堵,这也是目前以太坊的弊端。
其次目前区块链技术大多采用的是匿名的,可涉及到 洗钱、赌博、非法集资、传销等行业,造成社会监管的压力,这也是2017年中国强制抵制ICO的目的(并不是区块链技术本身)。
总结
区块链技术能否成为下一个风口,主要是看2018年 以底层初链(EOS)公链(以太坊)为代表的机构能否做出一些成绩,再者就是2018年底、2019年是否有很多应用在这些底层技术上构建自己的产品,如果能大规模发展起来,那么区块链会逐渐被国际和社会人士所认可,根据不完全统计,目前币圈金融国内参与人数在300万左右,A股大概在1.3亿,如果数据转换过来,那将是一个全球性的金融盛世,你的合作伙伴可能来自火星哦!!!!!
了解 网易云 :
网易云官网:https://www.163yun.com/
新用户大礼包:https://www.163yun.com/gift
网易云社区:https://sq.163yun.com/
IT和非IT人士:2分钟了解什么是区块链的更多相关文章
- SEER区块浏览器开发指南
区块浏览器基本功能 区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅.用户可以使用区块链浏览器查询记录在区块中的交易信息,包括转账.预测.账户管理和社区治理 ...
- Filecoin官方更新: Q4工作进展和2018年工作计划
ICO过后,Filecoin团队一直没有对外更新过工作计划(很多投资人都等待的不耐烦了).经过漫长的等待,在新年的第一个工作日,我们终于等来了来自于filecoin团队的声音, 这次更新真是出乎小编的 ...
- 只用200行Go代码写一个自己的区块链!
Coral Health · 大约23小时之前 · 220 次点击 · 预计阅读时间 7 分钟 · 不到1分钟之前 开始浏览 区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大 ...
- C#区块链零基础入门,学习路线图 转
C#区块链零基础入门,学习路线图 一.1分钟短视频<区块链100问>了解区块链基本概念 http://tech.sina.com.cn/zt_d/blockchain_100/ 二.C#区 ...
- 区块链-NFT 的实现原理
作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/1785262 ...
- 非IT人士的云栖酱油之行 (程序猿迷妹的云栖之行)
摘要: 熟悉我的人都知道,我是一个贪玩儿且不学无术的姑娘,对于互联网我也是知之甚少:这次去到杭州参加阿里巴巴集团主办的为期4天的科技大会也是很例外:但是不得不说这次的会议真是让我很震惊.今天我就和大家 ...
- 剖析非同质化代币ERC721-全面解析ERC721标准
什么是ERC-721?现在我们看到的各种加密猫猫狗狗都是基于ERC-721创造出来的,每只都是一个独一无二的ERC-721代币,不过ERC-721在区块链世界远不止猫猫狗狗,它更大的想象空间在于将物理 ...
- 零门槛,包教会。让你在5分钟内使用以太坊ERC20智能合约发行属于自己的空气币
前言 目前区块链是互联网中最最火的风口,没有之一.我周围的很多朋友也加入了“炒币”行列,但很不幸,几乎都被“割韭菜”了.而经过我的几天研究,发现,如果自己要发行一种空气币,简直太简单了.只需要下面几个 ...
- 1分钟了解协同过滤,pm都懂了
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/79565720 projec ...
随机推荐
- C#.net随机数函数
(1)Random rnd = new Random(); int rndNum = rnd.Next(); //int 取值范围内的随机数 int rndNum = rnd.Ne ...
- Python学习day5作业
目录 Python学习day5作业 ATM和购物商城 1. 程序说明 2. 基本流程图 3. 程序测试帐号 4. 程序结构: 5. 程序测试 title: Python学习day5作业 tags: p ...
- 在控制台远程连接mysql数据库时,出现ERROR 2049 (HY000)错误
问题的原因是,你本地的数据库版本过高,而远程的数据库版本低. 解决方法:在连接时加上 --skip-secure-auth 参数就可以了. mysql -h主机 -u用户名 -p密码 --skip- ...
- DLL另類劫持注入法
// Win32Project2.cpp : 定义 DLL 应用程序的导出函数. // //////////////////////////////////////////////////////// ...
- POJ 1135.Domino Effect Dijkastra算法
Domino Effect Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10325 Accepted: 2560 De ...
- Python和JavaScript间代码转换4个工具-乾颐堂
Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势.谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案.立足于浏览器平台,如果放弃 ...
- hg 添加用户
.hg目录下hgrc文件 [ui] username = lyd
- Laravel 5.4+Vue.js 初体验:Laravel下配置运行Vue.js
生产材料PHP:PHP 5.6+Laravel 5.4:https://github.com/laravel/laravel/releases/Composer:http://getcomposer. ...
- Task构造
//原文:http://www.tuicool.com/articles/IveiQbQ 创建并且初始化Task 使用lambda表达式创建Task Task.Factory.StartNew(() ...
- mybatis 传参为 Integer 时 ,Mapper 文件 中判断 条件 问题。
<if test="valiStatus==null || valiStatus=='' || valiStatus==4 "> b.work_permit_card_ ...