思前享后

威尼斯官方网站登录 1

小猿“思前享后”为大家分享优质内容!————Share猿

作者:_unwriter

Hi大家好:

  我是Share猿,Share是英文(SHARE),猿是猿猴的猿,在微信公众号、微博、简书、掘金、今日头条、CSDN都可以通过搜索“Share猿”找到我,我等你哦!小猿 “思前享后”为大家分享优质的内容!今天小猿为大家分享:区块链基本概念

威尼斯官方网站登录 2

  一个完整的区块链系统包含了很多技术,非对称加密、数字签名、时间戳等技术、P2P网络、共识机制,还有链龄、UTXO、Merkle树、双花等相关技术概念。正是这些技术,使得区块链在无中心的网络上安全稳定运转,为区块链的交易、验证、链接等功能提供了源源不断的动力。

原文标题《TheMetanet Starts》,首发于2019年6月24日

1.数据区块

  比特币的交易记录会保存在数据区块之中,比特币系统中大约每10分钟会产生一个区块,每个数据区块一般包含区块头(Header)和区块体(Body)两部分,如图所示:

威尼斯官方网站登录 3

区块结构

  区块头包含的信息就像我们写日记的时候每页的页码、日期等等信息类似。区块体中则主要包含交易计数和交易详情,就相当于我们日记本中的内容一样。我们平常下载的数据主要就是区块体的数据。

翻译:刘晔,上海市海上律师事务所律师

2.挖矿与分叉问题

  区块在挖矿过程中产生。所谓挖矿,实际上是穷举随机数算法,把上个区块的哈希值加上10分钟内的全部交易单打包,再加上一个随机数,算出一个256位的字符串哈希值,输入的随机数Nonce使哈希值满足一定条件就获得这个区块的交易记账权。新产生的区块需要快速广播出去,以便其他节点进行对其验证,以防造假。

  每个区块存着上一个区块的哈希值,可以溯源到源头,只有经过验证后才最终获得区块的交易记账权。比特币系统会让挖矿的矿工竞争记账权(在主链上链接区块的权利),这个竞争机制就是工作量证明机制。挖矿需要付出大量的能源和时间,谁付出的工作量多就能以更大的概率获得一个区块的记账权。获取记账权的矿工会将当前区块链接到前一区块,形成最新的区块主链,该矿工也会得到系统奖励的一定数量(2009~2013年每10钟产生50个比特币,2014年至今每10分钟产生的比特币将减半成25个)的比特币。所有的区块链接在一起形成了区块链的主链,从创世区块到当前区块,在区块链之上的所有数据历史都可以被追溯和查询。

  需要说明的是,可能会出现不同地区的两个矿工同时“挖出”两个新区块加以链接的情况,这时主链上就会出现“分叉”。系统并不会马上确认哪个区块不合理,而是约定后续矿工总是选择累计工作量证明最大的区块链。因此,当主链分叉以后,后续区块的矿工将通过计算和比较,将其区块链接到当前累计工作量证明最大化的备选链上,形成更长的新主链,并自动抛弃分叉处的短链,从而解决分叉问题。

元网(Metanet)是世界上第一台四维计算机,由比特币本地驱动,生存于比特币。

3.时间戳和不可篡改性

  时间戳是指从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,通常是一个字符序列,唯一地标识某一刻的时间。在比特币系统中,获得记账权的节点在链接区块时需要在区块头中加盖时间戳,用于记录当前区块数据的写入时间。每一个随后区块中的时间戳都会对前一个时间戳进行增强,形成一个时间递增的链条。时间戳技术本身并没有多复杂,但在区块链技术中应用时间戳却是一个重大创新,时间戳为未来基于区块链的互联网和大数据增加了一个时间维度,使得数据更容易追溯,重现历史也成为可能。同时,时间戳可以作为存在性证明(Proof ofExistence)的重要参数,它能够证实特定数据必然在某特定时刻是的确存在的,这保证了区块链数据库是不可篡改和不可伪造的,这也为区块链技术应用于公证、知识产权注册等时间敏感领域提供了可能。

