在近几年,区块链开发是一个十分热门的概念,不仅仅涉及技术领域,还涉及金融领域。这也使得区块链技术在金融领域受到了极大的关注。很多人也在利用区块链技术寻求落地项目,区块链开发项目要怎样实现落地?
区块链开发首先要确定这个区块链的类型,是公证型区块链还是价值型? 公证型区块链是指仅限一些关键数据自证、披露、防篡改等功能的区块链,通常是在价值型区块链中附带的功能,也可以单独扩展,用于公示公开等。价值型区块链是指可以进行资产所有权转移的一种记账账本。 如果确定是价值型区块链,我们又需要确定目标区块链的总体定位:到底是一个普适的价值传输区块链,还是特定场景下的区块链?如果是特定场景下的区块链,我们通常推荐超级账本作为技术原型,如果是比较通用的价值区块链,我们推荐以太坊的思路。
①业务场景的构建与初步分析
首先要明确的观点是,区块链不是万能的。很多场景其实是不需要区块链技术也能解决的。像跨境支付领域,区块链能很好的发挥是因为存在很多点对点的跨境机构有大量的支付清算需求,而又不希望中间机构参与,区块链是很好的选择。但是在一些集团内部,大型公司内部,区块链解决方案基本上远远 不如传统的企业资源解决方案。
②需求痛点分析
一般需求痛点在满足以下条件的时候,可以考虑使用区块链: a.一个不相互信任的 P2P 网络环境; b.之间是对等的,不存在一个绝对仲裁者;c.之间是博弈行为,2P 网络可能包含输入和输出,当包含输入和输出时,区块链不再封闭。
对于某个节点一般有以下几种行为(包括但不限于): a.任其他节点;b.自己的收益最大化; c.获取但不贡献资源。 针对以上情景的业务建模,需要针对具体的业务逻辑结合博弈论推导出满足自己需求的方案。
区块链开发③非区块链技术能否解决
④业务场景建模
任何区块链平台上,必须是要有代币系统的,否则记账将非常困难。在业务场景建模过程中,我们主要关注如何使节点之间达成帕累托改进,而不是因为每个节点是自私行为,让区块链服务名存实亡。
可以根据自己实际的TPS需求,进行共识的选型。当然,如果考虑自行开发,建议搭建基础比特币网络,做加法,更改共识算法,网络传送协议以及附加合约(可选)。其实智能合约在一些场景中不是必选项,对用户来说,可靠方便实时是第一需求,如果针对特定的应用场景,将“合约”固化在区块链里面,也是一种可行的思路。并不是所有服务一定得是区块链的,笔者构想了一个通用的保护伞型结构,如比特币的侧链技术,主链提供基础账本服务,侧链提供特定场景服务,侧链上的应用可以是非区块链实现的,只需接口注册即可。
⑤口设计
在交互接口设计上,推荐使用目前业界通用的 Json-RPC 接口,扩展性和友好性兼备。 一般我们将接口分为两类:开放接口和账户接口。开放接口是指区块链本身的描述信息,是不需要认证的,而账户接口是需要账户认证的。
⑥基础账本设计
包含以下两个问题: 首先是原型区块链是否已经满足需求?如果针对以太坊,基本上不需要改动基础账本,只需构建智能合约即可。如果以比特币体系为基础,则可能有较大的改动。 不满足需求时如何改动基础账本?这个其实要视账户模型而定,如果使用 UTXO 模式时,改动重点在如何嵌入模板交易体。如果使用 Balance 模式,那么则没有这个问题。 业务扩展层设计
业务扩展设计方面的内容比较复杂,篇幅问题这里也只是抛砖引玉提出两个问题: 1. 扩展层是外接区块链还是内置到区块链? 2. 如果包含数据输入,是否需要脱敏?脱敏后如何上链? 先想清楚这两个问题或许能帮你更好地规划业务扩展层的内容。
区块链技术一门涉及非常多知识领域的学科,想要很好的利用这项技术来开发一个项目并不简单,扎实的技术力量是基础,对于区块链开发项目的理论概念,以及团队的运营方案也是十分重要的。
原文链接:http://www.a6shop.cn/wiki/1089.html
网友评论