100行代码中的区块链

一切都应该尽可能简单,但不要简单

100行代码中的区块链

什么是blokchain?

从技术角度来看,这是一个分布式数据库,具有特殊功能,例如验证,存储和数据同步。

从业务角度来看,这是一个概念,它允许高效而可靠的对等事务,而无需*控制点。

与分布式数据库相比,区块链存在一些差异。 区块链具有“仅追加”操作,其中数据经过验证和签名。

玩家和框架

通常在谈论区块链时,我们也很容易混淆,我们也谈论我们正在尝试解决的问题。 在流行的基于区块链的项目(例如比特币和以太坊)中就是这种情况。 术语“区块链”通常与交易,智能承包商或加密货币等概念紧密联系在一起。

这使得了解区块链比必须完成的任务更加困难。 这就是为什么我将使用名为Chainpro的 100行代码浏览一个简单的区块链 我通常这样做是为了更好地了解事情的幕后工作原理,因此请随时检查“ 30行代码中的Flux架构 ”(称为Flypro)和“ 50行代码中的虚拟DOM ”(即Dompro)

建筑

区块链是一个区块链。 为了使事情尽可能简单而不简单,每个块都包含最必要的:索引,时间戳,数据,哈希和以前的哈希。 并且每个即将添加到链中的新块也应进行验证。

链是单例实现,您可以使用一个新的有效块来扩展它,并在有多个对等连接的情况下选择链中最长块的链替换它。

节点的重要部分是与其他节点共享并同步链。 当节点生成一个新块时,它会将其广播到网络 当节点连接到新对等节点时,它将查询最新的块。 当节点遇到索引大于当前已知块的块时,它要么添加该块的当前链,要么查询整个区块链。 没有自动对等发现。 手动添加的对等方的位置(= URL)。

用户可以使用HTTP服务器控制节点,以列出链中的所有块,创建一个具有用户给定内容的新块,列出并添加对等体。 应当注意,节点公开了两台Web服务器:一台用于用户qp控制节点(HTTP服务器),另一台用于节点之间的对等通信(Websocket P2P服务器)。 有关更多详细信息,请查看GitHub

用例和好处

从IT角度来看,blockhain是透明且不可变的分布式高可用性数据库,具有启用了密码的数据一致性验证,智能合约和原子交易。

从业务的角度来看,区块链与运营效率(成本效率,时间效率,对多方协作的额外信任)以及新的运营模式,新的业务方式(资产数字化)有关。

这就是为什么它可以用于各种行业的原因,例如:

金融

  • 清算和结算(零售和公司联合贷款)
  • P2P贷款+ PSD 2.0
  • KYC-了解您的客户
  • 资产(股票,债券等)的发行(例如簿记)和管理
  • 数字货币
  • 抵押品管理

媒体

  • 数字资产的一级和二级市场
  • 众筹和特许权使用费分配
  • 媒体发行网络
  • 游戏/**(结算,开放式**网络)

*

  • 公共和私人注册表(土地,汽车等)
  • 身份管理(防欺诈保护,全球加密的个人数据存储)
  • 法律和公证(智能合约,存在和所有权证明)
  • 投票系统

保险

  • 索赔管理
  • KYC
  • 延长保修
  • 交通保险(行程延误补偿)

卫生保健

  • EMR —电子病历
  • 索赔管理
  • 处方管理和药物依从性
  • 临床试验结果
  • 防伪药品

其他

  • 物联网—物联网。 执行合同协议(汽车和公寓租赁等)
  • 忠诚度奖励网络
  • 知识产权(专利,权利,作者,真实性证明)

区块链障碍

好吧,区块链仍然是早期的技术。 考虑到以下障碍,需要非常仔细地应用它:性能,延迟,可伸缩性,安全性,隐私,资源浪费和成熟度。

如果本文对您有帮助,请在下面拍手,以帮助他人-谢谢!

Roman Stremedlovskyi 是EPAM Systems的高级软件工程师。 对软件工程,公共演讲和社会架构充满热情。 Twitter Facebook GitHub LinkedIn 上与我联系

From: https://hackernoon.com/blockchain-in-100-lines-of-code-50186a9a230