元网具有强大的特性,比如:

4.分布式数据库

  比特币系统中的区块就像一个记账本一样,记录了所有比特币的交易信息,每一个比特币用户的比特币收支情况都被永久地嵌入了数据区块中以供别人查询。这些数据区块中的交易数据存放在每一个比特币用户的客户端节点中,所有的这些节点则组成了比特币及其坚韧的分布式数据库系统。任何一个节点的数据被破坏都不会影响整个数据库的正常运转,因为其他的健康节点中都保存了完整的数据库。

1.

5.UTXO

  关于UTXO的好多人把它当做我们的余额,但是UTXO不同于余额,我拿余额宝和比特币做一个简单的比较大家就明白了。

威尼斯官方网站登录 4

余额宝和比特币对比

  从上图中我们可以看出,你有一个比特币就相当于你有一个未花费的交易输出,而余额宝则是实实在在的余额。为什么要这么设计,从软件的方面来讲这样设计一方面有助于节省数据库资源,另一方面可以提升记账的效率。

绝对的数据所有权:许许多多“去中心化”的崇拜者试图解决这个问题,但一一失败了。元网通过使用比特币从根本上解决了这个问题。

6.哈希函数

  哈希函数在比特币系统中也有着重要的应用,区块链中的数据并不只是原始数据或者交易记录,还包括它们的哈希函数值,即将原始数据编码为特定长度的、由数字和字母组成的字符串后,记入区块链。哈希函数有着很多适合存储区块链数据的优点:
  1)哈希函数处理过的数据是单向性的,通过处理过的输出值几乎不可能计算出原始的输入值;
  2)哈希函数处理不同长度的数据所耗费的时间是一致的,输出值也是定长的;
  3)哈希函数的输入值即使只相差一个字节,输出值的结果也会迥然不同。比特币系统中最常采用的哈希函数是双SHA256哈希函数,通俗来说就是将不同长度的原始数据用两次SHA256哈希函数进行处理,再输出长度为256的二进制数字来进行统一的识别和存储。总之,哈希函数是比特币系统中的关键技术,为比特币系统提供了很多便利。

2.

7.Merkle树

  Merkle树是数据结构中的一种树,可以是二叉树,也可以是多叉树,它具有树结构的所有特点。如图所示:

威尼斯官方网站登录 5

  比特币区块链系统中的采用的是Merkle二叉树,它的作用主要是快速归纳和校验区块数据的完整性,它会将区块链中的数据分组进行哈希运算,向上不断递归运算产生新的哈希节点,最终只剩下一个Merkle根存入区块头中,每个哈希节点总是包含两个相邻的数据块或其哈希值。
  在比特币系统中使用Merkle树有诸多优点:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚至物联网设备上;其次是Merkle树可支持“简化支付验证协议”(SPV),即在不运行完整区块链网络节点的情况下,也能够对交易数据进行检验。所以,在区块链中使用Merkle树这种数据结构是非常具有意义的。

可替代的计算:如果正确使用,比特币是隐私的和可替代的。元网充分利用了这个特性,提供了一种可替代的计算框架,而其他任何“区块链平台”从无这种可能性。

8.双重支付

  双重支付问题又称为“双花”问题,即利用货币的 数字特性用“同一笔钱”完成两次或者多次支付。在传 统的金融和货币体系中,由于金钱货币是物理实体, 具有客观唯一存在的属性,所以可以避免双重支付的 情况。但在其他的电子货币系统中,则需要可信的第 三方管理机构提供保证。区块链技术则在去中心化的 系统中不借助任何第三方机构而只通过分布式节点之 间的相互验证和共识机制,有效地解决了双重支付问 题,在信息传输的同时完成了价值转移。区块链技术 通过区块链接形成的时间戳技术加上验证比特币是否 满足UTXO(未花费交易)和数字签名,有效避免了 双重支付的问题。如果有人用同一笔UTXO构造了两 笔付给不同交易方的交易,则比特币客户端只会转发 最先被侦听到的那个。矿工会选择将那笔交易包入未 来区块,当其中一笔交易所在的区块后有5个链接的 区块,这笔交易已经得到了6次确认。在比特币区块 链上,6次确认后可以基本上保证比特币不被双花。

