btc数据结构
❶ 比特币数据结构是怎样的呢
你好,你问的这个问题相当有水准。
P2P即点对点
问题① 比特币的交易信息和连接块存储在哪?
通俗点说 交易信息等确认 都是通过特殊算法计算后 随机 交由旷工验证的。不存在在哪里的问题
问题② 有专门的存储服务器吗?
没有。这就是去中心化。没有类似央行的发行 管理机构 但它设计之初就有一套约束机制,确保人很难作弊
问题三 和传统的电子现金没有什么区别了呢
没有发行机构 方便 便捷 跨国际流通 低成本 比特币可以说是一种革命性的创新。 电子现金显然不具备可比性。
下面括号这段引用网络:
(比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同。)
个人观点:比特币确实是一种革命性创新 加密技术 电子货币 有不少优点。
但是投资有风险 币市水更深。 它的价格目前存在较大泡沫,含有炒作 投机成分。
❷ 比特币如何算出来的
要想了解bitcoin的技术原理,首先需要了解两个重要的密码技术: HASH码:将一个长字符串转换成固定长度的字符串,并且其转换不可逆,即不太可能从HASH码猜出原字符串。bitcoin协议里使用的主要是SHA256。
公钥体系:对应一个公钥和私钥,在应用中自己保留私钥,并公开公钥。当甲向乙传递信息时,可使用甲的私钥加密信息,乙可用甲的公钥进行解密,这样可确保第三方无法冒充甲发送信息;同时,甲向乙传递信息时,用乙的公钥加密后发给乙,乙再用自己的私钥进行解密,这样可确保第三者无法偷听两人之间的通信。最常见的公钥体系为RSA,但bitcoin协议里使用的是lliptic Curve Digital Signature Algorithm。 和现金、银行账户的区别? bitcoin为电子货币,单位为BTC。在这篇文章里也用来指代整个bitcoin系统。 和在银行开立账户一样,bitcoin里的对应概念为地址。每个人都可以有1个或若干个bitcoin地址,该地址用来付账和收钱。每个地址都是一串以1开头的字符串,比如我有两个bitcoin账户,和。一个bitcoin账户由一对公钥和私钥唯一确定,要保存账户,只需要保存好私钥文件即可。 和银行账户不一样的地方在于,银行会保存所有的交易记录和维护各个账户的账面余额,而bitcoin的交易记录则由整个P2P网络通过事先约定的协议共同维护。 我的账户地址里到底有多少钱? 虽然使用bitcoin的软件可以看到当前账户的余额,但和银行不一样,并没有一个地方维护每个地址的账面余额。它只能通过所有历史交易记录去实时推算账户余额。 我如何付账? 当我从地址A向对方的地址B付账时,付账额为e,此时双方将向各个网络节点公告交易信息,告诉地址A向地址B付账,付账额为e。为了防止有第三方伪造该交易信息,该交易信息将使用地址A的私钥进行加密,此时接受到该交易信息的网络节点可以使用地址A的公钥进行验证该交易信息的确由A发出。当然交易软件会帮我们做这些事情,我们只需要在软件中输入相关参数即可。 网络节点后收到交易信息后会做什么? 这个是整个bitcoin系统里最重要的部分,需要详细阐述。为了简单起见,这里只使用目前已经实现的bitcoin协议,在当前版本中,每个网络节点都会通过同步保存所有的交易信息。 历史上发生过的所有交易信息分为两类,一类为"验证过"的交易信息,即已经被验证过的交易信息,它保存在一连串的“blocks”里面。每个"block"的信息为前一个"bock"的ID(每个block的ID为该block的HASH码的HASH码)和新增的交易信息(参见一个实际的block)。另外一类指那些还"未验证"的交易信息,上面刚刚付账的交易信息就属于此类。 当一个网络节点接收到新的未验证的交易信息之后(可能不止一条),由于该节点保存了历史上所有的交易信息,它可以推算中在当时每个地址的账面余额,从而可以推算出该交易信息是否有效,即付款的账户里是否有足够余额。在剔除掉无效的交易信息后,它首先取出最后一个"block"的ID,然后将这些未验证的交易信息和该ID组合在一起,再加上一个验证码,形成一个新的“block”。 上面构建一个新的block需要大量的计算工作,因为它需要计算验证码,使得上面的组合成为一个block,即该block的HASH码的HASH码的前若干位为1。目前需要前13位为1(大致如此,不确定具体方式),此意味着如果通过枚举法生成block的话,平均枚举次数为16^13次。使用CPU资源生成block被称为“挖金矿”,因为生产该block将得到一定的奖励,该奖励信息已经被包含在这个block里面。 当一个网络节点生成一个新的block时,它将广播给其它的网络节点。但这个网络block并不一定会被网络接受,因为有可能有别的网络节点更早生产出了block,只有最早产生的那个block或者后续block最多的那个block有效,其余block不再作为下一个block的初始block。 对方如何确认支付成功? 当该笔支付信息分发到网络节点后,网络节点开始计算该交易是否有效(即账户余额是否足够支付),并试图生成包含该笔交易信息的blocks。当累计有6个blocks(1个直接blocks和5个后续blocks)包含该笔交易信息时,该交易信息被认为“验证过”,从而该交易被正式确认,对方可确认支付成功。 一个可能的问题为,我将地址A里面的余额都支付给地址B,同时又支付给地址C,如果只验证单比交易都是有效的。此时,我的作弊的方式为在真相大白之前产生6个仅包括B的block发给B,以及产生6个仅包含C的block发给C。由于我产生block所需要的CPU时间非常长,与全网络相比,我这样作弊成功的概率微乎其微。 网络节点生产block的动机是什么? 从上面描述可以看出,为了让交易信息有效,需要网络节点生成1个和5个后续block包含该交易信息,并且这样的block生成非常耗费CPU。那怎么样让其它网络节点尽快帮忙生产block呢?答案很简单,协议规定对生产出block的地址奖励BTC,以及交易双方承诺的手续费。目前生产出一个block的奖励为50BTC,未来每隔四年减半,比如2013年到2016年之间奖励为25BTC。 交易是匿名的吗? 是,也不是。所有BITCOIN的交易都是可见的,我们可以查到每个账户的所有交易记录,比如我的。但与银行货币体系不一样的地方在于,每个人的账户本身是匿名的,并且每个人可以开很多个账户。总的说来,所谓的匿名性没有宣称的那么好。 但bitcoin用来做黑市交易的还有一个好处,它无法冻结。即便警方追踪到了某个bitcoin地址,除非根据网络地址追踪到交易所使用的电脑,否则还是毫无办法。 如何保证bitcoin不贬值? 一般来说,在交易活动相当的情况下,货币的价值反比于货币的发行量。不像传统货币市场,央行可以决定货币发行量,bitcoin里没有一个中央的发行机构。只有通过生产block,才能获得一定数量的BTC货币。所以bitcoin货币新增量决定于: 1、生产block的速度:bitcoin的协议里规定了生产block的难度固定在平均2016个每两个星期,大约10分钟生产一个。CPU速度每18个月速度加倍的摩尔定律,并不会加快生产block的速度。 2、生产block的奖励数量:目前每生产一个block奖励50BTC,每四年减半,2013年开始奖励25BTC,2017年开始奖励额为12.5BTC。 综合上面两个因素,bitcoin货币发行速度并不由网络节点中任何单个节点所控制,其协议使得货币的存量是事先已知的,并且最高存量只有2100万BTC
❸ 区块链本质是什么比特币原理又是什么二者究竟有何区别
一枚比特币价格从2万多美元狂涨到4万美元。这不由得引起了我的研究兴趣,或者说简单了解了一下比特币到底是什么,它的机理具体是什么样子的,揭开它的神秘面纱。因此,简单搜索了一些资料,也对比特币有些了解,便把手头上的资料整理了一下。
(3)目的:去中心化,减少风险
中心式网络只有中央服务器能够存储和处理数据,其缺点是工作量大,一旦瘫痪则整个系统瘫痪;数据存储量大;中央管理者权限大。
分布式网络中的所有服务器均能够存储和处理数据,各服务器之间地位平等,可以存储更多的数据和具有更高的安全性。
大致的科普内容就是这样,如果还想多了解一些,可以看看中本聪的论文和下面的官方科普视频。
❹ 比特币低层区块链技术的特征
2015年被称为区块链技术的元年,如今距离比特币大热已经过去了两年多,人们对区块链技术的热情依然没有消退,那么,这神秘的区块链技术究竟是个什么呢?
区块链技术到底是什么?
狭义的概念:区块链技术是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学的方式保证的不可篡改和不可伪造的分布式账本。
广义的概念:区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
人话:区块链技术就是一种全民参与记录的方式。在区块链系统中,每个人的记录都能够得到记录下来,并将记录的内容分发到系统内的每个人进行备份。这样一种去中心化的方式大大提高了系统安全性。
区块链技术有什么好处?
1、区块链技术具有高度可靠性。
区块链的设计使它能够有效预防故障和攻击。由于一个区块链是由一群开放的用户共享,即使区块链网络中单一节点出现故障,也不会导致其他节点上信息的缺失,其余的参与者仍然可以照常运行,区块链上的交易传输并不会收到影响。
2、区块链具有透明性。
区块链的透明性表现在区块链上的任何数据的更新都会被同步的更新到整个区块链上,区块链网络上的任何数据记录都能够在各个节点查询到。区块链消除了数据的不对称性,提高了网络节点间的信任度。
3、区块链上存储的记录不可改变。
除非区块链上超过50%的节点都对同一记录进行更改,否则所有数据都不能改变。这降低了交易中的欺诈风险。而且储存的记录具有不可撤销的特征。当新数据写入区块后,新生成的区块将会被拷贝至区块链中的全部区块,这样的流程不可逆转,因此区块链具有不可撤销性的特征。这提高了交易的精度,也简化了数据处理的流程,更降低了保持数据原始性和交易可追溯性的成本
❺ 什么是比特币 区块链
1.比特币是区块链技术的第一个成功的应用
2.区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
❻ 什么是比特币分叉
比特币中一个区块的容量就是1M(兆字节)吧。而一笔交易是250到500字节之间。
按照这种算法,那么一个区块大约包含的4 194.3(笔)交易。
比特币中一个区块确认的时间是10分钟,那么一个区块每秒能处理的7个交易,可能有时候连7笔都达不到。
这样会造成一什么后果呢?
比特币的分叉分为硬分叉和软分叉。
硬分叉是:指比特币的区块格式或交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块。
已经升级的节点可以验证未升级节点生产出的区块,大家各自延续自己认为正确的链,所以分成两条链。
什么是软分叉呢?
软分叉是指比特币交易的数据结构发生改变时,
未升级的节点可以验证已经升级的节点生产出的区块,
而且已经升级的节点也可以验证未升级的节点生产出的区块。
❼ 比特币最小单可以买几个
从目前的技术上来讲,比特币数据结构下一个比特币可以分割到8位小数,所以比特币最小单位是0.00000001BTC,但交易的话就不能这么少了。
据比特宝统计,目前国内比特币交易平台的通用的最小交易单位是0.01BTC,所以楼主提出的0.0001是无法买卖的。
❽ 比特币交易是如何确认的
比特币的交易方式
比特币是类似电子邮件的电子现金,交易双方需要类似电子邮箱的“比特币钱包”和类似电邮地址的“比特币地址”。和收发电子邮件一样,汇款方通过电脑或智能手机,按收款方地址将比特币直接付给对方。下列表格,列出了免费下载比特币钱包和地址的部分网站。
比特币地址是大约33位长的、由字母和数字构成的一串字符,总是由1或者3开头,例如""。比特币软件可以自动生成地址,生成地址时也不需要联网交换信息,可以离线进行。可用的比特币地址超过2个。形象地说,全世界约有2粒沙, 如果每一粒沙中有一个地球,那么比特币地址总数远远超过所有这些“地球”上的所有的沙子的数量。
比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。我们可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。所以,在使用比特币钱包时请保存好你的地址和私钥。
比特币的交易数据被打包到一个“数据块”或“区块”(block)中后,交易就算初步确认了。当区块链接到前一个区块之后,交易会得到进一步的确认。在连续得到6个区块确认之后,这笔交易基本上就不可逆转地得到确认了。比特币对等网络将所有的交易历史都储存在“区块链”(blockchain)中。区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走。区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录 。 中本聪预计,当数据量增大之后,用户端希望这些数据并不全部储存自己的节点中。为了实现这一目标,他采用引入散列函数机制。这样用户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。
❾ 比特币交易是否有最低标准呢
比特币以聪为单位,1个比特币等于1亿聪。
从现阶段的技术上说,比特币数据结构下一个比特币能够切分成8位小数,因此比特币最小的单位是0.00000001比特币,但交易买卖的话就不可以那么少。
现阶段中国虚拟货币交易平台的通用的最小买卖单位是0.01比特币。
如今虚拟货币交易服务费也要需要0.01个比特币,按照EXX的价格,转账手续费也在120元上下。
比特币最小数值为0.00001,连网络成本费都不够支付,当你仅仅只是购买来玩玩的话,很多外场组织可能都有一定的限定,所以不太可能允许你买几十块钱人民币的比特币。
而且不同的平台的规定也是不一样的,要看交易对的深度来决定最小可以买入多少。