查看原文
其他

字幕组 | 震惊!你竟然是这样的区块链!

2017-07-02 大数据文摘字幕组 大数据文摘

大数据文摘作品,转载要求见文末

翻译 | 海波,狗小白,田奥

校对 | 陈啸明,Sophie

后期 | 郭丽(终结者字幕)


没错!大数据文摘字幕组成立啦!!!

我们专注一切炫酷的科技、技术前沿类视频

如果你想和志同道合的小伙伴一起做一些有趣的事

如果你的英文不错,又懂一点视频

快加入我们吧~


在大数据文摘后台回复“字幕组”

了解如何加入!


曾几何时,区块链成了网红概念,大街小巷人人谈起。不过,你真的知道什么是区块链吗?区块链又有何运作原理?与比特币有何渊源?别急,本次视频主讲人Siraj将用深入浅出的表述,带你走进这个神奇的世界。


视频全长10分钟,祝享用愉快!(暂时无法观看的小伙伴可以下拉页面,看我们整理出来的内容喔!)


https://v.qq.com/txp/iframe/player.html?vid=k05181q68oe&width=500&height=375&auto=0


大家好 我是Siraj ,这一集我们将要讨论一个,有些特别的东西——区块链,以及怎样利用它来提高AI性能。

区块链的运作原理

万维网仅仅出现了几十年,这几十年它以数量级的速度增长数十亿的机器已经联网,智能手机遍布全球,我们共同定义了一个标准,这个标准规定设备之间怎样进行通信,这就是互联网协议群。


最底层链接层将数据放在通信线路中,网络层将数据进行路由传输层负责连续,应用层则是APP形式。我们都非常喜欢和熟悉这些APP,互联网协议已经为我们的机器工作得非常好,但是还漏掉了一层一层顺滑的“美乃滋沙拉酱”。一个允许设备不仅进行数据的交换,还有值的交换的协议,现有的形式是预互联网,它需要利用一个集中化的信息交换中心进行机器测试,有时一次交易需要等待4天才能将其从一端传输到另一端。


但是在所有其它方面,设备之间以难以令人置信的速度相互通信,要是它们之间能够以相同的方式,互相发送极小额的付款。比如,电量存储空间,和计算能力。所有这些,在进行交易时都不需要等待一个中间件。


比特币和其它数字货币解决了这个问题,它们起到了一个第五协议层的作用,进行价值传递。这一切的根本技术:区块链,使得所有这一切成为可能,区块链第一个允许机器间进行价值传递,这种传递不需要现实世界里,中心认证机构的授信 如果我创建了,如果我画画,只有我拥有此画。


但是在互联网中,如果我创建了一个数字的画,你只要复制它 我们便都拥有它,不用中心服务器就没有办法证明谁拥有它。这个中心服务器纪录了拥有关系,我们必须信任服务器和中间件,但是区块链让我们以一种去中心化的方式中达成共识。这种方式阻止了一种错误的声明拥有关系的不良行为,不仅对于支付,同时也对于任何像比特币这样的资产。

但是怎么用它来提高AI性能呢?

好吧,一种应用场景是同时给予数据集,和机器学习模型好的可信度,你怎么知道正在使用的数据或预训练模型,是有质量的,没有被篡改?


如果不使用区块链,你基本上必须信任一个独立的资源,Deepmind公司正在用一个区块链创建一个公用的可验证审计制度。应用于健康医疗数据,它纪录了每一次的相关敏感病人数据。


所以病人知道他们的一片数据是否被用上,并且,每次数据被引用时,病人知道它必须要被使用的原因,数据的使用记录写入后 就不能被擦除,这也就意味着病人能够验证,没人篡改其中的任何条目,另一种是为训练模型创建对等网络,在上面训练模型而不是用AWS和谷歌云服务。


想象一个系统,人们能够出租他们多余的计算能力,来帮助训练模型,获取“tensor币”,甚至一个完全通过AI区块链运行的公司,拥有去中心化的数据库。


所以如果一个AI运行在一个区块链上,没人能够控制它,它能够作为一个独立的实体存活在网页上。仅为找到一串初始规则从而使自身自由,AI会为任何这样的服务而付费,一个例子就是行驶和维护,都完全由AI控制的无人驾驶车。


让我们用Python来写一个简单的区块链,来加深理解,这令人惊叹的数据结构是如何运作的。但首先,我就是他,他就是我,但只有你们才能接触到密钥。

区块是什么?

为简单起见,我们假设每个区块都代表,一个单独的动作,两台机器之间的一次数值传递,或在自身的类中定义,内包含了一系列重要属性的区块对象,索引代表区块链中的序列顺序。


时间戳展示了区块创建时间,当区块被创建,它会储存一些由发送者定义的数据,此外还包含了两个散列值(哈希值),一个指向区块链中的前一个区块,另一个指向自己。


区块需要散列值有双重原因,散列值给了区块一个独特的身份并认证了数据的完整性。我们使用被称为sha-256,这一常用的加密散列值算法,来生成一个256字节的标记,这个标记里包含了散列函数中其它各个区块的属性。

那么区块是如何产生的?

用户在他们的使用中生成了一些数据,我们将这些数据来作为生成散列函数的唯一参数,而且由于每个区块都是排列好了的。我们需要取出最后一个区块,我们可以用最后几个区块来找到这个区块里的索引和散列值。