3.无限计算:两种强大方案的结合,开启了一个新的计算维度。

9.P2P网络

威尼斯官方网站登录 6

  P2P网络(peer-to-peer network,对等网络)是一 种在对等者(peer)之间分配任务和工作负载的分布 式应用架构,是对等计算模型在应用层形成的一种组 网或网络形式。因此,从字面上,P2P可以理解为对 等计算或对等网络,P2P网络示意图如图2-5所示。国 内的迅雷软件采用的就是P2P技术。区块链系统是建 立在IP通信协议和分布式网络的基础上的,它不依靠 传统的电路交换,而是建立于网络通信之上,完全通 过互联网去交换信息。网络中所有的节点具有同等的 地位,不存在任何特殊化的中心节点和层级结构,每 个节点均会承担网络路由、验证数据区块等功能。网 络的节点根据存储数据量的不同可以分为全节点和轻 量级节点,全节点存储了从创世区块以来的所有区块 链数据(比特币网络现在大约有几十GB,且还在不 断增长中)。全节点的优点是进行数据校验时不需要 依靠别的节点,仅依靠自身就可以完成校验更新等操 作,缺点是硬件成本较高。轻量级节点只需要存储部 分数据信息,当需要别的数据时可以通过简易支付验 证方式(Simplified Payment Verification,SPV)向邻 近节点请求所需数据来完成验证更新。

就在今天,我发布了一个系统,可以帮助驱动元网,叫元网变形虫。

10.加密算法

  除了哈希算法以外,比特币中还存在一种为交易 加密的非对称加密算法(椭圆曲线加密算法)。非对 称加密算法指的就是存在一对数学相关的密钥,使用 其中一个密钥进行加密的数据信息,只有使用另一个 密钥才能对该信息进行解密。这对密钥中,对外公开 的密钥叫作公钥,不公开的密钥就叫作私钥。打个比 方来说,公钥就像银行的账户,私钥就像是该账户的 密码或者账户所有者的签名。区块链之上的有效交易 有一个用于交易发起方私钥签名有效的数字签名,而 该交易的签名可以通过使用交易发起方的公钥进行验 证。公钥可以通过算法从私钥中计算得出,但私钥却 不能从公钥中推出。比特币系统中使用的就是一种非 常典型的非对称加密算法——椭圆曲线加密算法 (ECC)。

威尼斯官方网站登录 7

  如图所示,比特币系统一般从操作系统底层 的一个密码学安全的随机源中取出一个256位随机数 作为私钥,私钥总数为2 256 个,所以很难通过遍历所 有可能的私钥得出与公钥的对应的私钥。用户使用的 私钥还会通过SHA256和Base58转换成易书写和识别 的50位长度的私钥,公钥则首先由私钥和Secp256k1 椭圆曲线算法生成65字节长度的随机数。一般情况 下,比特币钱包的地址也由公钥所生成,其生成过程 为首先将公钥进行SHA256和RIPEMD160双哈希运 算,并生成20字节长度的摘要结果(即Hash160结 果),这个将作为比特币地址的主体(body)信息, 再在前面加上版本前缀0x00,在后面添加4个字节的 地址校验码。地址校验码通过对摘要结果进行两次 SHA256运算,取哈希值的前4位产生。最后通过 Base58处理把连在一起的版本前缀、主体信息和校验 码转换成可以容易让人识别的比特币字符地址。

. . .

