首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

作为YouTube未来对手,去中心化的视频分享网站DTube是如何实现的?

策划|Tina

编辑|核子可乐、吴海星

YouTube 与 Facebook 正失去民心,区块链技术支持下的其它竞争对手则趁势狂揽人气。有人认为,隐私问题、审查制度以及即将实施的加密货币广告禁令将把大量用户推向其它“非主流”平台的怀抱。

作为去中心化 YouTube 的实现基础,DTube 以 STEEM 区块链为核心构建而成。与现有主流视频共享网站类似,DTube 属于一款浏览器内应用程序,允许内容创作者通过上传素材获得收益。尽管 DTube 在短期之内还远无法与行业巨头的完整视频平台直接开展竞争,但其采用的区块链技术确实为我们带来了令人兴奋且值得期待的未来发展方向。

Steemit 项目是一套于 2016 年 3 月推出的、基于区块链的社交媒体平台。该平台类似于去中心化版本的 Reddit,用户可以在这里共享帖子或者任何其它链接。有趣的内容自然会得到置顶,而用户也可以向原作者提出各类建议。

DTube 之所以植根于 Steemit 之上,最重要的原因在于速度表现 ; STEEM 区块链上的区块生成耗时在 3 秒左右。交易不会产生费用,也没有任何准入门槛,即使不具备 STEEM 的用户也能够参与其中。STEEM 加密货币的内置奖励收入机制则进一步推动 DTube 的社交能力 ; 用户将在奖励机制的推动下上传更多内容。

越来越多的用户正转向 DTube

就在 YouTube 在广告客户的压力之下而不得不对攻击性视频进行审查的同时,越来越多的创造者决定转向 DTube 等网站以避免受到限制。美食竞技播主 Furious Pete 在 YouTube 上拥有近 500 万名关注者,但这些用户发现自己已经无法在 YouTube 上观看到这位播主的大部分新视频。过去两个月当中,他发布了 71 条视频,而其中有 46 条都只能在 DTube 上观看。DTube 在使用体验上与 YouTube 非常相似,不过在这里视频创作者的收入源自观众打赏而非网站广告收入。由于盈利模式不同,因此 DTube 很少会对上传内容进行审查。Furious Pet 之所以选择转投别家,是因为他觉得自己的创作无法在 YouTube 上得到应有的点击量。

就在 YouTube 在广告客户的压力之下而不得不对攻击性视频进行审查的同时,越来越多的创造者决定转向 DTube 等网站以避免受到限制。与其它新兴网站类似,DTUbe 运行在区块链网络 Steem 之上,用户可以利用数字代币向创作者及评论者付费。而这正是此类新兴平台同 YouTube、Facebook 以及 Twitter 的另一大核心区别所在。

基于 Steem 技术的社交网络 Steemit 负责人 Ned Scott 表示,中心化程度较低的平台正表现出愈发强大的吸引力,这主要是由于其允许创作者与用户掌握更多权利——包括潜在的隐私权。不同于发布广告或者销售用户数据,这类新兴网站主要依靠用户增长来提升其数字代币的实际价值。他解释称,“整个体验将更加透明。不会由单一权威机构来决定社交媒体该如何运作。”

目前,上线仅两年的 Steemit 在上个月正式迎来百万账户大关,月度新增账户约为 12 万个。而其竞争对手 LBRY 也已经拥有约 60 万注册用户。诚然,这与 Facebook 公司每月 20 亿用户的规模相比仍相差甚远,而后者单是发送给 Cambridge Analytica 公司的数据就来自超过 8700 万用户。然而,纽约一位专门关注加密内容的视频创作者 Naomi Brockwell 表示,她在Steem 上制作的每条视频平均可获利 40 美元——要达到同样的收益,她在 YouTube 上至少得耗费几个月

LBRY 公司首席执行官 Jeremy Kauffman 指出,创作者们可以在区块链网站上始终保有重要的控制权,因为他们可以随时离开而几乎没有任何后顾之忧。他解释称,这就像是使用电子邮件服务,如果大家对当前服务不满意,则可相对轻松地转移至其它同类网站。而由于区块链网络具有去中心化特性,因此技术精湛的用户可以顶住压力发布可能存在争议的素材。在另一方面,这种宽松的规则也使得此类新兴网站成为 YouTube 等主流平台收紧管理手段后的理想去向。

DTube 是怎么运作的

打开 https://d.tube 网站后,可以看到首页已经有很多的视频分享,有热门短片,潮流短片等等。视频下面有个美元 $ 的符号,跟 steemit 一样是分享内容获得点赞的收益。

注册后可以使用 steemit 账号 +post 私钥登陆。