我们还能给它加上一个时间戳,从而得知其生成时间。所以每个生成的区块都可以储存前一个区块的散列值,从而可以指向前一个区块,这就是链接着的区块,一个区块链。第一个生成的区块被称为初始区块,从这个初始区块的散列函数找出其特征。


我们将写入硬代码,在区块自身的函数中提前找到自身的属性,并用其构建我们的区块链,将其储存在内存条中。还记得我说过的,区块的散列值既具有一致性,还能认证数据完整性所以我们还可以用散列值,来认证一个新生成的区块是不是真的有效。


给出一个新区块和上一个区块,或者说是区块链中最后一个区块,我们首先可以检查下区块之间,索引的排序是否正确,随后还能检查,前一个散列值属性是否合乎上一个已经被认证了的区块散列值。


最后,我们为新区块计算散列值,并确认计算结果与区块的实际散列值一致,如果这些检查都通过了,这个区块就成功验证了,假设所有的节点都储存了区块链的一个备份。


我们则需在可能存在不一致的情况下,选择使用哪个区块链,以防产生冲突,假如有两个节点生成了,相同数目的区块。我们的解决方法是在其中选择,有最多区块的那个区块链。因为这个区块链存在得更早,所以更可能是正确的区块链,对于一个新区块链,我们需运行一次程序来检查其是否有效,如果这个区块链下的区块更多。我们就把这个新区块链替换掉现有的,如果并非如此 我们就排除这个无效的区块链,因为每个节点都储存了一个区块链的备份,而由于用户操作,区块也不断生成,我们需要一个能将每个区块链实时同步更新的方法。


要实现这个构想,每次新的区块生成时,这个节点都需向所有其它节点广播消息,当节点与新节点相连它会查询新节点中的新区块,并对比自己目前节点是否对方节点的区块数量更大。


(如果是) 这个节点可以选择将这个新区块,加入自己的区块链中,或者将整个区块链都抄过来。所以我们可以以创建HTTP服务器的方法,来封装一个节点,这样用户可以查询这个节点,并且其他节点也可以(查询这个节点),我们创建的HTTP服务器,可以创建一个端点,来处理一些用户操作。比如列出区块链中现有的区块,另一个是创建一个新的区块,参照一些用户提供的数据作为参数,另外,它也可以用来列举,网络中所有其他的节点 甚至是创建新的节点,因此用户可以通过,HTTP请求来控制节点,它会通过点对点网络套接字,与其他节点进行交互 这就是我们所知道的易于理解的区块链的概念。


这里指的是最小的概念,并不包含所有的比特币区块链具有的特性。但它算得上一个样例,然而最重要的是 有一个关键的,特性被我省略了。我们应该讨论一下工作量证明算法,对于民事攻击来说,最原始的区块链是不堪一击的。也就是说当一个坏人创建了,一群节点 从互联网上去获取大得不成比例的影响力的时候,一旦他掌控了至少51%的网络,他便可以自行批准,网络中的交易,我们需要花费,一两倍的开销,来防止它发生。

比特币与区块

比特币挖矿节点会完成一系列真正,花费高昂的计算机运算,核准每次交易并领比特币工资,作为他们计算工作的报酬,以使得新生成的区块能够被网络认可。挖掘者必须完成一系列工作。同时覆盖区块中的所有数据,至少要51%的节点必须达成一致,一个新的区块才能有资格加入到区块链当中,因此做坏事的人,必须拥有比半个比特币网络更多的计算能力。这合计起来是比世界上最快的500台超级电脑合起来还要多的计算能力,没人拥有那么多的计算能力,连马克·扎克伯格都没有!


贾维斯帮我在早上做好准备,这就是比特币网络还很安全的原因,即使它有着500亿美元的市值,每个星期都有新的区块链被创建,他们有着不同的用途,当谈到区块链的时候我们可以谈很多,我们几乎没有开始探索,当我们使用区块链作为一种提高我们AI能力的途径时,在发生着什么事情;它能够帮我们验证数据和模型的质量,能够创建点对点的交易市场;我们在那里可以相互进行数据和模型的交易,它可以开辟以前没可能存在的生意,或者我们可以将AI开发的不同层面货币化;甚至可以,创造一个完全由AI支撑运行的独立的机构,上星期的编码挑战胜者是Charles David。


他通过使用一个地震数据集,来预测未来地震的震级甚至震点,他为神经网络,从头建造了许多优化器,包括原子动量和随机梯度下降,在他令人惊叹的图表工作中都能见到Charles David是本周的编程达人,第二名是Permenter Singh。他同样从头实现了三个优化器,找到一个函数的局部最小值。本周的编码挑战是写一个简单的方案来加密一个数据集,只有那些有私钥的人才能有权利获得它,查看一下说明文件以获取所有的细节,我会在下周公布获胜者,欢迎在youtube上关注我。视频到此结束。


我现在要去投资了。


谢谢观看。


没错!大数据文摘字幕组成立啦!!!

我们专注一切炫酷的科技、技术前沿类视频

如果你想和志同道合的小伙伴一起做一些有趣的事

如果你的英文不错,又懂一点视频

快加入我们吧~


在大数据文摘后台回复“字幕组”

了解如何加入!



阅读原文了解更多!


关于转载


如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

志愿者介绍

回复“志愿者”加入我们


往期精彩文章

点击图片阅读

选择困难症?一文通解如何选择最合适的机器学习算法

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存