11.数字签名

  数字签名就是在信息后面加上另一段内容,作为 发送者的证明并且证明信息没有被篡改。一般是发送 者将信息用哈希算法处理得出一个哈希值,然后用私 钥对该哈希值进行加密,得出一个签名。然后发送者 再将信息和签名一起发送给接收者。接收者使用发送 者的公钥对签名进行解密,还原出哈希值,再通过哈 希算法来验证信息的哈希值和解密签名还原出来的哈 希值是否一致,从而可以鉴定信息是否来自发送者或 验证信息是否被篡改。

不过首先,让我们看一下元网是什么。

12.比特币的隐私模型

  传统隐私模型(见图2-7)为交易的参与者提供 了一定程度的隐私保护,第三方不会交出交易者的个 人身份信息,公众所得知的只是某个人将一定数量的 货币发给了另外一个人,但是难以将该交易与某个特 定身份的人联系起来,公众无法知道这人到底是谁。 这同股票交易所发布的信息是类似的,每一手股票买 卖发生的时间、交易量是记录在案且可供查询的,但 是交易双方的身份信息却不予透露。但实际上,交易 双方的个人信息是存放在第三方机构,所以一定程度 上交易参与者的隐私信息还是会有泄露的风险。

威尼斯官方网站登录 8

  在比特币的隐私模型(见图2-8)中,所有的交 易不需要第三方的操控,也不需要提供任何身份信 息,只需要提供比特币的地址就可以跟任何人完成一 次准匿名的交易。在一定程度上,交易不可追溯到交 易者本身,因此比特币上的交易可以在一定程度上摆 脱监管。但通过对区块链上交易的地址以及交易额做 关联分析,也可以获得有关交易者的蛛丝马迹。因 此,比特币的交易还不是纯粹的匿名交易机制,而是 准匿名(pseudo-anonymous)交易机制。

威尼斯官方网站登录 9


  小猿有一个梦想,可以把区块链通过直白的语言讲给每一个人听。从一篇博文开始!从一段视频开始!从一本书开始!如果您想让您的团队了解区块链!让您的公司了解区块链!让您的学生了解区块链!可以私信小猿或者加小猿微信预约小猿,带你们走进区块链的世界!如果是西安的朋友,小猿可以在业余时间到贵公司为大家讲解!只赚人气不赚钱!!哈哈!!


扫描以下公众号关注小猿↓↓↓↓↓↓↓↓

威尼斯官方网站登录 10

更多资讯请在简书、微博、今日头条、掘金、CSDN都可以通过搜索“Share猿”找到小猿哦!!!


它不是大多数人想的那样。

目录:

1.Metanet介绍

2.建立Metanet 应用程序

3.结论

1.Metanet介绍

自去冬以来,许多人一直在狂热讨论“Metanet”有多伟大。但事实是,这些都不是 Metanet。Metanet从未存在过。

上周末情况发生了变化。它现在已经存在。

在你恐慌之前,让我澄清一下,Metanet 并没有让你在比特币上已建立的任何东西失效。它像是对现有协议的扩展,意味着你不必用它,但是如果你用它,它将会更加强大。请继续阅读以学习更多。

创世纪的 Metanet图是上周末完成的:

大多数人不理解: Metanet 不是什么哲学概念。它也不是一个模因(meme)。Metanet 是一个非常具体的协议,同时也是非常通用的协议,如此通用以至于它变得哲学化。

听起来很矛盾吗?生活中最好的东西就是矛盾。

那么什么是 Metanet 呢?

下面是一个很棒的演示:

我把它分解成一句话:

Metanet是基于比特币的数据结构。

Metanet:基于比特币的数据结构

Metanet 是一个简单协议,允许你在比特币上创建虚拟数据结构。通过有向无环图(DAG)的形式,让你创建计算科学中使用的任何典型数据结构。

1.数组是按时间/拓扑顺序排列的父 子树。

2.图是父 子树,每一个节点由唯一的私钥识别。

3.你甚至可以发明自己的数据结构。

