1975年科恩出生在纽约一个普通家庭,那个年代电脑刚开始普及。科恩的父亲保持着对于新事物的看好,买了一台TimexSinclair个人电脑。

5岁的科恩也通过这台他认为是玩具的东西,开始了自己的编程生涯。

科恩最开始学会的是Basic语言,慢慢的科恩的编程天赋展现了出来,在16岁时,他已经掌握了3门编程语言,1993年18岁的科恩考入了纽约大学。

由于从小已经对计算机基本知识掌握的非常熟练了,所以大学的时间基本上都沉迷在编程和操作系统上面了。

觉得上学没有用的科恩,和其他计算机大神一样,终于在一个暑假辍学了。

科恩最开始投入开发的是一个叫MojoNation的项目,目的是提供加密的文件传输,原理是把机密文件分解成加密块,并传输给其他运行的MojoNation计算机,但企业不太买账。

经过一系列的迭代,在2001年,基于将文件分片快速下载的Bt协议,终于被科恩搞出来了。

相信老司机对于Bt这个协议非常熟悉了。

普通的下载方式都是基于Http协议或者Ftp协议,这种下载方式是从服务器下载,受限于服务端的宽带,下载的人越多速度越慢,相信老司机们都有体会。

Bt下载不是从中心服务器下载,而是让每个下载过文件的人都变成去中心化网络中的一个节点,成为一台小型服务器或叫种子机器。

这样当其他人来下载文件的时候,这些种子机器可以同时为这个人提供下载能力,速度上比中心服务器下载速度快多了。

真正让Bt大火的是通过传播色情内容,果然“黄赌毒”催生了很多技术的发展。

其实比特币或区块链的很多底层技术都是参考了Bt技术,所以掌握区块链底层技术,掌握Bt协议是非常重要的。

技术是无罪的,但基于Bt协议之上的很多暗网、赌博、涩情、盗版的罪恶产品涌现了非常多,FBI也在一直找理由把Bt之父科恩搞进监狱,这也导致了这位技术大神一直过得不怎么好。

Bt技术的Tracker服务器有两种形式:

1. 中心化Tracker服务器,在国外是主要形式;

2. 去中心化的Tracker服务器,也就是由种子机器共同承担,有点区块链的样子了;

第二种也就是大家比较熟悉的磁力链接。

但Bt网络有个缺点,因为下载速度由种子机器的多少决定,所以对于热点资源会下载很快,资源少的或者种子不被上传的下载就非常慢,一些Bt客户端软件会通过各种手段让种子机器上传种子,比如限速,比如激励。

相信听到激励这个词,你已经知道这个事情和比特币、区块链差不多了,我有很长一段时间,怀疑中本聪就是科恩。

其实整个Bt协议和网络有很多值得大家研究的技术,比如哈希计算、异或运算、网络通信、共识与激励。

科恩这位理想主义的技术大神并没有依靠Bt协议大富大贵,窘迫的生活也没他消沉,在他的个人网站上一直写着一句话:

As much of a geek as you·d expect.(尽自己可能做个极客,向你们期待的那样)

种子之父--布莱恩-科恩相关推荐

  1. vue公共组件封装及传值

    Vue组件的三要素 1. props参数 2. slot定制插槽 3. event自定义事件 基本组件开发 创建一个.vue文件,其中包含template.script以及style: <tem ...

  2. Vue中slot的使用(通俗易懂)

    个人理解: 是对组件的扩展,通过slot插槽向组件内部指定位置传递内容,通过slot可以父子传参: 开发背景(slot出现时为了解决什么问题): 正常情况下,<Child><span ...

  3. 《游戏人工智能》学习笔记

    复习笔记 chapter 1 游戏人工智能是人工智能科学技术领域的一个分支 人工智能游戏的研究内容是如何将人工智能的理论.方法和技术应用于开发智能游戏.提高游戏角色的智能水平,主要包括智能游戏角色的行 ...

  4. vue slot 使用

    vue 插槽可用于父组件在子组件插入内容,其位置由子组件决定 1.默认插槽 在btntest子组件设置slot占位符 <div><p><!--默认插槽-->< ...

  5. 前端面试题(HTML、JS、Vue、React、小程序)

    前端面试题 HTML && CSS HTML 1.Div 里面有个一个div ***** Q:有几种方法可以水平,垂直居中 2.doctype的作用 * 3.link标签和import ...

  6. 物联网病毒疯狂进化,“灰犀牛”事件比“黑天鹅”更加可怕!

    这是我在物联网智库|物女心经专栏|写的第023篇文章. "计算机病毒之父"弗雷德·科恩曾经说,信息安全不是科学,而是艺术. 很多人都意识到物联网安全很重要,但是,到底有多重要?为什 ...

  7. vue中props的用法

    vue使用props的用法 日常编程中都会用到父组件用子组件.子用父的情况,下面先介绍一种子传父的情况 1.在父组件中 (1).首先是在其定义一个list属性以存储其数据值 (2).定义一个绑定属性& ...

  8. 从病毒、木马到APT

    过去30年,信息与互联网的发展使得信息安全.网络安全作为其伴生技术随之发展. 1. 病毒 1983年11月3日,还是南加州大学在读研究生的弗雷德·科恩在UNIX系统下,编写了第一个会自动复制并在计算机 ...

  9. Vue中slot的介绍与使用(通俗版)

    什么是插槽? 插槽(Slot)是Vue提出来的一个概念,正如名字一样,插槽用于决定将所携带的内容,插入到指定的某个位置,从而使模板分块,具有模块化的特质和更大的重用性.插槽显不显示.怎样显示是由父组件 ...

最新文章

  1. #HTTP协议学习# (五)压缩
  2. IntelliJ IDEA 的 project 和 module 区别与关系
  3. shell 脚本比较字符串相等_shell字符串比较判断是否为数字
  4. Nginx中gzip_static使用测试
  5. html5+hbuilder+夜神模拟器+webview
  6. (01)FPGA技术市场调研
  7. 文字穿插在海报设计中的不同用法
  8. Android开发笔记(十二)测量尺寸与下拉刷新
  9. 7. Flask 大型程序的结构
  10. python简单爬虫代码-一则python3的简单爬虫代码
  11. VScode使用记录二:Windows 7下安装GCC、使用VSCode编译代码
  12. Eclipse使用Maven创建web3.0项目
  13. 强制 Google.com 域名使用 HTTPS(SSL)
  14. Android CI with jenkins in ubuntu
  15. Visio2010的下载
  16. 小白入门——关于什么是区块链
  17. 浅谈ACL在校园网中的应用
  18. 软考高项论文写作指南分享
  19. 登陆和登录,login
  20. ThnBoV1.3.0一款针对WordPress开发的缩略图美化插件

热门文章

  1. CF1407D Discrete Centrifugal Jumps(单调队列+DP)
  2. 【蓝桥杯】2019年第十届蓝桥杯省赛B组试题J — 灵能传输(前缀和,猜想结论)难度⭐⭐⭐⭐
  3. 面试题 16.19.水域大小
  4. 一种电子病历系统软件框架思想
  5. 我的关于前端一些知识点的理解《一》
  6. 转发 DDoS攻防战 (一) : 概述
  7. Java Web 程序员的发展趋势分析
  8. PHP中的MYSQL常用函数(php下操作数据库必备)
  9. repo 修改邮箱地址
  10. 易宝典文章——如何将PST文件导入到Exchange 2010 的邮箱