以太坊-理解区块链

目录:https://blog.csdn.net/qq_40452317/article/details/90607087

一直都说在听说区块链,都说是什么划时代的技术,一种颠覆性的技术,继人工智能后的一种革命性的技术。各种光鲜词汇全用在区块链上,就一直没明白它到底高深在何处?

今天的互联网世界可以说是信息互联网,以前一直说地球村,互联网将地球变小了,你在地球的这边可以随时和地球的另一边进行交流,如果说信息互联网让人类进入信息时代,那么,区块链就可说是让人类进入价值时代,区块链让价值(比如电子货币、电子资产、 设备访问权限等)脱离第三方直接进行点对点的转移。

有人将其称作价值互联网。与信息的复制和粘贴不同,价值的转移涉及所有权的变更,如我把我的资产转给你,意味着这份资产需要从我的账户里面扣除,而在你的账户里面添加。 因此,在价值转移过程中,我们需要一份账本来记录资产的变更。该账本需要安全、稳定可靠,以及具有一定的覆盖面和可用性(如全球资产需要全球覆盖,在任何地方都可以查询到当前的资产状态)。 这个就是区块链。

区块链改变世界的方式(价值):

1、价值的存储。比特币创造了除美元、黄金等全球范围内认可的并产生共识的价值的货币。这意味着个人所拥有的价值被世界范围内认可这一共识的人所认可,也就是说,你可以把你的某些财产安全的存储在网络上,你可以证明这些财产是你的,同时这些财产的价值受到世界范围的认可,这就是价值的存储。

2、价值的自由流动。你在世界范围内的任意地方,都能够找到愿意购买或者兑换它的人,你也可以随时把它发往世界的任何一个地方,不受任何的时间,地点,人物和国家的限制,这就是价值的自由流动。

3、资产的智能化。我们可以把某些资产跟某种独一无二的数字货币(或通证)绑在一起,比如生产车的时候,我们制作出一个用来启动车的独一无二的电子钥匙,并在车上安装一个用来验证钥匙的装置,启动汽车的过程中必须提供这一电子钥匙才能启动,转让汽车的时候,也只需要将这把钥匙自由地发给下一位车即可,这就实现了使用权和所有权的自由流动,一切都可以在线上完成,不受时间地点人物的限制。

如果AI是未来的生产力,那么区块链则是未来的生产关系,这句话还是有一定的道理的。区块链改变世界的方式远不止这些,这个仅仅从价值来说,还有信任,区块链将信任这种“虚拟”的东西实例化。不管是从技术上还是从心理上,让人能够感觉到它的存在。

以下摘自《以太坊技术详解与实战》

区块链通常被定义为去中心的分布式记账系统,该系统中的节点无需互相信任,通过统一的共识机制共同维护一份账本。 比特币可以说是第一个区块链应用。 在金融危机爆发的 2008 年, 一位名叫中本聪( Satoshi Nakamoto)的神秘人物在 《 比特币: 一个点对点电子 现金系统》。中首次提出了“比特币”这一概念。 比特币的底层记账系统就是现在我们说的 区块链技术,而中本聪身份之谜也为比特币和区块链技术带来了更加神秘的色彩。

在前几年,大家会关注比特币而不会单独谈论区块链这个技术。 直到 2015 年,区块链这一概念才被单独提出来为更多人所了解,且向着更广泛的应用场景发展。 发生在这个时间点的主要原因之一是以太坊的出现和日益成熟。

扫描二维码关注公众号,回复: 6571655 查看本文章

区块链是一种分布式、去中心化的计算与存储架构。 在详细了解区块链每个技术组成 部分之前,先来理解为什么需要这种架构。

区块链要解决的是如何用一种可信的方式记录数据,使得用户可以信任区块链系统记 录的数据,而无须假设记账节点的可信性。 怎么实现呢?“无须信任”技术上的解决办法就 是假设互相不信任。因此,每个节点都存有一份完整的数据记录,每条新的交易都要被重 新验证。当一个节点重新加入网络并需要同步数据的时候,也是从其他节点同步交易历史, 然后重新计算验证一一这就决定了其第一个特点,即分布式存储(不能完全信任他人的存 储)。 也正是为了高效可靠的验证需要,才有了区块链现在的数据结构:区块链由成块的交易通过密码学算法连接在一起,使得整个账本公开透明、可追踪、不可篡改(数据被篡改时 很容易被验证发现) 。 