它不只是一个任意数据结构。它是一种可以存储、传输和赋予真实价值的数据结构。所有这些都由比特币本地驱动,可以用你想到的任何方式在比特币编程运行。

比特币 元网: 最高效的可编程数据账本

比特币是最有效的数据存储协议,元网是位于比特币之上的最有效的数据结构协议。

首先阅读下面的 tweet 贴子,了解一下高效的数据存储协议意味着什么。 其他臃肿的“区块链”项目剽窃了比特币,却以一种完全天真和业余的方式将它们的全部历史状态存储在链上,以致根本不能扩容。比特币与它们不同,比特币基于 UTXO (未花费交易输出)。

最小的 UTXO 结构,允许链上与链外计算之间的强大交互,并且可以无限扩容。

当你可以在区块链上建造薛定谔的猫时,为什么要在区块链上建造猫?

在这里,函数式编程与面向对象编程两个范式之间的差异是巨大的。对于初学者来说,函数式编程可以做任何 OOP 可以做的事情,但更小、更可扩展和更健壮。正如我在前面推特提到的,所有大企业都将他们的关键任务系统从面向对象式转移到函数式,是有原因的。

但更重要的是,函数编程范式是Metanet如何增加一个计算维度,这一点没有其他系统可以做到,因为它们是基于面向对象编程范式的原始刚性结构。

用最小的数据存储协议(即比特币),在顶部构建最小的数据结构协议(即Metanet),当两者产生化学反应时,最终得到的是最简单但最强大的可编程账本。

简单是终极的复杂。

Metanet上有它自己的维度。当你看到它时,其他的东西看起来像玩具一样。如果你不相信我,或者不理解,那就忽略它,并继续玩你的业余计算器吧。我们将用超级计算机来灭迹。

Metanet:可替代的超级计算机

人们一直在比特币中谈论“可替代性”,但是绝大多数人完全误解了“可替代性”的工作原理。这就是为什么你会看到一些不幸的、低级的、非法的解决方案比如混币服务,即将多人的交易混在一起,以模糊资金流向。

当他们在热烈谈论“区块链的透明度”时,又在谈论如何模糊交易。

当他们在称赞比特币是“真相机”时,又致力于将交易移到链外,以真相。

他们不理解比特币区块链的强大在于“链”。他们不理解,可能还有更好的方法在保持资金透明流动的同时,实现隐私。仅仅因为你缺乏足够想象力而没有找到解决方案,不意味着不存在方案,只意味着你的想象力不够。

又,发明者自己也在白皮书的整个章节中明确提到了所有这些内容(阅读全文) :

比特币可替代性的关键不在于非法混币。可替代性的关键是永远不要重用密钥,每进行一次交易都生成一个新密钥。当然,有时重用密钥是方便的或者不可避免的,但是对于绝大多数情况,你可以通过每次派生一个新密钥来实现可替代性。

但 Metanet 走得更远。

如果你认为可替代交易很酷,那么稍等等,等你了解了可替代计算之后再说吧。

过去有各种各样的将“区块链作为一个计算机”的尝试,但他们全部失败在可替代性上。

所有将自己称为“DApp 平台”的区块链系统都属于这一类。所有这些所谓的“作为一个计算机的区块链”都是简单化系统,在结构上有内在限制,原因是它们放弃了 UTXO 系统,导致缺乏可替代性,并限制了计算能力

如果深入研究这些“DApp 区块链平台”,它们不过是非常原始的键/值数据库系统。事实上,如果你将它们与我们今天使用的企业和消费者APPs中的任何一个典型应用程序比较,它们看起来就像玩具一样。

我们可以把它们视作“2D”计算。既原始且有限。

接下来是“3D 计算”。这些系统没有犯下抛弃比特币发明的优雅 UTXO 系统的错误。其中绝大多数协议建立在比特币之上。然而,他们的能力也很有限。由于采用 UTXO 架构,它们有些潜力,但无一展现它们了的全部潜力。因为它们没有一个像Metanet 那样找到使用密钥的方法,他们都受困于脆弱的系统,没有什么可用性,最重要的是,缺乏可替代性。

