imToken 是一款全球领先的区块链数字资产管理工具[ZB],帮助你安全管理BTC, ETH, ATOM, EOS, TRX, CKB, BCH, LTC, DOT, KSM, FIL, XTZ 资产,同时支持去中心化币币兑换功能 ...
介绍
您可能听说过“比特币”和“区块链”等词。您可能还听说过“以太坊”,并想知道它到底是什么。
这些都是有用的技术吗?如果是,应该如何使用?
本文旨在通过强调该概念背后的技术示例来阐明区块链的含义。
和 OCI 以及许多其他技术一样,区块链是一种中间件。它本身并不是目的,而是达到目的的一种手段。
区块链在很大程度上类似于数据库,因为它们可以存储和操作数据。然而,区块链与数据库的不同之处在于,数据作为不可变的交易记录存储在区块链中。区块链的完整性通过使用一种算法来维护,该算法将每个新区块与其之前的区块历史联系起来,形成区块链。
是开源的,主要用C++开发,区块链实现的最初目的是作为加密货币交易市场的基础。
已被多次分叉和调整。原始版本由
石墨烯是开源的,并且以模块化方式开发,因此适用于多种不同的用途。
除此之外,它还支持 steem.io 基金会,该基金会基于其 Steem 区块链催生了 ,这是一个类似于 的新闻聚合网站和 (一个赌博网站)。
是另一项基于区块链的服务。使用石墨烯来促进安全的市政投票。
除此之外,石墨烯还有许多其他用户。
什么是区块链
对于那些还没有听说过区块链的人来说,网上有很多信息。我建议你在 上搜索“什么是区块链”,有很多不错的视频
我在这里简单讲一下什么是区块链,以及一些基本的术语。
区块链是随时间变化的交易记录链接列表。这些记录块的链接是使用加密算法完成的,该算法将当前块中记录的交易信息与之前块的信息相结合。
下图说明了这一概念。
一些术语定义
堵塞
与区块链相关的数据容器。数据通常是描述数据更改的交易的集合。它可能是资产从一个所有者转移到另一个所有者的记录,也可能是某些个人信息更新的记录。根据所需的特征,区块可能包含更多或更少的交易数据。区块还包含一个标头,其中包含有关区块的某些元数据,还包括对前一个区块的引用。
哈希
通过算法计算出的值,用于唯一标识输入数据,而不会泄露该数据的内容。哈希值用于确保区块链上数据的准确性。区块头包含前一个区块的哈希值以太坊和比特币区块链钱包imToken官网下载,可快速验证整个链的完整性。
创世区块
这是整个链的第一个区块。它是在区块链首次部署时创建的,并作为所有其他区块的锚点。
贸易
对数据集所做更改的记录。交易通常基于区块链定义的规则。这些规则包括各方之间的合同。
智能合约
合同可能包含其自身行动的触发事件。
节点
网络中能够向网络添加区块的主机。节点如何执行此操作取决于链的需求。
分布式账本
记录跨节点共享的交易。组成区块链的众多节点形成分布式账本。
共识算法
分布式账本中的节点使用并由区块链定义的方法,用于确定区块链的正确性。最常见的共识算法是“PoW(工作量证明)”、“(Pos)权益证明”和“(DPoS)委托权益证明”。 使用委托权益证明。
工作量证明(PoW)
一种共识算法,依靠计算难度较高的挑战来解决问题,以找到新区块的哈希值。虽然计算新区块非常困难,但其他节点可以非常轻松地验证新区块,从而使其他参与节点能够快速就新区块的正确性达成一致。
权益证明(PoS)
基于持有权益参与区块链的节点的共识算法。通过证明权益,可以更快地将区块添加到链中。
委托权益证明(DPoS)
这是权益证明算法的一种变体,它将创建区块的责任委托给称为“见证人”的第三方节点。
见证节点
DPoS 区块链中负责执行创建新区块任务的节点。
使用区块链
随着越来越多的人了解区块链,用例示例的数量也在不断增加。
区块链最早的应用集中在虚拟货币的转移上。其资产转移功能可以扩展到供应链管理、证据保管或任何其他需要无可辩驳的所有权证明的情况。
另一类用例侧重于管理执行交易的规则。这些规则可以定义合约,其中可能包括使合约本身成为参与者的行为编码。这些通常被称为智能合约。
我们将在后续的 SETT 文章中更深入地研究石墨烯上的智能合约
共识是区块链强大功能的主要因素,尤其是在参与者彼此不了解且缺乏信任的情况下。通过定义一种算法来解决信任问题,该算法由节点生成区块,其他节点验证区块。
但将专有数据或其他敏感数据放在可公开访问的区块链上可能并不理想。在这些情况下,区块链可能会变成私有的。私有区块链可以使用更简单的共识机制,这反过来又使它们更容易部署在少数节点上,甚至可能只有一个节点上。
石墨烯简介
区块链并不是一个单一的应用程序。它由许多库和可执行文件组成,以提供可部署的节点。
图2给出了源代码包的图示。
除了下面显示的包之外,还依赖于标准 C++11 和 Boost 包,并且还提供了广泛的测试套件。
获取石墨烯
是 上的开源软件。代码库可在网站上找到。
有三个项目需要克隆:、-ui 和 fc。
OCI 的页面包括 和 -ui,它们是我们研究的基础。您可以通过访问和克隆 OCI 的 副本。
这两个工具包的构建和部署说明都包含在各自的.md 文件中。
有三个可执行文件:、和。编译完成后,您可以尝试运行见证节点。
请注意,此示例展示了如何使用命令行选项运行见证节点。
节点运行后,您可以使用第二个终端窗口连接到该节点,运行命令行钱包应用程序。
此时,您可以使用帮助命令来了解如何使用钱包。
使用 API 进行编程
的基本API基于远程过程调用(RPC),具体可用的功能取决于具体区块链实例定义的合约条款。
首先,通过登录 API 访问公共身份验证模块。身份验证后,客户端应用程序可以收集其他远程对象引用并调用它们。
FC 库管理传输细节,允许节点接受各种传输协议。
到目前为止,该应用程序仅接受 HTTP 格式的请求。在 C++ 应用程序中,应用程序和 FC 库协同工作,提供了简单的编程模型。
下面是应用程序中的一个示例,展示了如何连接节点服务器、登录以及进行其他调用。
这里表现的是wdata从命令行,配置文件等收集初始化信息。然后创建客户端连接,登录(表示登录成功),并创建钱包实例以供进一步调用。
敬请期待未来 SETT 文章,更深入地探索石墨烯 API。
下一步
区块链有许多应用,从金融服务到身份安全再到供应链管理等等。为了支持这些众多应用,区块链有许多不同的实现。
我认为 是一个特别重要的区块链框架,因为它具有模块化特性。通过将节点间通信支持与逻辑分离, 的逻辑组件可以在另一种传输机制(如 OCI)上替换。这款开源产品使基于物联网(如 IIoT 设备)的低功耗应用程序能够以尽可能少的开销添加与区块链相关的功能。
我预计我们还将在其他领域看到更多区块链技术的应用。随着时间的推移,我预计 OCI 将成为定制区块链解决方案的领导者,无论是基于区块链还是其他区块链实现。
参考
比特币白皮书,这是一切的开始:
以太坊白皮书,关于智能合约的讨论:
涵盖石墨烯背后理论的白皮书合集:
,有关区块链和加密货币的及时新闻资源:
加密货币价格实时追踪器:
原文出处:高可用性架构
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。