BTC.com手机客户端

比特股2.0: 动态用户权限系统

白眉大侠 发布在 竞争币 4 2575

2222

 ——适用于企业环境的管理方案

比特股的权限设计是以人为对象而非以密码学为对象因此更能够易于使用每一个帐号都可以透过任何其他帐号以及私钥的加权组合进行控管透过这样的设计就可以创造出阶层式的结构以反映出真实情况下的权限管理并让多用户的资金控管十分容易多用户管理 (multi-user control)是决定安全性的一大要素当设置得宜时便可以消除黑客入侵造成的财务损失.

背景 (Background)

对于一个平台来说进行区块链上的机敏作业时需要的多重数位签名功能是决定平台安全的重要因素.  原因在于单一秘钥或许会外泄但是多组密钥 – 分布在许多地方并且加上额外的保护措施就会非常安全.

相较之下其他的区块链系统都苦于以下的缺陷:

  1. M-fo-N模式无法充分反映出真实情况下的权限控管所需要的阶层式结构
  2. M个密钥之间的权重都相等, 无法充分反映出一个帐户之间的非对称式权限
  3. 调配以及签署必须以完全频外验证 (out-of-band authentication, OOBA)的方式进行。
  4. 密钥必须取得其他所有人的同意才能够变更。
  5. 签名无法在等待其他人签署时撤销。

使用案例 (Use Case)

多重签名的重点就在于权限管理而且权限应该以人或者组织来定义而不是密钥.  举例来说如果有一间公司里面只有3个人: Alice, Bob, 以及Carol, 其中AliceBob各持有40%公司股份, 而Carol持有剩下的20%.  因此这间公司需要以上三位当中的至少两位才能够批准所有的开支从密钥的角度你可以将这间公司视为三组分别在Alice, Bob, Carol手上的密钥但是如果Alice想要透过多重签名保护自己的真实身份呢? Alice的每一项决定都可以选择透过服务供应商进行双因素身份验证 (2FA)来进行授权.  这样一来就同时保护了Alice以及公司而且公司并不需要因此而改变自己的决策机制

方案 (Solution)

我们引入了一个新的方式来实现权限基于全球唯一ID的帐户

在比特股系统当中一个帐户可以本身没有密钥而是完全由其他帐号进行认证.  而其他帐号也可以是由另一群帐号所认证这个过程就会形成一个帐号的阶层结构来进行权限的批准.  每个帐号可以独立于上层帐号之外变更自己的权限这样一来就使得权限具备动态的能力

每个帐号定义权限的方式是透过一组密钥以及/或是其他帐号的ID, 让每个帐号持有者给予权重分数如果综合权重分数超过了设定的门槛权限就获得通过

第二个方案就是要在共识机制当中加入部份签署的交易并允许帐户发布交易来添加或移除他们的授权.  这会简化签署的流程允许在尚未达到门槛之前有改变心意的空间并在获得最后的批准时让交易立即生效

这个执行交易的过程需要多重签名的能力

1.某人提出了一个交易并用自己的帐号进行批准

2.接著其他帐号持有者透过广播交易来表达对于提案的”赞成”或”反对”

3.当提案获得了所有的批准这笔交易就会通过

持有者密钥以及现用密钥 (Owner and Active Keys)

每个帐号都会被指定两个所有权 (authority): 持有者所有权 (owner authority)以及现用所有权 (active authority)。

·每个所有权都是由一组密钥以及/或是帐号所组成每一个都带有权重分数

·每个所有权都有一个权重分数的门槛当一项操作需要这个所有权时都必须要满足这个门槛才能够进行

·持有者所有权 (owner authority)是为了冷贮存 (cold-storage)所设计其主要功能是在于更新现用所有权 (active authority)或是变更持有者所有权 (owner authority)。

·现用所有权 (active authority)是作为一种快捷方式 (hot key), 可用于除了变更持有者权限 (owner authority)以外的任何操作

·这样的设计的实用之处在于可以让双因素身份验证 (2FA)供应商作为现用所有权(active authority)的共同签署人之一但是并不牵涉到持有者权限 (owner authority)。

透过这种方式用户可以很有自信地说他们的帐户永远都在他们手中并且在冷贮存时没有黑客可以窃取.  这表示公司帐号可以透过这个方式获取董事会的批准而每个董事会成员也可以获取双因素身份验证

同时任何人都可以频繁更换自己的密钥而其用户的权限则不受影响

搜集签名 (Gathering Signatures)