在 DTube 提交后,同时 steemit 上也自动分享了 DTube 上分享的视频。steemit 里点赞在 DTube 里数据也是同步的。在 steemit 里点击编辑,可以对 DTube 分享的视频摘要进行修改!

我们在下文里将讲解平台创始人 @heimindanger 的设计思想。

用 STEEM 区块链做数据库

既然想要实现真正的去中心化,就不能让 DTube 中出现一台运行着数据库的服务器,自然也不能从这样的数据库里查询数据。所以区块链是理所当然的选择。跟其他区块链相比,STEEM 有很多优势。速度快(3 秒块)、免费(不用存任何形式的货币就能用)、交易不收费。上传视频要花钱?评论要收费?连点赞都要钱?这样的东西根本不会有人用。而 STEEM 区块链已经有奖励机制了,这又是一个加分项。

上传到 DTube 上的视频都会变成 STEEM 内容,在 7 天内能赚到奖励。DTube 不会用标题或内容主体来存储信息,所以如果你不想让自己上传的视频出现在订阅源里,可以编辑或删掉它,该视频会原封不动的呆在 DTube 里。虽然它可能不会在 steemit.com 或 busy.org 之类的平台上显示任何东西,但我相信这样没问题,并且有助于平台的增长和对用户的奖励。

用 IPFS 存储静态文件

IPFS 是一种去中心化文件存储协议。其背后的原理是分布式散列表(Distributed Hash Tables),简称 DHT。BitTorrent 网络就是据此建立起来的。 就像加密货币对非对称加密的用法一样,DHT 网络会对内容做散列计算,以便得到文件的唯一标识。散列值会变成文件的标识,并且重新计算文件的散列值很容易,所以可以轻松确保我们得到的文件没被修改过。

为什么不直接用 Torrent 呢?毕竟 Torrent 似乎内容更多,接受程度更高。但 Torrent 不是为 web 而生的。虽然有 WebTorrent 这样的实现试图完成这样的壮举,但仍然需要“混合”客户端充当桥梁,以便将文件从 uTorrent 这样的硬客户端传输到运行在浏览器中的 web 客户端上去。不太方便,甚至可以说效率很低。我相信你们大多数人都用 PopcornTime 看过从‘海盗湾’流出来的内容并且乐在其中,但不幸的是,想撇开混合客户端,做一个运行在浏览器中的类似东西,是不可能的。

IPFS 是更年轻、开发更活跃的协议,前途无量。用它做这个项目的主要存储方式是毋庸置疑的选择。

用 IPFS 做存储的代价

IPFS 很酷,但终究无法脱离现实。作为种子的文件要有人提供,并且浏览器也不能永远存储大型文件(大多数浏览器将本地存储的上限设为 50MB),所以目前想直接通过 app 提供种子是不可能的。尽管我一开始想找些见证人运行一些 IPFS 节点,但经过几次沟通后,我渐渐明白了,这样会引发更多问题。因为大多数见证人都不懂技术,对他们来说,正确配置并运行 IPFS 节点是个相当困难的任务。尽管我仍然觉得这是正确的作法,但我需要做个 docker 或类似的东西,让见证人更容易加入 DTube 网络并开始提供种子文件(以便赚到奖励)。

然后我搜了一下已有的 IPFS 节点,联系了 IPFS Store 的站长,这是一个收取比特币让用户把文件留在 IPFS 网络上的网站。在得到 @nannal (steem, twitter/etc) 几次积极的,指导性的回复后,我知道我找对人了。

我最近刚创建了 @dtube 账号。这个账号将用来收集 DTube 作者 25% 的奖励。这些费用中的 10% 将会支付给 IPFS Store,长期存储一些文件。每 GB 每个月 0.044 美元。比如说上传了 100MB 的视频,可以赚 10 美元的奖励,会有 0.25 美元转给 @nannal,并确保大约 57 个月的数据冗余。过了这段时间后,用户要么自己付钱(当然可以用加密货币),要么直接在自己的 PC 和网络上提供文件。

搜索用 AskSteem

不懂技术的人理解起来可能会有难度,但实际上 DTube 可行与否要取决于能否解决最困难的搜索问题。有标准 SQL 或 Mongo 数据库时,搜索很容易。可我们的数据库是 STEEM 区块链,不能跟 steem 节点直接通讯进行搜索对于博客平台来说搜索功能的优先级不高,更何况 Google 索引了所有内容,还提供了搜索 API。但对于 DTube 来说,搜索是要经常使用的功能。

@thekyle 是一位很能干的开发人员,他在 SteemIt 上发表东西,但看起来得到的回报不及其应得的一半。我跟他取得了联系。他介绍了 AskSteem,一个 STEEM 区块链的搜索引擎。他的服务使用 ElasticSearch DB,会索引 15 分钟以内的新视频。