这么多记账节点为什么愿意按照一致性协议记账呢? 依靠的就是巧 妙的记账激励机制一一诚实的记账节点会得到相应的奖赏,且诚实的记录比恶意篡改记录 的收益更大-一一这就是一致性协议设计中的要点。 下面就对区块链的数据结构、分布式存 储和一致性协议进行详细介绍。

首先从数据结构来理解区块链,图 1-2 展示了比特币区块链的数据结构。 系统中的交 易( Transaction)被打包成一个个区块( Block) 。 在区块链系统运行过程中,区块链每次只能添加一个区块,并且每个区块均包含了用于验证其有效链接于上一个区块之后的数学凭 证。 正如它的名称“区块链”( Blockchain),一个个区块按照密码学算法链接在一起。 这样的组织设计可以很容易地验证数据是否篡改、追踪历史以及保证安全。

其次,区块链的架构是分布式、去中心化的。 系统中各个节点组成一个P2P网络,每 个节点均分别执行、验证和记录相同的交易,每个节点都可以在本地存储完整的区块链数据。 没有一个中心机构能够干预交易的执行顺序和结果。 因此,该架构具有很强的鲁棒性。 这里要说明一点, 我们看到的公有链的平台是去中心的,因为其设计假设以没有任何信任作为前提,即都不可信。 在实际的应用中,如果有一些可信的元素,是完全可以利用的。 因此我们也看到很多系统设计是多中心或者弱中心的模式。 “去中心”在这里不是目的,而 是一种达到可信的手段。

最后,为了保证各节点状态的一致性,还需要共识机制,即一致性协议(如 PoW、 PoS、 PoA 等)。

以PoW为例,为了使得各个节点记录的结果是一致的,在每一时刻系统 要选择一个记账节点来计算下一个区块。 其他节点对该记账节点的区块结果进行验证,通过后则接受这个区块。 为了激励大家高效正确地记账,系统对记账节点有相应的奖赏,这样一来大家会贡献计算和存储资源来争夺记账权。

由于可以互相验证,也保证了记账的可靠性。 接下来,我们要解决的问题就是:如何公平地选取这个记账节点,以及如何设计激 励机制。 PoW中采用的是“猜散列值”这个公平的、依靠消耗算力的方式,也被称作“挖 矿” 。 谁先算出给定要求的散列值,谁就以大概率争夺到这个记账权。 为什么说是概率呢, 因为在分布式网络中,由于延迟,消息传递到其他各个节点的时间是不一样的。 比如,我看到的是Bob先算出来的,而你可能看到的是 Alice 先“挖”出来。

在不同节点上对下一 区块的认可在短时间内可能是不同的。 最终,以系统中最长的链条作为共识结果,即大 家认可的账本内容。 因此在使用中,当我们在本地看到某个交易被打包在区块链后,还需 要等待若干后继块产生,等待若干块又称为等待确认( confirmation)。 这样做的目的是防 止由于延迟带来的账本不一致。

可见一致性协议的设计既要安全,以保证全网中各个节点存储的数据能够达成共识;还需要有效的激励机制,给予一定 的经济奖励( 即虚拟货币机制)来维持并且验证网络运行的节点,从而保证架构的稳定健康 运行。

下图展示了比特币一类的数字货币的交易示例。 Bob要给Alice进行转账,他需要创建一条交易,声明转账的付款人、收款人以及转账金额。 之后Bob在这条交易上添加自己的数字签名,并将交易发布到区块链网络上。 这条交易被记账节点验证后打包广播,并通 过共识(一致性)协议达成全网一致。 Alice 在确认看到交易被记录,且该交易后面还有若干区块陆续被记录后(通常 6 ~ 12 个块)就可以认为自己已经收到了Bob的转账。 

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/90690830