过去以来,多重签名难以实施的原因在于,搜集各个签名的程序是完全手动的,或者需要经过特殊的框架。一旦签署了交易,也没有办法撤销签名,因此多重签名的多方中越后面签名的优势会越大。在更深层的结构底下,获得各方签名就更加复杂了。

为了简化这个程序,区块链应该透过追踪部份完成签名的交易,来管理搜集签名的程序。在这个过程中,每个帐号可以添加(或移除)他们的签名,而不需要一个外部系统来循环处理这笔交易这一点对于具有各种深度的阶层结构更为关键

为了让权限系统维持在区块链上每一笔交易将只能够横跨两个阶层.  如果超过两个阶层帐号必须要再提出一笔交易来批准上一个.  当第一个交易获得批准第二个交易也会获得批准

透过这个方法每个人在每一次批准操作时都需要支付一次手续费而每一个操作最多需要一次网络的签名验证.  这个程序允许任意深度的阶层结构并且不需要让权限系统由于执行在区块链以外而暴露出弱点

可延展性 (Scalability)

理论上帐号可以形成任意深度的阶层而验证这个阶层的时间也可以是任意的.。但是实务上单一转帐无法穿越超过两个阶层,又同时完全在区块链上实现.  任何超过两个以上的阶层可能或牵涉许多人并且无法一次完成所有签署. 。取而代之的方法则是使用建构于区块链的交易机制来追踪部份完成的交易

  1. ·透过这个方法一个公司的董事会成员可以用他的计算机批准一笔交易
  2. ·接著另一个人可以再用相同的方式进行批准
  3. ·这个程序就会逐渐搜集所有的批准以及相伴的手续费并且不需要外部的处理

怪圈 (Cycles)

理论上有可能会发生两个帐号需要互相批准交易的状况.

假想以下状况帐号X需要帐号A以及Y来进行批准帐号Y需要帐号B以及X来批准因此整个情况像是这样:

A -> X <-> Y

B -> Y <-> X

A提出X支付1 BTS并等待Y批准. B提出Y批准这笔交易并等待X的批准

这种情况下没有任何单一的批准可以解决这个状况原因如下

1.每一个帐号都得等待另一个帐号的批准因此任何操作都无法通过

2.这种怪圈不一定是直接的也有可能是埋藏在任意的长度以及顺序因而不明显

3.如果用户用现用密钥 (active authority)提出一笔交易那么持有者密钥 (owner authority)就可以用来打破这个怪圈然而如果怪圈是透过持有者密钥以及现用建构的那么牵涉其中的帐号就被锁住了

4.实务上客户端软件可以侦测这种怪圈并避免形成这种情况

結論 (Conclusion)

具备动态阶层式以及门槛的多重签名权限提供用户以及组织一种更为自然的方式来表达所有权以及控管政策.  这个方式让系统更易于使用并且比现存方案更加安全

致谢 (Credits)

Ripple曾经提出但是并没有实现类似的多重签名特性

转自:比特股之家(http://www.bts.hk/dynamic-account-permissions.html

译者:麥可貓

BTS帐号:michaelcat

责编:薄荷凉幼

文章为作者独立观点,不代表巴比特立场。

 

 

 

评论:4

您需要登录后才可以回复 登录|注册
    巴比特资讯
    巴比特资讯 526 天前

    【比特股2.0: 动态用户权限系统 】比特股的权限设计是以人为对象, 而非以密码学为对象, 因此更能够易于使用 。每一个帐号都可以透过任何其他帐号以及私钥的加权组合进行控管。透过这样的设计, 就可以创造出阶层式的结构, 以反映真实情况下的权限管理, 并让多用户的资金控管容易。 http://t.cn/R2sB3wF

    +1
    +1
    我要点评

    http://t.cn/R2sm0ST 微信公众号(hellobts)已转发并配上原文中的配图

    +1
    +1
    我要点评
    PTS中国
    PTS中国 526 天前

    进化日趋贴近商用

    +1
    +1
    我要点评
    比特股之家
    比特股之家 527 天前

    【比特股2.0: 动态用户权限系统-适用于企业环境的管理方案】比特股的权限设计是以人为对象, 而非以密码学为对象, 因此更能够易于使用. 每一个帐号都可以透过任何其他帐号以及私钥的加权组合进行控管. 透过这样的设计, 就可以创造出阶层式的结构, 以反映出真实情况下的权限管理…http://t.cn/R2si8XF

    +1
    +1
    我要点评