种子之父--布莱恩-科恩

种子之父--布莱恩-科恩
www.zeeklog.com  - 种子之父--布莱恩-科恩

布莱恩-科恩:种子之父

出生与教育

1975年科恩出生在纽约一个普通家庭,那个年代电脑刚开始普及。他的父亲保持着对于新事物的看好,买了一台TimexSinclair个人电脑。5岁的科恩也通过这台他认为是玩具的东西,开始了自己的编程生涯。

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

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

创业与Bt协议

觉得上学没有用的科恩,和其他计算机大神一样,终于在一个暑假辍学了。科恩最开始投入开发的是一个叫MojoNation的项目,目的是提供加密的文件传输,原理是把机密文件分解成加密块,并传输给其他运行的MojoNation计算机,但企业不太买账。

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

Bt协议的工作原理

普通下载方式都是基于Http协议或者Ftp协议,这种下载方式是从服务器下载,受限于服务端的宽带,下载的人越多速度越慢。而Bt下载不是从中心服务器下载,而是让每个下载过文件的人都变成去中心化网络中的一个节点,成为一台小型服务器或叫种子机器。

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

Bt协议的发展与应用

真正让Bt大火的是通过传播色情内容,果然“黄赌毒”催生了很多技术的发展。其实比特币或区块链的很多底层技术都是参考了Bt技术,所以掌握区块链底层技术,掌握Bt协议是非常重要的。

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

Bt协议的Tracker服务器

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

  1. 中心化Tracker服务器:在国外是主要形式;
  2. 去中心化的Tracker服务器:也就是由种子机器共同承担,有点区块链的样子了;

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

Bt网络的缺点

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

Bt协议的技术价值

相信听到激励这个词,你已经知道这个事情和比特币、区块链差不多了,我有很长一段时间,怀疑中本聪就是科恩。其实整个Bt协议和网络有很多值得大家研究的技术,比如哈希计算、异或运算、网络通信、共识与激励。

科恩的个人信仰

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

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

Read more

超快速,使用ChatGPT编写回归和分类算法

超快速,使用ChatGPT编写回归和分类算法

本文将使用一些 ChatGPT 提示,这些提示对于数据科学家在工作时非常重要。 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 以下是一些示例ChatGPT 提示的列表以及数据科学家的响应。 ChatGPT 提示 为决策树回归算法生成 python 代码。 下面是使用scikit-learn在 Python 中进行决策树回归的示例代码: import numpy as np import matplotlib.pyplot as plt from sklearn.tree import DecisionTreeRegressor # Generate random data rng = np.random.default_rng() x = 5 * rng.random(100) y = np.sin(x) + 0.

By Ne0inhk
力扣每日一题:993.二叉树的堂兄弟节点 深度优先算法

力扣每日一题:993.二叉树的堂兄弟节点 深度优先算法

993.二叉树的堂兄弟节点 难度:简单 题目: 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。 如果二叉树的两个节点深度相同,但 父节点不同 ,则它们是一对堂兄弟节点。 我们给出了具有唯一值的二叉树的根节点 root ,以及树中两个不同节点的值 x 和 y 。 只有与值 x 和 y 对应的节点是堂兄弟节点时,才返回 true 。否则,返回 false。 示例: 示例 1: 输入:root = [1,2,3,4], x = 4, y = 3 输出:false

By Ne0inhk
1239.串联字符串的最大长度 关于字符串的回溯算法!

1239.串联字符串的最大长度 关于字符串的回溯算法!

题目: 给定一个字符串数组 arr,字符串 s 是将 arr 某一子序列字符串连接所得的字符串, 如果 s 中的每一个字符都只出现过一次,那么它就是一个可行解。 请返回所有可行解 s 中最长长度。 提示: 1 <= arr.length <= 16 1 <= arr[i].length <= 26 arr[i] 中只含有小写英文字母 示例: 示例 1: 输入:arr = ["un","iq","ue"] 输出:4 解释:所有可能的串联组合是

By Ne0inhk