专栏首页AI研习社Web 3.0 大串讲:原来你是这样的区块链!

Web 3.0 大串讲:原来你是这样的区块链!

这里是,油管 Artificial Intelligence Education 专栏,原作者 Siraj Raval 授权 AI 研习社编译。 原标题:Web 3.0 Explained 翻译 | 李瀚 王江舟 整理 | MY

Hello world!

欢迎来到网红小哥 Siraj 的 web 3.0 解析视频,视频快速提要如下:

1. 为何我们需要 web3.0

2. 什么是区块链

3. 区块链的工作原理

4. 编写自己的智能合约

下面开始我们就开始一步步走进 3.0 的新时代吧!

一. 为何 web3.0 如此重要

我们可以这样说,在如今的时代,想实现你的创业梦,web3.0 是你与巨头对抗的最佳武器,也是你实现创业梦的唯一方式。

众所周知,web1.0 时代,万维网诞生,web2.0 时代,衍生出各种服务,其中就包括我们熟知的 Google 和各种社交网络,而 web3.0 早已成为现今互联网发展的必然趋势。

为什么会这样呢?因为早在 web2.0 时代,互联网服务已经被亚马逊、微软等巨头垄断(包括百度),这些公司拥有最强悍的计算机能力、最优秀的人才、最优秀的算法,并且有着最丰富的资金来支持运作,这让初创企业如何立足?

为了实现自身的发展,为了避免这种赢者通吃的竞技状态,避免寡头经济造成市场繁荣但是人们收入却愈加减少,我们要逐渐建立去中心化的新世界。

在新世界中真正的价值体现在通过掌握几个核心关键元素,我们就可以自行掌控和营收自己产生的数据,避免为了换取服务而出卖数据的「被监听」状态,拥有支配权。

二.什么是区块链

我们先理清楚,什么叫区块链。

区块链就是美化的不可更改的链表结构,而且不可更改。其实很简单,链表是非常简单的数据结构,是一种用于存储数据的方式。我们举例解释。

假设你有一个短语:Hello Stack 和 Overflow,当你想要通过某些数据结构来存储的时候,这就是链表的大致结构。

1. 我们创建一个是叫做 Node 的类,这代表这个小盒子的节点。

2. 这个节点接下来要创建一些函数,第一个函数就是结构函数。

3. 我们需要进行初始化并将下一个结点赋为 None。

4. 接下来我们需要定义 get 和 set,这里 get 函数返回我们储存在内部的值,然后函数会得到它连接的下一个结点的值,函数会设置当前结点存储的值,我们会设置为 Hello 或者任何我们想要存储在内部的值。

5. 最后 setNext 函数 t 会设置下一个结点的值,这里也就是 Stack 所在的节点,而它的 setNext 就是 Overflow。

三个不同的字符存储在三个不同的节点上,而整个东西可以被认为是链表。因此这种链表是不可更改的数据结构,我们可以更改链表结构中的值。

而区块链与之不同的是无法更改链表中的值,也无法更改链表中的结构,也因此而无法更改节点上存储的数据,这种不可更改的链表,就是区块链。

那么我们如何确保无人能更改我这个链表内的值呢?中本聪(比特币发明者)说假设某人想要更改区块链内部的值,他们必须得有多于网络上大部分的计算能力,而事实上比特币网络的发展速度太快了,必须得有超过世界上 500 台超级计算机的总和的更多算理才能更改,而世界上没有人有这么多的计算能力。因此区块链是不可更改的,

所以区块链是一次革命,历史上我们第一次不需要信任任何银行、团体。

三.区块链的工作原理

在区块链中,我们要应用到工作量证明算法,具体步骤是:

1. 矿工。他是区块链内的一个节点,需要对待处理交易进行检索,从而获得特征值、哈希值、块 ID 值。

2. 计算工作量证明。这将花费一定时间,然后他们发生块和证明结果给节点来更新区块链,并进行广播。

而神秘是哈希值呢?哈希的基本概念就是取一些值,并创建一些固定的输出,而接收输入并对它做一些函数运算计算输出。其实并不难理解是吗?对于一个区块来说,如果我们输入一些数据,它就有了哈希函数结果值,这就是第一个区块。而矿工要做的就是开采这个区块来发现随机数。

我只想给你将一些区块链的整体概念而没有深入到各个细节,所以你不用担心过于复杂而无法理解。区块链就是一个很简单的优化的链表,一群人用来存储数据的不可变的链表,它是由使用哈希的工作量证明算法来加密的。

四.编写自己的智能合约

我们可以稍微讲一下以太坊。

以太坊创始人说过,我们从比特币中提取基本的框架,有区块链,一个不可更改的数据结构,还有我们不必要信任银行来存储数据,那么我们还可以做什么呢?我们其实可以瓦解任何事,然后把区块链应用到每一个方面

以太坊看上去和比特币很相似,但以太坊里有很多的特征值和变量值,它不仅仅像比特币那样存储代码,还存储交易记录,它还存储一种叫做智能合约的特定代码。被以太坊称为 Solidity。

你可以用这个语言写代码,它会运行在以太坊区块链上并且没有人能关闭它,这是不可停止也不可改变的代码。

Solidity 合约大致分为四个部分:合约存储位置的地址;余额;代码;状态。而想知道它的具体创建方法,快快看视频吧!

视频链接:https://www.youtube.com/watch?v=aPVmd7SyKfQ&t=478s

本文分享自微信公众号 - AI研习社(okweiwu)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 和比特币关系最紧密的技术:区块链原来是这么玩的

    雷锋网消息。5 月 13 日,由 ThoughtWorks 主办的 2017 技术雷达峰会在北京召开。ThoughtWorks 中国区区块链能力负责人刘尚奇,在...

    AI研习社
  • 200 行 Javascript 代码构造一个区块链

    区块链的基础概念是非常简单的:一个有序递增记录列表的分布式数据库。然而,当我们在谈论区块链时很容易和用区块链来解决问题的过程混淆。这在如今较流行的以区块链为底层...

    AI研习社
  • 想挖矿?不如先学习一下以太坊

    许多使用点对点协议且基于区块链的项目在性能和吞吐量上夸大其辞。在研发阶段,这些项目已经出现了一些创新,但是一旦这些协议运行时,它们大多对经常遇到的挑战难以作出解...

    AI研习社
  • MySQL存储引擎知多少

    MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的“存储引擎”(storage_engine)呢?有时候面试题中也会问道MyS...

    黄泽杰
  • MySQL存储引擎总结

    前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下,...

    wangxl
  • mysql几种存储引擎介绍

    前言 在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库。而在设计表的时候,我们都会关注一个问题,使用什么存储引擎。等一下...

    学到老
  • 每日脑洞——前端与后端

    疯狂的技术宅
  • 腾讯安全发布区块链上半年安全报告,深度剖析区块链安全三大根源问题

    云鼎实验室
  • MySQL - 常见的三种存储引擎

    数据库存储引擎: 是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水...

    battcn
  • Confluence 6 使用 Apache 和 mod_proxy

    Atlassian 应用允许用户使用反向代理,但是 Atlassian 并不会为这个功能的配置提供支持。因此,Atlassian 也不能保证能够为这些配置提供任...

    HoneyMoose

扫码关注云+社区

领取腾讯云代金券