区块链tosky
『壹』 图解什么是区块链
区块链这么火,都开始影响到我的生活了,不想了解也不行了的样子,今天来看看到底什么是区块链。
本文结构:
和它的名字一样,
区块链是由一组块组成的链,
块是包含信息的信息块,组成的链也就包含了信息。
区块链技术最早是在1991年由一群研究人员研发,用来给数字化文档打时间戳,使得这些文档不能被篡改。从那之后就基本上没有再发挥其他作用,直到2009年,中本聪采用区块链技术创造了数字加密货币-比特币。
一条区块链,就是一个对所有人完全公开的分布式账本,它有一个很有趣的属性: 一旦某些数据被记录到一条区块链中后,那么数据就很难再被改变。
来看一下 一个区块(block)的组成:
每一个区块包含了 一些数据,这个区块的哈希值,以及前一个区块的哈希值 。
区块中所保存的数据与区块链的类型有关,例如,比特币区块链中的区块保存了相关的交易信息,包括卖家,买家,以及交易比特币的数量。
每个区块包含了一个哈希值,哈希值用来标识一个区块和它所包含的所有内容,并且它是独一无二的,就像指纹一样。一旦某个区块被创建,它的哈希值就相对应的被计算出来了。如果改变区块中的某些内容会使得哈希值改变, 如果一个区块的指纹改变了,那它就再也不是之前的区块了 。
区块中包含的第三个元素是前一个区块的哈希值,这个元素使得区块之间可以形成链接,并且能够使得区块链十分的安全。
假设我们有一条区块链包含3个区块
每个区块包含了一个自己的哈希值以及前一个区块的哈希值
3号区块指向2号区块,2号区块又指向1号区块
1号区块有点特殊,它不能指向前一个区块,因为它是第一个
我们把1号区块叫做 创世区块 。
现在假设我们篡改了第二个区块
这将导致第二个区块的哈希值改变
接下来这就会导致3号区块以及3号区块连接的所有的后续区块变得非法
因为现在它们存储的前一个区块号的都变得非法
所以 单独改变一个块,将连带性地致使后面的所有内容都变成无效 。
但要 防止篡改,只有哈希是不够的
因为现在的计算机运算速度已经足够强大,并且能够每秒计算成千上万的哈希值
这样你完全可以篡改一个区块并且重新计算其他的区块的哈希值,使得你的区块再次变得合法。
所以 为了减少这种风险,区块链还采用了一种技术,叫做工作证明
这是一种减缓新区块创建过程的机制
在比特币区块链中,大概需要花费10分钟来完成所要求的工作证明,并且添加一个新的区块到区块链中
这个机制使得区块链的篡改更加困难
因为 一旦篡改了一个区块,就需要重新计算所有后续的区块的工作量证明 。
所以 区块链技术的安全性主要来自于哈希值以及工作量证明机制 。
区块链还有一种机制来 保护自身的安全性,那就是分布式
相对于用一个中心化的实体来管理区块链网络,区块链采用的是一种 peer-to-peer网络,并且所有人都可以加入
当有人加入这个网络时, 他就会得到整个区块链的复制
这个人就可以以此来验证是否所有的区块还是合法未篡改的,也就是不同的节点也可以借此互相验证。
当某人创建了一个新的区块时,
这个新的区块会被发送给网络上的所有人。
每个人再验证这个区块以确保这个区块没有被篡改过
如果所有的东西都被检验正确之后,那么每个人才能把这块新的区块加到自己的区块链上
我们可以称之为, 网络上的所有人达成了“共识” 。
区块链网络中的所有节点都达成共识
他们认同网络中哪些区块是合法的,哪些是不合法的
那些被篡改过的区块将会被网络上的其他用户拒绝
所以, 要成功篡改一个区块链,你需要篡改区块链上的所有区块
重新完成每个区块的工作量证明,并且控制区块链网络中超过50%的用户
只有这样,你篡改的区块才会被所有人承认
可以说, 这基本上是不可能做得到的!
区块链技术本身也在不断地发展
例如后来的一个技术改进,叫做智能合约
智能合约 是一些存放在区块链上的简单的程序
它能基于合约内所记载的条件自动执行, 只要条件成立,依照合约自动完成交易
例如在特定条件下可以实现自动化比特币交易。
学习资料:
https://www.youtube.com/watch?v=SSo_EIwHSd4
『贰』 国内区块链游戏有哪些
1、加密兔——小米“区块链游戏项目” 2、加密狗——蓝港“区块链游戏项目” 3、区块猫——360“区块链游戏项目” 4、网易招财猫、星球——网易“区块链游戏项目” 5、莱茨——狗网络“区块链游戏项目”重庆匿名科技还是可以,许多都在做
『叁』 什么是区块链
【定义】
区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的指纹用于链接(chain)下个数据块和校验,系统所有参与节点来共同认定记录是否为真。
区块链是一种类似于NoSQL(非关系型数据库)这样的技术解决方案统称,并不是某种特定技术,能够通过很多编程语言和架构来实现区块链技术。并且实现区块链的方式种类也有很多,目前常见的包括POW(Proof of Work,工作量证明),POS(Proof of Stake,权益证明),DPOS(Delegate Proof of Stake,股份授权证明机制)等。
区块链的概念首次在论文《比特币:一种点对点的电子现金系统(Bitcoin:A Peer-to-Peer Electronic Cash System)》中提出,作者为自称中本聪(Satoshi Nakamoto)的个人(或团体)。因此可以把比特币看成区块链的首个在金融支付领域中的应用。
【通俗解释】
无论多大的系统或者多小的网站,一般在它背后都有数据库。那么这个数据库由谁来维护?在一般情况下,谁负责运营这个网络或者系统,那么就由谁来进行维护。如果是微信数据库肯定是腾讯团队维护,淘宝的数据库就是阿里的团队在维护。大家一定认为这种方式是天经地义的,但是区块链技术却不是这样。
如果我们把数据库想象成是一个账本:比如支付宝就是很典型的账本,任何数据的改变就是记账型的。数据库的维护我们可以认为是很简单的记账方式。在区块链的世界也是这样,区块链系统中的每一个人都有机会参与记账。系统会在一段时间内,可能选择十秒钟内,也可能十分钟,选出这段时间记账最快最好的人,由这个人来记账,他会把这段时间数据库的变化和账本的变化记在一个区块(block)中,我们可以把这个区块想象成一页纸上,系统在确认记录正确后,会把过去账本的数据指纹链接(chain)这张纸上,然后把这张纸发给整个系统里面其他的所有人。然后周而复始,系统会寻找下一个记账又快又好的人,而系统中的其他所有人都会获得整个账本的副本。这也就意味着这个系统每一个人都有一模一样的账本,这种技术,我们就称之为区块链技术(Blockchain),也称为分布式账本技术。
由于每个人(计算机)都有一模一样的账本,并且每个人(计算机)都有着完全相等的权利,因此不会由于单个人(计算机)失去联系或宕机,而导致整个系统崩溃。既然有一模一样的账本,就意味着所有的数据都是公开透明的,每一个人可以看到每一个账户上到底有什么数字变化。它非常有趣的特性就是,其中的数据无法篡改。因为系统会自动比较,会认为相同数量最多的账本是真的账本,少部分和别人数量不一样的账本是虚假的账本。在这种情况下,任何人篡改自己的账本是没有任何意义的,因为除非你能够篡改整个系统里面大部分节点。如果整个系统节点只有五个、十个节点也许还容易做到,但是如果有上万个甚至上十万个,并且还分布在互联网上的任何角落,除非某个人能控制世界上大多数的电脑,否则不太可能篡改这样大型的区块链。
【要素】
结合区块链的定义,我们认为必须具有如下四点要素才能被称为公开区块链技术,如果只具有前3点要素,我们将认为其为私有区块链技术(私有链)。
1、点对点的对等网络(权力对等、物理点对点连接)
2、可验证的数据结构(可验证的PKC体系,不可篡改数据库)
3、分布式的共识机制(解决拜占庭将军问题,解决双重支付)
4、纳什均衡的博弈设计(合作是演化稳定的策略)
【特性】
结合定义区块链的定义,区块链会现实出四个主要的特性:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)。并且由四个特性会引申出另外2个特性:开源(Open Source)、隐私保护(Anonymity)。如果一个系统不具备这些特征,将不能视其为基于区块链技术的应用。
去中心化(Decentralized):整个网络没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,且任一节点的损坏或者失去都会不影响整个系统的运作。因此也可以认为区块链系统具有极好的健壮性。
去信任(Trustless):参与整个系统中的每个节点之间进行数据交换是无需互相信任的,整个系统的运作规则是公开透明的,所有的数据内容也是公开的,因此在系统指定的规则范围和时间范围内,节点之间是不能也无法欺骗其它节点。
集体维护(Collectively maintain):系统中的数据块由整个系统中所有具有维护功能的节点来共同维护的,而这些具有维护功能的节点是任何人都可以参与的。
可靠数据库(Reliable Database):整个系统将通过分数据库的形式,让每个参与节点都能获得一份完整数据库的拷贝。除非能够同时控制整个系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。因此参与系统中的节点越多和计算能力越强,该系统中的数据安全性越高。
开源(Open Source):由于整个系统的运作规则必须是公开透明的,所以对于程序而言,整个系统必定会是开源的。
隐私保护(Anonymity):由于节点和节点之间是无需互相信任的,因此节点和节点之间无需公开身份,在系统中的每个参与的节点的隐私都是受到保护的。
『肆』 【区块链】什么是区块链(二)
由于目前区块链领域里充斥着大量的资金盘、空气币。 而且,说起区块链,不可避免地涉及到金融、投资或者投机等话题。 投资有风险、决策需谨慎 ,请各位朋友们擦亮眼睛, 风险自担 。
在这篇著名的论文里,中本聪简明扼要地论述了,怎样实现一个完全的、 不需要通过一个金融机构 的,点对点电子货币系统。
然而,他并没有明说,到底为什么需要这么做。但是一想到那句被他 永远铸造 在第一个比特币区块中的名言:「The Times 03/Jan/2009 Chancellor on brink of second lout for banks. 财政大臣处于第二次援助银行的边缘」,我们便忍不住会去顺藤摸瓜地琢磨:
其实,人类现代金融机构,或者换而言之——银行的历史并不算悠久。英文里的银行——Bank这个词,最早就来源于意大利语BanCa,本来意思是交易时所用到的长凳。而近代银行的雏形也正是起源于13世纪意大利的威尼斯。当然,几乎同一年代,在遥远的东方,中国的宋朝,也出现了具有高利贷性质,以及无利息存款业务的钱庄与票号。
本来,金银成为全世界公认的货币,是一个几乎自然而然的过程。还记得马克思也曾经曰过:
但,自从有了银行,银行家们欣喜的发现——自己写的那张银票,几乎可以等同于金银,同样起到了货币的作用。于是,凭借人们对于银行这个金融机构的信任,银行家可以凭空变出钱来。只要大家不在同一时间来把银票换成银子,存了10万两白银的钱庄,完全可以发出11万两银票来,10万给存钱的人,1万自己花!甚至更多!!!
我们可以抽象一下这个故事的发展过程:
虽然,后来 铸币权 被从私人银行收归了各国政府央行。但央行们都是怎么做的呢?且不说当年愚蠢的国民党政府疯狂发行法币自毁经济的愚蠢行为吧( 1937年100法币可买牛两头,1945年可买鱼一条,1948年可买大米两粒,当然1949年就彻底废了 ),我们来看看当今执世界经济牛耳的美国是怎么干的吧:
所以,1933年,一盎司黄金价值20美元;1944年,一盎司黄金锚定35美元,直到1971年8月15日;1973年,一盎司黄金突破100美元;1975年,一盎司黄金150美元左右;2021年,一盎司黄金已经突破了1800美元!从1933年到1944年,美国人民被迫付出10年接近2倍的代价,最终让美元成为了世界货币;然后从1971年到今天,50年,50倍!
现在谁都知道,王二麻子家的米和青菜都是从哪里来的了。但是, 那又怎么样呢 ?毕竟世界离不开金融机构,同样也离不开这家最大、最牛,凑合着不算太离谱的王二麻子来兜底,这米和青菜,要不就由着他吃吧?
但密码学家兼程序员中本聪先生,显然有不同的意见。他在发表《 比特币:一种点对点电子货币系统 Bitcoin: A Peer-to-Peer Electronic Cash System 》这篇论文的P2P Foundation网站注册时,所填写的生日是 1975年4月5日 ,如今许多人都揣测,写这个日子,一定是别有深意!
所以,总之,我们需要记住,中本聪发明比特币的目的,就是要 实现一个完全的、不需要通过一个金融机构的,点对点电子货币系统 。
而这,也正是让如今这风起云涌的整个区块链世界——诞生的原动力。
中本聪先生内心当时究竟是怎么想的,现在我们谁也没法去确切地探究了。但由所他开启的这场「社会学金融实验」,10多年过去,至今仍然进行得如火如荼……
<待续>
『伍』 什么是区块链技术区块链到底是什么什么叫区块链
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
【基础架构】
一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点 。
拓展资料:
【区块链核心技术】
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
1.分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
2.非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
3.共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。
4.智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。
在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。
区块链-网络
『陆』 区块链简介
Wikipedia对区块链的描述如下:
A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way". For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.
简单整理下,区块链系统包含下面这些元素:
数据:存储在区块链中的数据可以是交易记录,也可以是智能合约等信息;
区块:用于保存数据;区块有一个区块头,其中包含本区块的哈希值,前一区块头的哈希值及时间戳,区块ID等信息;
链:区块组成一个链表,第一个区块被称为创始块,后面区块按照上面提到方式添加到链上,而且只能添加不能删除修改;
分布式:他是一个分布式系统,与其他分布式系统不同的是,系统中的每个节点都会保存完整的数据(一些实践可能会不同,但至少要多数节点)
安全的:数据不会被篡改,每个区块都记录着他前一区块的哈希值,改变区块的内容其哈希值都会改变,意味着该区块后的所有区块都要修改;再者,所有节点都存储完整链表,如果说更改单一节点还有可能的话,那么更改所有(多数)节点基本上是难以实现的,所谓折一筷易,折百筷难。
透明的:任何节点的操作,其他节点都会感知到,存在链上的数据都会被验证,也进一步提供了安全互信。
去中心化:不存在中心节点,关键节点,从而提供了高可靠性,但同时也有分布式系统一致性问题,现在不同产品使用了不同的一致性算法,譬如比特币中的POW,以太坊POW+POS等等
从区块链的技术特点可以看到,他适合需要跨组织/个体的一些场景。
WIP
『柒』 区块链科普
区块链的概念这么火,竟然没有人能很好的解释基本概念。
到找了一个网站,用图示的方法解释了一些基本概念。 blockchian demo
以下是涉及到的概念。
data hash block nouce mine
prev distributed peer token coinbase
理解如下:
1 hash和data的关系。
不同的data对应不同的hash,输入相同的data,会出现相同的hash,但是你无法从hash反推出data是什么。这是由数学算法决定的。
没有数据或者海量数据,hash依旧是那么多位数。
2 block。
区块。简易版的组成:block序号。nonce。data。hash。mine。
3 nonce。mine。
nonce与hash的关系。nonce是一组数字,不同的nonce对应不同的hash,而且是一一对应。也就是说,hash改变,nonce也必须改变。
当你在block里面改变你的data时,你的hash改变了,hash是自动改变的。但是同时,你的nonce并没有改变,于是它与hash不匹配。这个时候,你的这个block就会被判定无效(invalidate)。
这个时候,通过挖矿(mine),运行算法,来给当前的hash匹配到相应的nonce,使这个block生效。mine需要耗费计算资源。
nonce被翻译成碰撞数,也是生动。
4 blockchain
blockchain就是block的链条。他们通过prev,也就是记录前一个block的hash链接起来。因此,第一个block没有prvious hash。
在blockchain中,跟block一样,如果你改变任意一个节点的data,其hash值改变后,为了让它validate,你需要mine,以匹配到nonce。我试着mine了后,发现改变data后的hash变化后,mine后的hash还会继续改变,跟nonce都变化了,这样才validate了。这里并不明白为什么。
同时,由于其后一个block继承到了新的prev hash,整个block变得invalidate,需要mine。也就是说,被改变后的block连同其后的每一个block都需要mine,才能validate。
5 distributed 分布式
一条区块链会有n个peer,是其完全相同的复制品。我的理解是:每个人都有一个完整的、与其他人相同的记录在区块链的账本。当一个blockchain里的数据改变时,它需要使用mine的方式重新使得整个blockchain有效,但与此同时,系统会发现它与其他的blockchain是不一会的(比对最后一个block的hash等就可以了),这时会判定其他多数的blockchain是有效的,用少数服从多数原则判定账本,也就是说,这个blockchain的改变会视为无效。
6 token(代币)
token的英英解释是这样的:
A token is a round flat piece of metal or plastic that is sometimes used instead of money。
翻译成代币也算是准确。
token就是记录在block中data里面的交易数据,包括金额,以及from 和to。
每个block里的token记录的都是所有的转账记录。(目前的理解)也就是说,当你进行了一笔交易时,这个交易记录会被广播到所有peer的block中的token记录里。
7 coinbase
可以理解为币池,就是流通的货币总量。就是这个blockchain里面的token总额或者叫做coin有多少。