如何在JAVA中构建区块链?

区块链炒作继续困扰着技术世界。与此同时,许多银行和软件公司也意识到了这一点,并试图将相应的产品投放市场。然而,任何对区块链技术有更深理解和了解的人都会意识到它的缺点。尽管被认为是一种破坏性技术,但它可能更适合于特殊应用,而不是普通大众。

与其他IT技术并列,区块链是一个相当难以接近的技术。这部分是由于复杂的底层算法,但也因为区块链中包含了许多不同的概念和技术。尽管如此,这个话题还是因为与普遍存在的比特币现象有直接关系而成为人们关注的焦点。然而,在与同事的多次讨论中,一个印象得到了证实:区块链的基本思想已被理解(分布式、公共等),但有关优缺点、替代方案和具体项目机会的具体问题无法回答。

区块链陡峭的学习曲线是这一点的主要原因。通常平均需要几天的时间,对主题进行严格的检查,直到有人大致了解区块链。这种知识的缺乏往往为高端营销活动提供了温床。因此,大型IT公司已经开始提供区块链即服务。银行尤其对该主题感兴趣,合作项目产生的私有区块链至少正在讨论中。在这里,我们可以观察到类似于大数据主题的并行模式。这尤其反映在我们收到的询问中:“我们想用区块链做点什么”。

首先,你应该知道区块链是什么。区块链是一个公共分类账。这意味着它是一个公共数据库,任何人都可以加入和离开,而且系统可以被任何人读写。此外,只有当许多参与者准备以计算机能力的形式投资资源并生成区块(采矿)时,系统才能运行。这就是为什么必须建立这样做的激励机制。对于比特币而言,这是一种利润分配。如果网络上的参与者太少,那么网络很容易被操纵。如果一个潜在的恶棍控制了超过一半的网络节点,他就能够在区块链中放置不正确的信息,并忽略其网络节点中的一致性检查。另一方面,你与朋友和合作伙伴一起运行的区块链没有抓住重点。

有足够的公共信息来源,但许多信息来源并不让我们满意,要么非常肤浅,要么太详细。因此,为了加深开发人员的理解,我们决定用Java实现一个简单的区块链。这有助于跳出概念性讨论的层面,并使得仅用几行代码就可以演示区块链的基本功能。

JBlockchain:第一步

我们基于Java的区块链只是故意保留的,因此,从用户的角度来看,它只具有发送消息和在区块链中查看消息的功能,非常类似于公共聊天室。您基本上必须区分用户(例如,他们在比特币网络上兑换货币)和提供基础设施、存储数据以及为参与者之间提供通信的网络参与者。必须做不同的事情,这取决于你是什么:用户还是参与者。如果您想尝试实现示例,那么您所需要做的就是克隆GitHub( https://github.com/neozo-software/jblockchain )项目并使用Maven构建它。由于我们还需要与其他用户通信的基础设施,因此我们必须启动一个节点。此命令显示其工作原理:

java -jar node/target/node-0.0.1-SNAPSHOT.jar

您需要一个私钥和一个公钥,以及用户名来和其他参与者通信。这些都是必需的。密钥和用

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值