区块链是支撑比特币的基础技术,是过去一年的流行语之一。几乎每个人都在谈论区块链,而且有充分的理由。分布式账本是区块链技术的艺术术语,它提供了一个令人兴奋的新方法,在没有中央管理机构的情况下进行业务交易。以下是组件的非技术性,简化的说明。
区块链定义
区块链或分布式总账是分布(复制)到对等(P2P)网络的计算机的称为“块”的加密交易的不断增长的列表(数字文件)。
块
如上所述,区块链是被称为区块的不可变的,连续的记录链。块可以包含任何类型的数据,例如物理产品的唯一数字标识符。块使用哈希“链接”在一起。哈希是一个函数,它接受一个输入值,并从该输入创建一个确定输入值的输出值。
除了用户数据之外,每个块还将包含一个索引,一个时间戳,一个事务列表,一个证明和前一个块的散列。
哈希
散列起着至关重要的作用。因为每个新块都包含前一个块的散列,所以区块链是不可变的。如果黑客破坏了区块链中较早的区块,则所有后续区块都将包含不正确的哈希值。
加密交易
加密交易(使用传统的公钥/私钥加密)也是区块链价值的关键。用户的“公钥”存储在一个块中,并成为区块链上的“地址”。诸如加密货币或其他数字资产的文件被记录为属于特定块。访问相关的数字资产需要相应的“私钥”。保密私钥非常重要,为了保护他们的数字资产免受黑客攻击,许多人不保留私钥的数字拷贝。他们将数字写在一张纸上,并将纸张放在安全的地方(如墙壁保险柜)。
工作证明(PoW)
一旦区块链被实例化,工作量证明算法(PoW)被用于创建或“挖掘”新的区块。
目前的比特币挖掘技术提供了一个PoW使用的好例子。这种技术在维基百科中被描述如下:“一个比特币矿工运行一个计算机程序,收集来自网络中的硬币交易商的未经证实的交易,其他数据可以形成一个区块并且向矿工支付一笔款项,但是一个块被接受只有当矿工通过反复试验发现一个“随机数”时,网络才会产生一个具有足够数量的前导零位的散列,以满足网络的难度目标。矿工接受的块形成比特币区块链自硬币第一次创建以来,每笔比特币交易的账目都在增长。“
API(应用程序编程接口)
分布式账本开发的下一步是建立一个API(应用程序编程接口),以便希望进行交易的组织可以通过使用互联网来实现。交易终结点允许基于权限访问区块链上的数据。
该API还将具有一个“挖掘端点”,它将做三件事情:(1)计算PoW,(2)添加交易并授予矿工奖励(在比特币挖掘中,奖励是比特币),以及)创建一个新的块,并将其添加到区块链。
点对点(网状)网络
最后,分布式分类账的权力来自分散和分散。为了实现这一点,分布式账本需要一种接受新节点的方法和一种实现共识算法的方法来解决冲突并确保区块链的准确性。
这是通过一个P2P或网状网络,一个分散的计算机网络完成的,每个计算机(节点)既是客户端(访问服务器上的信息的计算机)又是服务器(向客户端提供信息的计算机)。在规模上,P2P网络是自我修复和非常稳定的,因为信息被复制到成千上万的地方,在某些情况下是数百万的地方。
公共或私人
有两种一般类型的区块链网络:匿名网络,其中每个用户都拥有整个区块链的副本并帮助处理和确认交易;和基于许可的(非匿名)网络,在这些网络中,要求拥有区块链副本并帮助处理和确认交易。
除了加密货币,你可以用区块链做什么?
区块链提供了一种验证交易的方式,无需中央管理机构。这意味着您可以使用分布式账本创建智能合约。例如,房东可能会在您的出租公寓上放置一个物联网门锁。门锁可能会检查区块链,看看您的租金是否已经支付。如果不是,门锁(即智能合同)不会让你进入公寓。在更复杂的情况下,公司可以发行自己的债券,买方可以通过分布式账本来监控付款。更复杂的用例是建立自我执行的贸易协定。区块链的使用清单实际上是无止境的。从标题搜索到交付验证,分布式账本为开展业务提供了一种全新的,安全的方式。
你的关键问题是:“对于这个项目,区块链是一个比精心设计的安全数据库更好的选择?之后,你在路上!
原文发布时间为:2018-02-22
本文作者:智能计算时代
本文来源:腾讯云 云+社区,如需转载请联系原作者。