我想在搜索结果中显示的信息包括视频截图(缩略图)等信息,他原来的 API 并不能满足我的要求。也就是说我可能要对每个搜索结果再发起一次请求,那是大量的无用请求。只用了不到 24 个小时,@thekyle 就完成了 API 的升级,满足了我的需求,并且运行的很顺畅。不过搜索不是去中心化的。所有搜索都要通过 AskSteem 服务器,搜索结果可能会被改变。另外,如果 @thekyle 决定关掉它,搜索服务也会停掉。

如果能在 steem 节点上直接提供搜索函数会更好。还有一种方案,在这个 app 内部运行另外一个带有模糊搜索函数的 DHT 网络。我真的不知道能否在不产生失效点的情况下在 DHT 网络上做出一个模糊搜索算法来,并且我觉得没人知道答案。所以我决定采取折中方案。会怎么样我们且拭目以待吧。

永久存储的数据

DTube 会用浏览器的本地存储保存一些信息。首先是你的账号和提交秘钥,省得你每次都要重新登录。既然 steemit.com 也这么干,所以我觉得大家不会感到震惊的。

其次,DTube 会保存你看过的视频,在‘再看一次’的分类里显示。就像 YouTube 一样。你可能会注意到再看一次的分类里没有显示提交奖励,那是因为这些奖励随时可能发生变化,并且不可能相信我们之前保存的数据。

为什么用我的主密码或活动秘钥无法登录

因为这样做很弱智。Steemit.com 允许仅仅因为他们的 app 里还有个钱包。XSS 攻击在互联网上很常见,大多数开发人员对它的偏执是理所当然的。如果有用户因为我丢了账号和钱,我会感觉很难受的。相反,强制用户使用提交秘钥来限制风险要容易得多。

DTube 中的所有功能都不会要求提交秘钥之外的东西。也就是说没有钱包,没有密码重置,没有内部市场交易,没有关机,并且对我来说可以少做很多事。如果你想管理自己的 STEEM 奖励,我建议用 Vessel。并且在 steemit.com、busy.org 之类的在线平台上只用提交秘钥。

“SteemConnect 怎么样??”我已经可以看到这篇文章下的这条评论了。我当然知道 SteemConnect 项目,这个要为开发者提供更简便的 STEEM 登录和秘钥管理方式的项目。不过,我个人强烈反对将我的秘钥代理出去,或者送给其他人用,即便是 SteemIt 公司官方运营的可信第三方。抱歉,但我想 100% 的控制我的秘钥,你也应该如此。还记的那些在 Reddit 上因为交易中心被黑而哭喊的人吗?不要学他们。

用户端编码的问题

在 YouTube 上,你上传的是自己的原始文件,YouTube 会对它进行编码,甚至将它变成各种品质的版本,还会创建一些漂亮的 gif 以便用户能在鼠标悬停时预览视频。

在 DTube 上实现相同的功能很困难。用 JavaScript 编码视频文件的代码不好写,并且会比较慢。

差劲。

在此之上,如果你想要几种品质的文件,就要上传几个文件,所以上传文件的时间也要翻几倍。

差上加差。

最后,可能会显著增加 DTube 上占用的总体空间,因此增加初始加载时间。差上加差还要再差。

允许视频编码的程序已经数不胜数了。并且只有用高档相机之类的专业工具录制的视频才需要如此。有这种硬件的人通常已经懂编码了。我自己的手机能将视频编码成 H.264,我猜你的 iPhone 也可以。所以为什么不简简单单的呢?

易于与其他平台集成

其它基于 STEEM 的平台要集成 DTube 上的视频很容易。IPFS 散列的视频是存在 json_metadata 里的。所以只要用" "就可以了。

DTube 的未来会怎么样

如果 DTube 以及 Steemit 等服务获得广泛成功,那么其很可能将受到 YouTube 或 Facebook 等巨头的打压。尽管如此,相当一部分平台创作者仍然表示,传统社交媒体巨头已经开始衰退,新的机遇则快速崛起。基于区块链的流媒体网站 Current 联合创始人兼 CEO Dan Novaes 表示,“截至目前,我还无法确定人们是否意识到自己个人数据中所蕴含的价值。而通过区块链,人们将最终得以将自己的时间、关注与数据转化为经济收益。如此一来,人们的有价值数据将不再被少数企业巨头所一手控制。”

参考链接:

https://www.bloomberg.com/news/articles/2018-04-10/youtube-and-facebook-are-losing-creators-to-blockchain-powered-rivals

https://btcmanager.com/steemit-user-builds-decentralized-youtube/

https://steemit.com/video/@heimindanger/introducing-dtube-a-decentralized-video-platform-using-steem-and-ipfs

今日荐文

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180412G07GKM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券