最后我们有了 Metanet,一个基于 UTXO 的四维计算机。通过为每个新交易生成一个新密钥,并用生成的密钥标识数据结构中的每个节点,Metanet 树与HD密钥树组合,打开了通往一个全新维度的大门。

由于比特币、 Metanet 和密钥之间强大的交互作用,我们不仅有可替代的交易,而且还有一种实现可替代计算的方法。

值得注意的是, Metanet 不是一种关于“去中心化但原始与业余的计算”的业余想法。

目标不是建立一些业余的“去中心化”科学项目。

目标是建立一个前所未有的全新的确定性的超级计算范式。如果你这样看,所有其他的“区块链项目”看起来像一个玩具或一个可爱的社会实验。

最重要的是,与所有的“DApp 平台”不同,比特币 Metanet 的工作方式是100% 合法的、可扩容的,并且得到了开启整个行业的共识机制的保护: 工作量证明挖矿。

Metanet 是比特币的无限转换函数

去年我发布了这条消息:

Metanet 就是比特币缺失的这种"转换函数”。但并没有改变比特币的工作方式。相反,它以最强大的方式利用了比特币现有的独特性性。

它可以无限扩容。但是只有当你以开放的心态去管窥下一个维度的时候。

现在我已经简要地介绍了 Metanet,下面看看如何在 Metanet 上构建实际的应用程序(APPs)。

2. 构建 Metanet 应用程序

Metanet范式

那么 Metanet 在实践中是如何工作呢?什么是范式?

它就像存在于比特币上的云。不,它根本不是“一个类似 dropbox 的系统”。我嘲笑那些曾经说过“因此它就像一个dropbox?"的人。跳出你的小dropbox,开放式思考。这是一个全新的范式。

当我说云时,我不是说传统意义上的“云“,我是指真正生活在区块链上的云。由于这种微妙但重要的区别,你能够最终拥有自己的真正数据。

而且它比任何现有的云平台更安全,因为所有的同步都是通过你自己的密钥执行的只要你拥有密匙,你可以从任何地点、任何时间立即“同步“区块链。结合派生的HD 密钥,它给了我们另一个计算维度,可以实现许多前所未有的事情。

威尼斯官方网站登录 ,下面是 Metanet 演示中的一个图表:

这里有两个部分:

1.区块链数据提供者: 由于直接从区块链同步是低效的,你可以连接到数据提供者比如 Planaria 或 Bitbus上,只请求和同步你需要的数据(Planaria,当你想运行一个无服务器的应用程序时;Bitbus,当你想构建你自己的专业化后端,并作为你自己的一个Planaria 节点提供时)。这些数据提供者有一个确定性的数据派生机制,可以将区块链变成一个可查询的 API。另外,需要注意的是,这些都是“傻瓜式”的API,没有降低应用程序跨平台的锁定机制

2.SPV: 使用 SPV 来验证你从上述数据提供者那里收到的数据的真实性。这一部分是可选的,但随着更多关键任务的应用程序围绕这一范式构建,这一部分将变得越来越重要。这部分还需要做更多的工作,但我们会做到的。

这与Planaria的最初愿景是一致的(我在 Planaria 文档的“从阅读中分离编写”章节讨论了这一点) :

重要的是,这些数据载体解除了从写入到读取的捆绑。

同样重要的是,这些数据载体解除了身份验证与数据传输之间的捆绑,赋予钱包全部权利,同时向用户提供“傻瓜式”服务,在非捆绑的各方之间创建了强大的交互作用(请阅读 Planaria 文档中的“去中心化认证”部分)

本文由威尼斯官方网站登录发布于区块链,转载请注明出处:思前享后

您可能还会对下面的文章感兴趣: