摘要:比特币区块链同步网络『壹』区块链是骗人的吗“区块链”是新时代的一个重要概念,本质上说是一个中心化的数据库,同时也是数字货币之类的底层技术。按照我们通俗的解释,...
比特币区块链同步网络
『壹』 区块链是骗人的吗
“区块链”是新时代的一个重要概念,本质上说是一个中心化的数据库,同时也是数字货币之类的底层技术。按照我们通俗的解释,可以将“区块链”看成一个账本,每张账单就是每一个区块,只不过这个账本是中心化得的,可以说是没有任何企业或者团队对其管辖。“区块链”技术是以中心化,信息无法串改等特有的信息化,现在生活中此技术已应用至电子发票,支付码等一系列应用之中。
对于现如今生活中,很多人都打着此幌子进行诈骗,直销盘、资金盘,科技盘等名号拉人圈钱然后跑路,很多人因此资金受损,无处维权,最后只能说“区块链”是骗人的这种话。技术无对错,错在人。
随着时代的进步,社会的进步,任何技术的开始应用都会受到正面和反面的种种质疑声,但也随着技术的相对应用与成熟,加之技术的完善,形成人们身边的各种应用也会不断完善,相信不久的未来,这些质疑声会慢慢消散。
下面为大家总结身边常有一些区块链的骗局!
陷阱一:区块链就是发币圈钱
陷阱二:进行虚拟货币交易,许诺低投资高回报
陷阱三:去中心化能解决所有问题
陷阱四:区块链的延伸产品 有了挖矿机就能躺着赚钱
陷阱五:微信、支付宝进行的交易买卖虚拟货币
总之骗子的手法也是与时俱进,要通过我们的“法眼”去提高增强我们的应变能力,去发现与警醒自己,防止上当受骗,投资者对于那些,低投资高回报的各种骗人手段一定要有所警惕。
『贰』 区块链技术概念
区块链技术概念
区块链技术概念,现如今,区块链已经成为大部分人关注的领域,很多企业也早已深入其中研究该技术情况,但是还有人对于它不是很了解,下面我分享一篇关于区块链技术概念的相关信息。
区块链技术概念1区块链的基本概念和工作原理
1、基本概念
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链Blockchain、是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
2、工作原理
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
1、分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。 [8]
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
2、非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
3、共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能.
4、智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息包括医疗信息和风险发生的信息、都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔.
3、其它
互联网交换的是信息,区块链交换的是价值。人类历史和互联网历史可以用八个字理解:分久必合合久必分,到了分久必合的时代,网络信息全部散在互联网上面,大家要挖掘信息非常不容易,这时会出现像谷歌和脸 书等的平台,它做的唯一的事情就是把我们所有的信息重新组合了一下。互联网时代垄断巨头们重组的就是信息,并不是产生自己的信息,产生的信息完全是我们个人。一旦信息重组,就会出现一个新的垄断巨人,所以就到了分久必合的时代。现在由于区块链技术产生又到了合久必分时代,又是新的多中心化,新的多中心化之后赋能产生新的价值,这些数据会在我们自己的手上,个人数据产生价值是归自己所有,这是这个时代最最激动人心的时代。
区块链的价值有哪些?低成本建立信任的机制,确立数权,解决数据的.产权。
目前区块链技术不断发展,包括现在的单链向多链发展,而且技术能够在进一步扩展,我想未来还是可能会出现,特别是在交易等方面出现颠覆性的,特别是对现有产业的很多颠覆性的场景。
区块链的本质是在不可信的网络建立可信的信息交换。
一带一路+一链。区块链更大的不是制造信任,而是让信任产生无损的传递,整个降低社会的摩擦成本,从而提高整个效益。
现在区块链本身还是初始阶段,所以包括区块链的信息传递、加密,这个过程中出现量子加密和其他加密,实际上对区块链本身所采用的加密算法攻击现象也时有发生。包括区块链也是作为一种资产的认定,数字资产的一个认定,但是现在我们很多都是用密码算法,或者是作为我们来解密的钥匙,但是如果密码忘记了,很可能你现在的资产就丢掉了,你不能够在得到你原来的这些资产,所以在资产管理,包括信息传递和一些安全这些方面,应该说都还是存在着一些隐患。当然那么从技术角度,现在我们区块链本身处理的速度,或者说本身的扩展性,因为从工作机理的角度来看,是要把整个账本要复制给所有的参与人员,所以在区块链本身的运作效率和扩展性方面还是比较受限的。这些我们觉得都还是需要进一步在技术方面有进一步的发展。
区块链平台这些底层技术,又形成包括区块链钱包、区块链浏览器、节点竞选、矿机、矿池、开发组件、开发模块、技术社区及项目社群等一系列的生态系统,这些生态系统的完善程度直接决定着区块链底层平台的使用效率和效果。
4、蒙代尔的不可能三角
去中心化、高效、安全,不可能实现三者全部同时达到极致。
区块链技术概念2区块链的本质是一种分布式记账技术,与之相对的是中心式记账技术,中心式记账技术在我们目前的生活中广泛存在。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链Blockchain、,是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性防伪、和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
区块链技术通俗的理解就是:把“物”的前、后、左、右区块用一种技术连接成一个链条,但每个区块的原始数据不可篡改,是一种物联网范畴的、可以让参与者信任的“各个模块链动”的技术。区块链技术的应用,离不开互联道网,也离不开物联网,是建立在二者融合互动基础上的、但又让参与者各自保持独回立的去中心化、、并共同拥有这套价值链共建共享、的技术。
区块链的特征:去中心化、开放性、自治性、信息不可篡改,匿名性。
区块链是一个能够传递价值的网络,对可以传递价值的网络的需求是推动区块链技术产生的重要原因。在对于保护带有所有权或者其他价值的信息需求的推动下,区块链出现了。区块链通过公私钥密码学、分布式存储等技术手段,一方面保证了带有价值的信息的高效传递,另一方面保证了这些信息在传递的过程中不会被轻易的复制篡改。
从区块链诞生的必然性来理解区块链的内涵,区块链是解决了中心化记账缺点、解决了分布式一致性问题的分布式记账技术,同时也是连接互联网升级为保证带有价值的信息安全高效传递的价值网络。
区块链技术概念3区块链: 区块链就像是一个全球唯一的帐簿,或者说是数据库,记录了网络中所有交易历史。
以太坊虚拟机(EVM): 它让你能在以太坊上写出更强大的程序比特币上也可以写脚本程序、。它有时也用来指以太坊区块链,负责执行智能合约以及一切。
节点:你可以运行节点,通过它读写以太坊区块链,也即使用以太坊虚拟机。完全节点需要下载整个区块链。轻节点仍在开发中。
矿工:挖矿,也就是处理区块链上的区块的节点。这个网页可以看到当前活跃的一部分以太坊矿工:stats.ethdev.com。
工作量证明:矿工们总是在竞争解决一些数学问题。第一个解出答案的(算出下一个区块)将获得以太币作为奖励。然后所有节点都更新自己的区块链。所有想要算出下一个区块的矿工都有与其他节点保持同步,并且维护同一个区块链的动力,因此整个网络总是能达成共识。(注意:以太坊正计划转向没有矿工的权益证明系统(POS),不过那不在本文讨论范围之内。)
以太币:缩写ETH。一种你可以购买和使用的真正的数字货币。这里是可以交易以太币的其中一家交易所的走势图。在写这篇文章的时候,1个以太币价值65美分。
Gas:在以太坊上执行程序以及保存数据都要消耗一定量的以太币,Gas是以太币转换而成。这个机制用来保证效率。
DApp: 以太坊社区把基于智能合约的应用称为去中心化的应用程序(Decentralized App)。DApp的目标是(或者应该是)让你的智能合约有一个友好的界面,外加一些额外的东西,例如IPFS可以存储和读取数据的去中心化网络,不是出自以太坊团队但有类似的精神)。DApp可以跑在一台能与以太坊节点交互的中心化服务器上,也可以跑在任意一个以太坊平等节点上。(花一分钟思考一下:与一般的网站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链而不是中心化数据库读取重要数据。相对于典型的用户登录系统,用户有可能被表示成一个钱包地址而其它用户数据保存在本地。许多事情都会与目前的web应用有不同架构。)
以太坊客户端,智能合约语言
编写和部署智能合约并不要求你运行一个以太坊节点。下面有列出基于浏览器的IDE和API。但如果是为了学习的话,还是应该运行一个以太坊节点,以便理解其中的基本组件,何况运行节点也不难。
运行以太坊节点可用的客户端
以太坊有许多不同语言的客户端实现即多种与以太坊网络交互的方法、,包括C++, Go, Python, Java, Haskell等等。为什么需要这么多实现?不同的实现能满足不同的需求例如Haskell实现的目标是可以被数学验证、,能使以太坊更加安全,能丰富整个生态系统。
在写作本文时,我使用的是Go语言实现的客户端geth (go-ethereum),其他时候还会使用一个叫testrpc的工具, 它使用了Python客户端pyethereum。后面的例子会用到这些工具。
关于挖矿:挖矿很有趣,有点像精心照料你的室内盆栽,同时又是一种了解整个系统的方法。虽然以太币现在的价格可能连电费都补不齐,但以后谁知道呢。人们正在创造许多酷酷的DApp, 可能会让以太坊越来越流行。
交互式控制台:客户端运行起来后,你就可以同步区块链,建立钱包,收发以太币了。使用geth的一种方式是通过Javascript控制台。此外还可以使用类似cURL的命令通过JSON RPC来与客户端交互。本文的目标是带大家过一边DApp开发的流程,因此这块就不多说了。但是我们应该记住这些命令行工具是调试,配置节点,以及使用钱包的利器。
在测试网络运行节点: 如果你在正式网络运行geth客户端,下载整个区块链与网络同步会需要相当时间。你可以通过比较节点日志中打印的最后一个块号和stats.ethdev.com上列出的最新块来确定是否已经同步。) 另一个问题是在正式网络上跑智能合约需要实实在在的以太币。在测试网络上运行节点的话就没有这个问题。此时也不需要同步整个区块链,创建一个自己的私有链就勾了,对于开发来说更省时间。
Testrpc:用geth可以创建一个测试网络,另一种更快的创建测试网络的方法是使用testrpc. Testrpc可以在启动时帮你创建一堆存有资金的测试账户。它的运行速度也更快因此更适合开发和测试。你可以从testrpc起步,然后随着合约慢慢成型,转移到geth创建的测试网络上 - 启动方法很简单,只需要指定一个networkid:geth --networkid "12345"。这里是testrpc的代码仓库,下文我们还会再讲到它。
接下来我们来谈谈可用的编程语言,之后就可以开始真正的编程了。写智能合约用的编程语言用Solidity就好。
要写智能合约有好几种语言可选:有点类似Javascript的Solidity, 文件扩展名是.sol. 和Python接近的Serpent, 文件名以.se结尾。还有类似Lisp的LLL。Serpent曾经流行过一段时间,但现在最流行而且最稳定的要算是Solidity了,因此用Solidity就好。听说你喜欢Python? 用Solidity。
solc编译器: 用Solidity写好智能合约之后,需要用solc来编译。它是一个来自C++客户端实现的组件又一次,不同的实现产生互补、,这里是安装方法。如果你不想安装solc也可以直接使用基于浏览器的编译器,例如Solidity real-time compiler或者Cosmo。后文有关编程的部分会假设你安装了solc。
web3.js API. 当Solidity合约编译好并且发送到网络上之后,你可以使用以太坊的web3.js JavaScript API来调用它,构建能与之交互的web应用。
『叁』 区块链技术和比特币有什么关系
区块链技术是比特币的底层技术,比特币一直在没有任何中心化机构运营和管理的情况下运行,后来比特币技术被抽象提取出来,称之为区块链技术,或者分布式账本技术。
比特币是区块链第一个应用,以后会扩展到越来越多的行业中。
区块链技术被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。
而比特币是不依靠特定货币机构发行,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性的一种货币。
(3)比特币区块链同步网络扩展阅读:
比特币货币特征:
去中心化:比特币是第一种分布式的虚拟货币,整个网络由用户构成,没有中央银行。去中心化是比特币安全与自由的保证 。
全世界流通:比特币可以在任意一台接入互联网的电脑上管理。不管身处何方,任何人都可以挖掘、购买、出售或收取比特币。
专属所有权:操控比特币需要私钥,它可以被隔离保存在任何存储介质。除了用户自己之外无人可以获取。
低交易费用:可以免费汇出比特币,但最终对每笔交易将收取约1比特分的交易费以确保交易更快执行。
无隐藏成本:作为由A到B的支付手段,比特币没有繁琐的额度与手续限制。知道对方比特币地址就可以进行支付。
跨平台挖掘:用户可以在众多平台上发掘不同硬件的计算能力。
参考资料:网络-区块链网络-比特币
『肆』 比特币的运行机制及与区块链的联系
佚名
每一笔比特币交易,都会被区块链网络中的节点记录下来,以此增强交易公信力,保护交易双方利益。但如果所有节点都参与记录的话,容易因为网络延迟等因素造成账本信息不一致,也难以避免记账人会篡改交易信息。
因此比特币采用工作量证明(Proof of Work)共识机制,让所有节点通过解决工作量证明难题的方式参与竞争,竞争成功的节点拥有新区块的记账权,并能够将记录的信息广播出去。其他节点接收后将根据此消息进行数据同步,确保账本一致。这种竞争记账权的过程,叫做挖矿,参与挖矿的节点,叫做矿工。矿工挖矿成功后可以获得区块奖励,即一定数额的比特币,还可以收取该区块上的交易手续费。在利益的驱使下,节点会积极参与挖矿并维护交易记录的真实有效。
比特币的发行只有一种方式,即区块奖励,也就是说比特币是通过挖矿产生的。不过,比特币并不能通过挖矿无限产生,其算法规定了每产生210100 个区块(约四年),比特币的区块链奖励就要减半一次。由于比特币的发行总量恒定为2100万个,预计会在2140年挖完。这个规定确保了比特币不会由于人为增发而发生严重的通货膨胀,可以保护比特币的价值。
比特币的运行以区块链技术为依托,比特币与区块链有着密不可分的关系。比特币是一种资产,而区块链就是为这种资产设定好运行规则的底层技术,从而保证每一笔交易顺利进行。这就好比视频文件与播放器之间的关系,视频的播放必须要通过播放器的底层技术处理才能实现。区块链技术的诞生源于比特币概念的提出,可以说区块链技术是比特币催化下的产物。目前,区块链技术不止运用于比特币等加密货币,在各个领域都有广泛的应用,但比特币仍旧是区块链技术上最早、最成功的应用。
『伍』 区块链与比特币有什么联系呀
区块链是比特币使用的技术,是一种数据库技术。
比特币是区块链的一个应用,是一种数字货币。
区块链技术是随着比特币的诞生而诞生的,但区块链技术不只局限于比特币,甚至不局限于数字货币,而是有非常广泛的应用。
2008年,中本聪发表了关于比特币的论文,即一般说的比特币白皮书。其中,区块链(Blockchain)概念在中本聪的白皮书中被提出。区块链是一串使用密码学方法相关系产生的数据块(称为“区块”,block)。新增的数据块总能链接到上一个区块,即整条区块链的尾部。比特币的点对点网络将所有的交易历史都存储在“区块链”中。
自比特币面世后,越来越多利用区块链技术的数字加密货币面世,到现在已经接近3000种,
见:所有数字货币
但除了加密货币领域,区块链技术已经广泛应用在金融,物联网,物流,保险,数字版权等领域。
『陆』 区块链和比特币(一)
区块链(Blockchain)是一种很早就被学界提出但近几年才被比特币带火的一个概念。比特币是基于区块链技术的一种实现,比特币是一种加密货币,或者叫数字货币也可以。我们先以比特币入手谈谈比特币是怎么利用区块链技术的。
假设06年世界杯决赛期间,两个互相不认识的足球迷碰到了,意大利打法国,法国球迷说我们法兰西有齐达内肯定赢你们意大利,意大利球迷不服气说我们意大利是战无不胜的,不信咱俩赌100欧元。现实世界里,怎么办呢?
我之前讲过我们搞计算机的,90%以上的时间都在处理异常情况,如果人类都很讲信用的话,那这个世界可能就不是现在这样了。秦国当年许给楚怀王那600里地就不是6里了,说不定统一中国的就是楚国了呢也说不定。如果把钱交到第三方手里,万一第三方也跑了怎么办?把钱私吞了。所以现实的陌生世界单靠一颗善良的心是靠不住的,必须有手段稳稳地保证这个承诺,法律契约等。如今很通用的做法是第三方要找权威机构,比如政府,银行等,要么找个有头有脸的人或组织,归根结底还是找个有公信力的机构或人。但一般情况下这个第三方肯定会“雁过拔毛”,收取一定比例的手续费。
那么到底还有没有办法来解决这个难题呢?这就是比特币最初设计的一个初衷,解决两个陌生人之间的信任问题。
加密算法 + 多人记账
首先说加密算法,这里又要我之前提过的非对称加密,即公钥私钥。每个人都可以有一对或多对公钥私钥,但一个公钥只能有对应的私钥,反之亦然。其原理就是两个非常大的质数(p和q)相乘得一个数字(n),如果要根据公钥破解私钥的话理论上必须暴力破解,算出这个数字是由哪两个大质数相乘得来的。目前世界上没有公布可以破解1024位以上的私钥,所以采用1024或者2048甚至更长的私钥是非常安全的。
那么有了公钥私钥,我作为个人就可以用私钥加密,然后发布公钥,任何人都可以用我的公钥解密来确定这就是我本人发布的东西。同理别人给我的转账我也可以用他的公钥解密,从而判断这个就是某人的身份,这也叫数字签名。原理都是一样的,都是加密算法,利用数学欧拉公式,质数相乘等原理得到的。这是个非常伟大的算法,叫RSA,由3个数学家提出,我们普通人只要理解到公钥私钥的概念和用处就好了。
之前传统模式里,银行或者政府机构都有自己单独的账本,比如张三转给了李四100块,那账本里怎么记?张三的账户里扣除100, 李四的账户里增加100,对吧?
多人账本也是一样的道理,只不过从之前的中心化机构变成了分布式,去中心化的多个机构甚至个人。好比李白给杜甫转了100两银子,以前是财政部记账,区块链里则是唐太宗,杨玉环,张小静,贺知章等多个人一起记账,记到李太白转给了杜子美100两银子,以此为证,后面附有李白的印章。这样一来,有了多个账本,想要篡改那就难于登天了,李白可以放心的转给杜甫并且不担心他会篡改金额或者抵赖。
这样做就可以解决开始提到的球迷打赌的问题,但还有个问题,别人为什么要帮我们记账?
答案是有报酬,这符合人性,不然谁肯帮忙记一笔跟自己没关系的账呢?
但最终记账的人有且只有一个,不然就要乱套了。
有好处的前提下,如何保证哪一个人来记账呢?这里要涉及到一个数学知识,每个要记账的人,其实也就是所谓的矿工他在记账钱必须要解一个数学问题,这个数学问题没有取巧的办法,只能通过把数字带入公式里硬算,算法就是一个Hash(哈希)算法,类似于算一串数字出来,矿工只可以猜,除此之外别无他法。而且目前比特币里这个猜到的概率是万亿分之一,大概一台普通计算机要持续不断的猜一年才可以猜出来这个数字。
但世界上有成千上万台计算机,它们如果一起算的话速度会快很多,因为从概率上讲肯定会有一个计算机算出来,现实情况也确实如此。看个比特币真实的例子。
除此之外,还可以看到Miner(挖矿人)是谁, 这个块里包含了多少比交易(Number of Transactions)。
如果这个矿工是个别有用心的人,他在算出来后,私自篡改转账记录和金额怎么办?
A. 篡改交易记录 / 金额
前面我们介绍了公私钥加密技术,矿工本身理论上是没有发款人或收款人的私钥的,所以他篡改过的交易记录在用正确的公钥解密的时候会出错,最终被认定为非法(这里作者本人不太确定是在什么时间点做的鉴定,但确定这个记录是可以被证伪的)。
B. 删除交易记录
假设一个场景,张三要在北京4环买一个两室一厅的房子,但张三不想出这钱还想白占房子,想到了一种偷鸡摸狗的办法就是篡改交易记录。理论上,在张三付款后,这个记录产生但并未确认,记录需要等到一个解出谜题的矿工来做,假设这个矿工是他自己人,他让矿工把这条记录抹掉,没有问题。但做法有几种:
众所周知比特币挖矿需要很长一段时间,因为要做提到很麻烦的数学题,现在这个周期大概是10分钟所有,这是基于全世界几十万矿机同时满负荷工作的前提下。也就是说每十分钟有上万笔交易会被统一确认并放到一个不可改变的区块里,并且这几十万台矿机同时更新自己本地的记录。
2.1 如果这笔交易刚生成,房东看到了,然后下一秒就把产权过户给张三,那么张三如果想篡改这个付款记录他必须满足几个条件:
成功的难度取决于在篡改的记录之后有多少块被确认过的区块。如果只有一个,那么太简单了,因为区块链算法默认矿工在发布新的区块时,采用第一个收到且较长的区块。所以这次修改后就一劳永逸,因为所有的账本都会背同步,但也有一个问题,就是这次同步会被记录,如果房东查不到账,张三最终还是会被抓起来的。如果有很多个,比如张三转账完后,房东在确认转账后1小时才做的产权过户,那么张三就必须篡改之前差不多6块左右的区块信息,这个很麻烦,因为每一个区块都会指向上一个区块,并且每个区块都会有一个摘要(Hash),这是当前区块所有交易记录的汇总。所以如果试图修改一个很久前的区块,那么后面的区块的摘要都会变掉,这就是哈希树(MerkleTree)。其他节点是可以报告区块链被篡改的信息的。这就要涉及到最重要的一点,经常有人提到的51%算力,就是说如果张三拥有了超过50%的账本都承认这次修改,那么其他节点按照算法设计也会承认这次修改。不过,先不谈世界上基本没人可以同时做到以上两点,就算做到了,如果有人对此有疑问,依然可以把系统强制修复,之前以太坊就出过类似的问题,结局是以太坊篡改了整个区块,追回了被盗取的财产。 以太坊分叉事件 。
以上只是粗浅的介绍了应用区块链技术实现的比特币的特征,它可以很好的实现公开,公正,中立和平等。世界上任意两个陌生人可以依赖比特币或者其他区块链技术实现互相信任。