LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 公益链PWT技术架构

公益链PWT技术架构

2020-02-12 斯坦财经 来源:区块链网络

1. 去中心化应用

去中心化应用可以通过授权系统的权益人来投资应用的开发,从而有潜力达到自给自

足。去中心化应用还有公开透明、安全可靠、去信任等优点。具有以下特点的应用:

? 必须完全开源,自主运行,不能被中心化的组织、机构或个人操控,可以被改进以响应公益事业需求,但必须经过用户们的共识。

? 数据必须被安全、公开、冗余的存储在一个分布式网络中,以避免被篡改和单点故障。

? 应用贡献者可以获得公益资产的奖励。

公益链系统本身也是一个完全开放的、去中心化的应用。系统一旦发布,最初的核心团队将不再掌控系统的走向,只有系统的权益人和公益资产的拥有者决定系统将来的发展。

2. 技术细节

技术架构:

共识机制:公益链系统采用的共识机制是基于DPOS的,也是使用了委托人选举的制度,但是在算法的后半部分采用了一个优化后的 PBFT算法变种,这个算法可以在 t < n / 3 时,以O(n^2)消息复杂度,O(1)的时间复杂度使忠诚的节点达成一致,不会分叉,其中 t 表示拜占庭节点(即可能发生任意行为的节点,比如网络延迟、停机、恶意攻击等等)的个数,n 表示所有节点的个数。

委托人选举:

公益链系统的委托人选举制度与 DPOS 是类似的,核心系统是由 N 个委托人节点组成,委托人是被社区选举的可信账户,得票最高的 N 个委托人负责生产区块。得票排名未进入前 N 名的账户被称为候选人,当他们将来获得足够多的选票并进入前 N 名后,将成为正式的委托人。每个公益链用户都有权利投票给最多 N 位委托人,选票的权重是由用户持有的公益资产数量综合决定。

每一个选举周期产生 N 个区块,每一次投票和委托人排名的变化将体现在下一个周期。每个区块产生的间隔时间是 10 秒,新创建的区块会被广播到网络中并添加到区块链中。每当新的区块被添加到区块链中,该区块之前的所有交易的确认次数加一,得到 6 个确认后,可以认为交易是安全的,如果数额较小的交易,可以允许更小的确认次数,相反,数额较大的交易可以通过增加确认数来保证安全性。

拜占庭容错:公益链系统与 DPOS 的不同主要体现在算法的后半部分。 DPOS 采用的方法是,首先对当前 round 的委托人列表进行随机的排序(保证每一轮的委托人顺序不同,也无法预测下一轮委托人顺序),然后通过 round-robin 的方式依次让每个委托人创建区块。这个算法的主要缺点是,如果某个委托人节点叛变了,他可能会广播多个不一致的区块,这些区块间可能包括双重支付交易,导致整个网络被分叉了。当然,如果只有一个委托人叛变的话,这个分叉很快就可以通过下一次最长链同步的方法来消除,但是随着叛变节点的增加,消除分叉的时间将越来越长,少量节点的联合叛变将严重影响系统的安全性,即使一个交易达到 6次确认,也很可能是不安全的。

为了解决这个问题,我们引入了 PBFT(Pratical Byzantine Fault Tolerance)算法。PBFT算法也是使用 round-robin 的方式选择委托人,但是选出委托人后并不立即创建区块,而是首先发起一个提议(propose),这个提议的目的是确定下一次区块的 hash。当超过 2/3 的节点都赞成该提议时,才接受由提议人创建的的下一个区块,下一个区块的hash 必须与当前round 达成共识的区块 hash 一致。从本质上来说,PBFT 算法的加入解决了委托人权利滥用的问题,使得委托人的记账能力更为可控。

公益链的每个账户由一个口令、一对公私钥、一个地址组成。用户还可以额外设置一个二级密码。注意这里与比特币有所不同的是,每个账户仅对应一个地址。

口令(passphrase)是符合 BIP39 标准的用于产生确定性钱包的助记符。密钥对包括公钥和私钥,是以口令的sha256 哈希做种子,再通过 ed25519 爱德华兹曲线签名算法生成的。账户地址是取公钥的 sha256 哈希的前 8 位,逆序后转换成 bignumber。每个账户下登记其拥有的各类公益资产。

征信体系:不管是对捐赠者还是第三方慈善公益机构、接受募捐者,信任都是从 0 到 1 开始运行建立,而这种信任往往有需要一个中心化平台或者中心化代理商来运行背书,信任建立成本是比较大。

利用区块链不可篡改的特性,对上链的捐赠者和第三方慈善公益机构、接受募捐者形成不可篡改的慈善公益信用记录,真实、透明记录每一笔消费,建立全球全链不可篡改的慈善公益征信数据池,同时利用智能合约建立信用机制,使用代码而非某个中心化机构动态评估捐赠者、第三方慈善公益机构、接受募捐者的慈善公益信用情况,形成动态的信用值。

公益链将通过全链用户的基础信息、公益信息、仲裁信息等相关信息去建立信用身份。

基础信息主要包含:

A. 用户姓名

B. 用户单位或者组织

C. 用户身份证号码

D. 用户联系信息

公益信息主要包含:

A. 公益行为发生的时间

B. 公益行为发生的次数

C. 公益行为发生的金额

D. 公益行为发生的数量

E. 公益行为发生的服务产品内容

F. 公益行为发生的完成时间

G. 智能合约结束时间

H. 公益行为发生的交割清算时间

I. 是否仲裁

仲裁信息主要包含:

A. 仲裁数量

B. 仲裁金额

C. 仲裁时间

D. 正向仲裁次数

E. 反向仲裁次数

随着系统数据的积累,我们将通过机器学习的?式不断修正和完善信?值的建?体系。

客户端: 公益链系统将提供两种客户端程序。完整版客户端是针对超级用户、委托人和开发者的最佳解决方案,它可用于windows,Mac OS 以及 linux,但它只允许 linux 运行受托人节点。 移动版客户端允许用户通过移动终端来操作自己的公益链帐户,它将提供 ios 与安卓两种版本,并于苹果应用商店和安卓应用商店提供下载。它的后端将基于我们的桌面版的解决方案,与桌面版的区别将在于移动版钱包界面将使用响应式技术,自适应移动终端屏幕,并根据移动设计调整了一些交互方式,而且它将支持在内部运行所有你喜爱的 dapp。

—-

编译者/作者:斯坦财经

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...