比特币核心机制比特币的核心
这篇文章给大家聊聊关于比特币核心机制,以及比特币的核心对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
本文目录
比特币的账户体系是通过什么机制实现的比特币的核心技术包括 比特币三大核心技术比特币的核心技术包括哪些比特币机制研究比特币的账户体系是通过什么机制实现的比特币是一种纯P2P的虚拟货币,能够满足去中心化、严格控制货币供给速度、预估货币流通总量、有效遏制通货膨胀的需求。比特币基本上具有货币的功能,拥有货币的部分属性,但不一定是真正的货币。它未来能否过渡为真正货币取决于人们对比特币的信任、对一整套机制所营造的信心。今天的专题分析了比特币能够成为真正货币必须克服的一些现实问题,其中涉及经济、互联网金融、法律、网络技术和信息传播等领域。最后提出比特币作为一种全新的无政府虚拟货币,一场数字货币的革新,代表了世界政治经济一体化思潮,具备一定的革命性。
拓展资料:
1.21世纪功能强大的计算机和互联网使得虚拟货币容易创造和管理,2008年11月1日,一名自称中本聪(SatoshiNakamoto)的人设计了一种任何人都能够创造和管理,用于各种交易的新型虚拟货币-比特币。设计者期望这一货币能替代美元和欧元甚至全球货币,彻底改革金融。
2.比特币(Bitcoin)是通过开源的算法产生的一套密码编码。比特币具有五个显著特性:
①属于“信息货币+私人货币”。信息货币是人们为了方便交换不同的物质资源抽象出来的数量单位。由分布式的网络节点,以信息化的方式分散发行,而非中央银行集中控制,与服务、自我服务本身内在相连,其价值取决于承载的信息内容,是一种附加信息的货币卡,具有混合价值形态。私人货币的特点是允许私人发行货币,自由竞争产生货币
③高度匿名。交易双方可以随意生成自己的私钥,将与其对应的公钥告知付款人即可收到款项。下次再使用时,重新生成一对公私钥进行交易。这种一次一密的做法实现了高度匿名交易,且交易不可逆。
④使用方便。达成协议的双方直接进行支付,不需要依靠第三方机构,克服了地理空间的限制和市场的地域分割,提高了金融资源的配置效率,使金融资源配置获得更大的地域弹性。有些网站开发了手机钱包,通过手机使用比特币,满足了互联网时代全球电子货币交易一体化的需求。
⑤交易成本低廉。每笔交易收取约1比特分的交易费,跨境交易支付比特币时不存在汇率问题
比特币的核心技术包括 比特币三大核心技术众所周知,比特币是虚拟货币的一种,最早在2008年的时候由中本聪提出这一概念,在2009年的时候正式诞生。但是比特币的很多核心技术并不是中本聪发明的,而是他将这些技术都结合在一起才创造了比特币。那么,比特币的核心技术包括哪些呢?对此问题感兴趣的小伙伴可以继续往下阅读。
比特币的核心技术
1、非对称加密技术:非对称加密技术与对称加密技术最大的不同是有公钥和私钥之分,简单来说就是公钥和私钥是一对,如果用公钥对数据进行加密,那只有用对应的私钥才能解密,从而保证数据传输的安全,对应到比特币中就是比特币的地址和私钥;
2、点对点传输技术:点对点传输技术简单来说就是去中心化,让用户不需要中心服务器就能进行信息的传输,在比特币中的体现就是比特币无需央行等中心机构发行,它能够由计算机自己产生;
3、哈希现金算法机制:这一技术被应用到了比特币的发行机制当中,就是用户用自己电脑的算力进行挖矿,然后比特币网络就会产出比特币给第一个挖出区块的矿工。
好了,以上就是比特币的核心技术包括哪些的解答,希望能够帮助到遇到此类问题的小伙伴。
比特币的核心技术包括哪些比特币的核心技术包括1、非对称加密技术2、点对点传输技术3、哈希现金算法机制。
1.非对称加密技术和对称加密技术最大的不同就是有了公钥和私钥之分。非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。公钥是公开的,私钥是保密的。由于不涉及私钥的传输,整个传输过程就变得安全多了。后来又出现了具备商业实用性的非对称RSA加密算法以及后来的椭圆曲线加密算法(ECC),这些都奠定了加密算法理论的基础,但是美国国家安全局NSA最初认为这些技术对国家安全构成威胁,所以对这些技术进行了严密的监控,知道20世纪90年代末NSA才放弃了对这些技术的监控,这些非对称技术才最终走入了了公众的视野。这项技术对应到比特币场景中就是比特币的地址和私钥。
2.点对点传输技术顾名思义,就是无需中心服务器、个体之间可以相互传输信息的技术,P2P网络的重要目标就是让所有客户端都能提供资源,包括宽带、存储空间和计算能力。对应到比特币网络中就是利用点对点的技术实现真正的去中心化。
3.哈希现金算法机制就是让那些制造垃圾邮件的人付出相应的代价!发送者需要付出一定的工作量,比如说哈希运算,几秒钟时间对于普通用户不算什么,但对于垃圾邮件的发送者每封邮件都要花几秒钟的时间,这样的成本是没有办法负担的。同时每次运算都会盖上一个独一无二的时间戳,这样就能保证邮件发送方不能重复使用一个运算结果。对于比特币而言也是同样的道理,如何保证一笔数字货币没有被多次消费(DoubleSpending),就类似于验证一封邮件没有被多次发送,所以就要保证每一笔交易顺利完成,必须要付出一定的工作量(proofofWork),并且在完成交易时盖上一个时间戳表示交易完成的时间。
比特币机制研究现今世界的电子支付系统已经十分发达,我们平时的各种消费基本上在支付宝和微信上都可以轻松解决。但是无论是支付宝、微信,其实本质上都依赖于一个中心化的金融系统,即使在大多数情况这个系统运行得很好,但是由于信任模型的存在,还是会存在着仲裁纠纷,有仲裁纠纷就意味着不存在不可撤销的交易,这样对于不可撤销的服务来说,一定比例的欺诈是不可避免的。在比特币出来之前,不存在一个不引入中心化的可信任方就能解决在通信通道上支付的方案。
比特币的强大之处就在于:它是一个基于密码学原理而不是依赖于中心化机构的电子支付系统,它能够允许任何有交易意愿的双方能直接交易而不需要一个可信任的第三方。交易在数学计算上的不可撤销将保护提供不可撤销服务的商家不被欺诈,而用来保护买家的程序化合约机制也比较容易实现。
假设网络中有A,B,C三个人。
A付给B1比特币,B付给C2比特币,C付给A3比特币。
如下图所示:
为了刺激比特币系统中的用户进行记账,记账是有奖励的。奖励来源主要有两方面:
比特币中每一笔交易都会有手续费,手续费会给记账者
记账会有打包区块的奖励,中本聪在08年设计的方案是:每10分钟打一个包,每打一个包奖励50个比特币,每4年单次打包的奖励数减半,即4年后每打一个包奖励25个比特币,再过四年后就奖励12.5个比特币...这样我们其实可以算出比特币的总量:
要说明打包的记录以谁为准的问题,我们需要引入一个知名的拜占庭将军问题(Byzantinefailures)。拜占庭将军问题是由莱斯利·兰伯特提出的点对点通信中的基本问题。含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。
假设有9个互相远离的将军包围了拜占庭帝国,除非有5个及以上的将军一起攻打,拜占庭帝国才能被打下来。而这9个将军之间是互不信任的,他们并不知道这其中是否有叛徒,那么如何通过远距离协商来让他们赢取战斗呢?
口头协议有3个默认规则:
1.每个信息都能够被准确接收
2.接收者知道是谁发送给他的
3.谁没有发送消息大家都知道
4.接受者不知道转发信息的转发者是谁
将军们遵循口头规则的话,那就是下面的场景:将军1对其他8个将军发送了信息,然后将军2~9将消息进行转达(广播),每个将军都是消息的接受者和转发者,这样一轮下来,总共就会有9×8=72次发送。这样将军就可以根据自己手中的信息,选择多数人的投票结果行动即可,这个时候即便有间谍,因为少数服从多数的原则,只要大部分将军同意攻打拜占庭,自己就去行动。
这个方案有很多缺点:
1.首先是发送量大,9个将军之间要发送72次,随着节点数的增加,工作量呈现几何增长。
2.再者是无法找出谁是叛徒,因为是口头协议,接受者不知道转发信息的转发者是谁,每个将军手里的数据仅仅只是一个数量的对比:
这里我们假设有3个叛徒,在一种最极端的情况下即叛徒转发信息时总是篡改为“不进攻”,那么我们最坏的结果就如上图所示。将军1根据手里的信息可以推出要进攻的结论,却无法获知将军里面谁是叛徒。
这样我们就有了方案二:书面协议。
书面协议即将军在接受到信息后可以进行签字,并且大家都能够识别出这个签字是否是本人,换种说法就是如果有人篡改签字大家可以知道。书面协议相对比口头协议就是增加了一个认证机制,所有的消息都有记录。一旦发现有人所给出的信息不一致,就是追查间谍。
有了书面协议,那么将军1手里的信息就是这样的:
可以很明显得看出,在最坏的一种情况——叛徒总是转发“不进攻”的消息之下,将军7、8、9是团队里的叛徒。
这个方案解决了口头协议里历史信息不可追溯的问题,但是在发送量方面并没有做到任何改进。
在我们的示例中,比特币系统里的每个用户发起了一笔交易,都会通过自己的私钥进行签名,用数学公式表示就是:
所以之前的区块就变成了这样:
这样每一笔交易都由交易发起者通过私钥进行数字签名,由于私钥是不公开的,所以交易信息也就无法被伪造了。
如书面协议末尾所说的那样,书面协议未能解决信息交流过多的问题。当比特币系统中存在上千万节点的时候,如果要互相广播验证,请求响应的次数那将是一个非常庞大的数字,显然势必会造成网络拥堵、节点处理变慢。为了解决这个问题,中本聪干脆让整个10分钟出一个区块,这个区块由谁来打包发出呢?这里就采用了工作量证明机制(PoW)。工作量证明,说白了就是解一个数学题,谁先解出来数学题,谁就能有打包区块的权力。换在拜占庭将军的例子中就是,谁先做出数学题,谁就成为将军们里面的总司令,其他将军听从他发号的命令。
首先,矿工会将区块头所占用的128字节的字符串进行两次sha256求值,即:
这样求得一个值Hash,将其与目标值相比对,如果符合条件,则视为工作量证明成功。
工作量证明成功的条件写在了区块链头部的难度数字段,它要求了最后进行两次sha256运算的Hash值必须小于定下的目标值;如果不是的话,那就改变区块头的随机数(nonce),通过一次次地重复计算检验,直到符合条件为止。
此外,比特币有自己的一套难度控制系统,使得比特币系统要在全网不同的算力条件下,都保持10分钟生成一个区块的速率。这也就意味着:难度值必须根据全网算力的变化进行调整。难度调整的策略是由最新2016个区块的花费时长与期望时长(期望时长为20160分钟即两周,是按每10分钟一个区块的产生速率计算出的总时长)比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。也就是说,如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。
PoW其实在比特币中是做了以下的三件事情。
这样可以防止一台高性能机器同时跑上万个节点,因为每完成一个工作都要有足够的算力。
有经济奖励就会加速整个系统的去中心化,也鼓励大家不要去作恶,要积极地按照协议本来的执行方式去执行。(所以说,无币区块链其实是不可行的,无币区块链一定导致中心化。)
也就是说,每个节点都不能以自身硬件条件去控制出快速度。现在的比特币上平均10分钟出一个块,性能再好的机器也无法打破这个规则,这就能够保证区块链是可以收敛到共同的主链上的,也就是我们所说的共识。
综上,共识只是PoW三个作用中的一点,事实上PoW设计的作用有点至少有这么三种。
默克尔树的概念其实很简单,如图所示
这样,我们区块的结构就大致完整了,这里分成了区块头和区块体两部分。
区块链的每个节点,都保存着区块链从创世到现在的每一区块,即每一笔交易都被保存在节点上,现在已经有几百个GB了。
每当比特币系统中有一笔新的交易生成,就会将新交易广播到所有的节点。每个节点都把新交易收集起来,并生成对应的默克尔根,拼接完区块头后,就开始调整区块头里的随机数值,然后就开始算数学题
将算出的result和网络中的目标值进行比对,如果是结果是小于的话,就全网广播答案。其他矿工收到了这个信息后,就会立马放下手里的运算,开始下一个区块的计算。
举个例子,当前A节点在挖38936个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第38936个区块(前一个区块为38935)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。
整个流程就像下一张图所展示的这样:
简单来说,双花问题是一笔钱重复花了两次。具体来讲,双花问题可分为两种情况:
1.同一笔钱被多次使用;
2.一笔钱只被使用过一次,但是通过黑客攻击或造假等方式,将这笔钱复制了一份,再次使用。
在我们生活的数字系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况,为了解决双花问题,日常生活中是依赖于第三方的信任机构的。这类机构对数据进行中心化管理,并通过实时修改账户余额的方法来防止双重支付的出现。而作为去中心化的点对点价值传输系统,比特币通过UTXO、时间戳等技术的整合来解决双花问题。
UTXO的英文全称是unspenttransactionoutputs,意为未使用的交易输出。UTXO是一种有别于传统记账方式的新的记账模型。
银行里传统的记账方式是基于账户的,主要是记录某个用户的账户余额。而UTXO的交易方式,是基于交易本身的,甚至没有账户的概念。在UTXO的记账机制里,除了货币发行外,所有的资金来源都必须来自于前面某一个或几个交易。任何一笔的交易总量必须等于交易输出总量。UTXO的记账机制使得比特币网络中的每一笔转账,都能够追溯到它前面一笔交易。
比特币的挖矿节点获得新区块的挖矿奖励,比如12.5个比特币,这时,它的钱包地址得到的就是一个UTXO,即这个新区块的币基交易(也称创币交易)的输出。币基交易是一个特殊的交易,它没有输入,只有输出。
当甲要把一笔比特币转给乙时,这个过程是把甲的钱包地址中之前的一个UTXO,用私钥进行签名,发送到乙的地址。这个过程是一个新的交易,而乙得到的是一个新的UTXO。
这就是为什么有人说在这个世界上根本没有比特币,只有UTXO,你的地址中的比特币是指没花掉的交易输出。
以Alice向Bob进行转账的过程举例的话:
UTXO与我们熟悉的账户概念的差别很大。我们日常接触最多的是账户,比如,我在银行开设一个账户,账户里的余额就是我的钱。
但在比特币网络中没有账户的概念,你可以有多个钱包地址,每个钱包地址中都有着多个UTXO,你的钱是所有这些地址中的UTXO加起来的总和。
中本聪发明比特币的目标是创建一个点对点的电子现金,UTXO的设计正可以看成是借鉴了现金的思路:我们可能在这个口袋里装点现金,在那个柜子角落里放点现金,在这种情况下不存在一个账户,你放在各处的现金加起来就是你所有的钱。
采用UTXO设计还有一个技术上的理由,这种特别的数据结构可以让双重花费更容易验证。对比一下:
比特币核心机制的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于比特币的核心、比特币核心机制的信息别忘了在本站进行查找哦。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 931614094@qq.com 举报,一经查实,本站将立刻删除。