谈到比特币,大家应该都不太陌生,它是区块链技术最早最成熟的应用。近几年来区块链逐渐开始了在其他方面的一些应用,区块链的崛起让人们看到了未来新的商业趋势。更有人预言,未来“区块链+”会取代淘宝、支付宝、京东等“中介”,电商都将建立在区块链之上。前一段时间更是有消息传出,京东和阿里都在试图利用区块链技术打击假冒伪劣产品。那么,连淘宝和京东都看重的区块链技术,你又了解多少?
区块链的一些特性
·信息交易不可改:块中的信息不能在后续块中产生变化的情况下被改变,从而会造成嵌入式数字签名不匹配的情况。
·分散化:整个区块链都在网络上的所有计算机之间共享,无单一权利的机构控制。
·数字货币:实际货币不发生交换。只有在发送方和接受方有关数据的数据块之间进行交换和验证。
·没有第三方费用
·匿名但公开:块是匿名的,但具有公开性。公开意味着任何人都可以使用挖矿(Mining)来检查交易,透明度会极大的提高
·频繁验证交易:通过挖矿(Mining)每10分钟验证一次交易
部分区块链技术的重要术语,你了解多少?
1、 区块链
区块链是过去交易的公共数字分类账。在文中我们认为区块链是比特币交易的分类账,区块链是散列链接的数据结构。这个分类账存储在一个分散的网络中,通过加密技术启用所有的散列。网络中的所有对等计算机必须同意交易的顺序,因此每隔10分钟就会选择一台随机的计算机来验证这段时间内发生的交易的权威性顺序。
简单讲区块链就是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。每个区块链技术都由三部分组成:点对点网络、共享机制和区块链。
2、 比特币
比特币是2008年发明的世界上第一个分散式加密货币。说它分散是由于控制是由网络上的所有计算机共享的。而称它位加密货币的原因是“数字货币”的一个子集,使用密码学作为验证交易。当比特币在用户之间交换时就会创造出一系列的比特币交易。
比特币推出了一项名为Blockchain的技术,除了比特币还有各种有关区块链的技术。例如:以太坊。以太坊仍然是区块链技术,因为所有连接的计算机都有一致的软件规则来共享数据,然而,不是比特币交易清单数据可能是其他的数据,例如实时监测选举中的选票数量等。
3、 区块(Block)
事务合并为单个块,每10分钟创建一个大小为1MB的新块。区块链中的每个区块都包含4个组件:时间戳、对前一个区块的引用,包含事务的摘要以及进入创建安全区块的工作证明。
安全散列意味着编辑一个块不会导致后续块的改变。没有一个实体可以简单的进入比特币网络执行价值数百万美元的转移,原因有两个:1、每个块需要几个独立的确认;2、解决密码问题是十分困难的。
4、 挖矿(Mining)
挖矿(Mining)意味着在确认交易的有效性之后,将交易记录添加到区块链分类账上。它涉及使用复杂的硬件来执行数学计算以验证事务。计算机矿工验证交易的有效性之后把它们放到一个安全的块中。这些块组合在一起形成一个代表所有块中的同步信息的区块链。在为每个安全区块创建一个新的哈希值之后,矿工们会得到一定的奖励,比如比特币等。并为他们确认的每笔交易收取交易费用。挖矿(Mining)是必要的,这样就会确保比特币不会重复消耗(参见下面的“5”)。
5、 重复支出
同时向两个不同的收件人发送比特币交易称为双倍消费。
6、 工作量证明(POW)
工作量证明(POW)是要求执行昂贵的计算以促进交易的机制。由于矿工要取得合法的计算结果需要一定量的计算,因此得到合法的计算结果就可以证明完成了一定量的计算。一个哈希块被认为是一个工作量证明(POW)。
7、 Hashcash
Hashcash就是POW的一个例子。比特币使用hashcash POW函数。Hashcash是一种POW算法,它在计算工作方面难以产生数据,但是其他人可以利用它很容易地进行验证。矿工们为每个块创建一个哈希和一个“随机数”,以产生一个具有足够数量的前导零位的散列以满足难度要求。
8、 节点
节点是分布式计算机网络,它们都有整个区块链的副本,区块链通过节点建立信任。
当新用户进入区块链网络时,区块链的副本和对其的访问被分配。数据在多个网络中的所有节点之间都是可复制,同步和共享的。而且数据不受单个节点或网络的控制。
9、 地址(Address)
比特币地址是用于发送、接收或持有货币的一长串字母、数字字符。为了确认交易,比特币钱包持有者需要两个加密的密钥——钱包地址和私人密钥。对于比特币钱包来讲钱包地址是公开的,但是需要私钥来验证整个网络的数字签名来进行匹配交易才有效。
10、 智能合约(Smart Contract)
智能合约是存储在区块链上的一个数字协议,一旦签署,不可改变。智能合约定义了某些必须履行的逻辑操作,以执行存款或数据等任务。举个例子,比如向第三方交付团队发放资金的条件:假设发件人希望用第三方将货物发送给接收者,但是只有在交付成功后才想付款,那么这个合同可能如下:发货人在装货当天支付货款。智能合约的交付团队直到收件人确认发件人收到货物才会将款付给发货人。只有这样智能合同才会释放支付,并自动将货币转移到交付团队。