谈谈今年很火的区块链 CDN
2017 年初,区块链被越来越多的人知道。区块链的概念其实很早就被提出来,曾经有人说过“区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。 如果说蒸汽机释放了人们的生产力,电力解决了人们基本的生活需求,互联网彻底改变了信息传递的方式,那么区块链作为构造信任的机器,将可能彻底改变整个人类社会价值传递的方式。”
在技术实现上区块链分布式与 CDN 的内容分发有着异曲同工之处,今天笔者就简单聊下对区块链 CDN 的见解。
什么是区块链和去中心化账本?
在聊区块链之前,先来聊聊比特币。 2017 年以来,我们经常在各种渠道看到比特币的出现,那么比特币是什么呢?它跟区块链技术又有什么关系呢?
比特币其实是一种区块链应用。比特币实际是一个互联网上的去中心化账本,一种点对点的加密数字货币;由计算机通过特定数学计算而产生,基于区块链作为支付技术的虚拟货币。当用户在电脑上运行比特币客户端软件,运行软件的电脑就称为一个节点,大量节点互相连接形成一张点对点的网络,比特币去中心化账本的实现就是依托于区块链。
生活中的银行就是一个中心化账本
账本就是银行存储的中心数据库,它是记录着大家的余额。当小明账户里有300块钱,小红账户里有200块,小明想转账100块给小红,于是可以通过银行柜台、手机银行、网上银行等各种途径进行转账操作。银行在收到请求后会验证小明的账户信息以及余额,确实成功后,就增加一条转账记录。小明账号余额:300-100=200,小红账号余额:200+100=300。在这个过程中,银行就相当于一个中心化的账本。
去中心化账本就不需要银行这个中间媒介
比如一个没有银行的村子里,每个人都有一本账本,上面记录着所有人的账户余额,小明的余额为300,小红的余额为200元,当小明想转100给小红时,小明可以通过村子里的大喇叭广播我用我的账号转账100块钱给小红了。然后所有人听到后并确认,是小明的账号且有300余额,再修改自己的账本。通过传递直到每个人的账本都一样。这个过程就是一个去中心化的过程。
比特币就是这个去中心化账本上交易的加密数字货币。小明在转账的时候向周围的节点广播转账交易请求,周围节点可以类比村民,节点在确认小明有足够的余额之后,记录扣除他转出的金额,各个节点把这个交易广播给周围的其他节点,一传十十传百,直到所有节点收到这笔交易。
区块链与 CDN 的结合?
CDN 的全称是 Content Delivery Network,即内容分发网络。通过在各个地区放置的节点服务器,提供就近的访问所需的内容,达到加速的目的。
目前已有多家区块链 CDN 概念的公司提出,在传统的 CDN 上引入以太坊智能合约、分享经济和 P2P 技术。通过把普通用户的闲置带宽与上网设备(如 PC、路由、手机等智能设备)变成 CDN 网络中的节点,使得节点数量无限增多。这样不仅提供者可以获得额外的收益,也可以使得 CDN 的成本更加低廉。
利用 P2P 技术确实可以做到所谓的无限节点,帮助用户利用空闲的带宽获得额外的收入,并且价格十分低廉。但是目前针对 P2P 的加速更多是局限于点播视频、大文件下载加速,而一般网站的图片、小文件加速目前还不适用于 P2P 加速。
国内目前也有类似产品,通过提供路由器的方式,让用户的闲置带宽有效被利用起来。但是同样也有限制条件,访问视频、下载文件只能基于使用该厂商的播放器或者下载工具,或植入该厂商的播放器 SDK,相对来说还是有较大的局限性。
其次,目前也有区块链概念的 CDN 厂商,还提出了把所有流量与带宽数据都记录在区块链中,开发一个自助的 CDN 交易市场,让闲置带宽提供者与 CDN 使用者可以更加透明、自由地使用厂商发行的代币(基于以太坊、比特币等的虚拟货币)进行交易。
在笔者看来,这个更像是死搬硬套的概念,完全是为了发行代币而进行的行为。2017年9月,我国叫停了CIO和比特币等虚拟货币的交易,减少了滥用区块链概念进行炒作的行为。技术没有原罪,虽然CIO和虚拟货币交易被叫停,但区块链技术依然得到了金融业的认可,招商银行就将区块链技术应用于现金管理领域。
结语
智能设备不断普及,以及网络带宽不断提升,国内的 CDN 行业确实处于快速发展的阶段,而区块链概念更适合用于金融、保险、医疗等领域。现阶段的区块链 CDN 只能说是强行生搬硬套概念,两者的相互结合还需要很长的一段时间的发展。但是不可否认的是 P2P 等技术的慢慢成熟,CDN 行业会将会普及惠利更多的普通用户,也许未来就有真正的区块链 CDN 公司落地。
推荐阅读:
谈谈今年很火的区块链 CDN的更多相关文章
- 区块链3.0:拥抱EOS
EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0.不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创新点,它的周边生态,各种概念原理的解释,以 ...
- java开发区块链只需150行代码
本文目的是通过java实战开发教程理解区块链是什么.将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此基础上能扩展如web框架应用等.这个基本的java区块链也实现简单的工作量证明系统. ...
- 用Java实现简单的区块链
用 Java 实现简单的区块链 1. 概述 本文中,我们将学习区块链技术的基本概念.也将根据概念使用 Java 来实现一个基本的应用程序. 进一步,我们将讨论一些先进的概念以及该技术的实际应用. 2. ...
- 区块链开源实现hyperledger fabric架构详解
hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链 ...
- 启迪链网通证经济共同体:柏链教育&火聘online推出区块链行业人才“一门式”服务
近日,启迪链网通证经济共同体旗下两个节点成员柏链教育与火聘online,达成节点间的合作,据悉本次合作是采用共同体的生态共建模式,柏链教育与火聘online共享企业端岗位需求的大数据,然后有针对性的开 ...
- 正本清源区块链——Caoz
正本清源区块链 说明:以下内容整理自Caoz的<正本清源区块链>,如有不妥,请联系我修改或删除. 简介 不讨论炒币!不讨论炒币!不讨论炒币! 本课程内容分为两部分: 第一部分,烧脑篇,介绍 ...
- 区块链技术现状&前景
炒作周期 Gartner 在 2017 年发布的新兴技术炒作曲线,这张图是去年 8 月发布的,当时估计它们也没料到随后能有那么火,当时区块链在这个位置,其实是已经过了炒作的巅峰期,正在往低谷走的这个阶 ...
- Factom(公证通)--基于区块链的存证系统
Factom这个Solution在2014年的时候就已经推出了,现在已经2018年了,我才来写这一篇分析文章可能有些迟了,但是它是十分具有参考价值的.因为现阶段来开区块链虽然炒得火热--养猫.养狗.草 ...
- 程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
随机推荐
- (一)关于java泛型的学习总结(泛型方法、泛型擦除)
目录概要 一.泛型方法 二.利用泛型方法的特性实现代码的简化 三. 关于泛型的擦除 四.无界通配符和原生类型区别 五.转型和警告 泛型 一般的类中的属性或方法的参数,只能使用具体的类型:要么是基本 ...
- JavaSE(九)之反射
开始接触的时候可能大家都会很模糊到底什么是反射,大家都以为这个东西不重要,其实很重要的,几乎所有的框架都要用到反射,增加灵活度.到了后面几乎动不动就要用到反射. 首先我们先来认识一下对象 学生---- ...
- JVM菜鸟进阶高手之路五
转载请注明原创出处,谢谢! 参考gc,发现大概一小时运行一次FGC,特别奇怪,笨神一看这样的问题就知道是system gc导致的,rmi默认一小时主动触发一次,由于没有gc日志,通过jstat命令观察 ...
- Ruby Rose动态壁纸制作记录
为Wallpaper Engine做的动态壁纸,使用Unity制作,在这里记录一下制作过程和一些遇到的坑,以后有了github账号再搬到那边去. 最后大概要做出这样的效果,截图来自RWBY " ...
- AngularJS–Animations(动画)
点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ 在AngularJS 1.3 中,给一些指令(eg: ngRepeat,ngSw ...
- java集合系列——Set之HashSet和TreeSet介绍(十)
一.Set的简介 Set是一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素.对 e1 和 e2,并且最多包含一个为 null 的元素. S ...
- Hive基础(1)---Hive是什么
1. Hive是什么 Hive是基于Hadoop的数据仓库解决方案.由于Hadoop本身在数据存储和计算方面有很好的可扩展性和高容错性,因此使用Hive构建的数据仓库也秉承了这些特性. 这是来自官方的 ...
- TargetType Mismatch
TargetType Mismatch 环境:windowsphone 8,silerlight toolkit, 页面报TargeType Mismatch错误或者 length 0,是因为Syst ...
- less使用ch1--认识语法
@charset "utf-8"; //注释------------------------------ /*我是可以被编译出来的*/ //不能被编译出来 //变量-------- ...
- EditPlus行首行尾批量添加字符 以及其它常用正则
打开EditPlus,输入多行数据,快捷键ctrl+h 打开替换窗口,选择"正则表达式"替换 行首批量添加 查找"^" 替换为"我是行首aaa&q ...