EOS 账户与权限

一个账户是一个人可读的,存在区块链上的id。每笔transaction都需要在某个账户所配置的authority下评估permissions。每个被命名的permission都有一个阈值,只有满足后, 签名的transaction才能在authority下被认为有效。Transactions是通过一个加载了已解锁的钱包客户端签名的。钱包是一个保护并使用您的keys的软件。这些keys不一定要为区块链上某账户authority所permissioned。

1. 钱包

钱包是保存keys的客户端,而这些keys不一定和这些账户permissions相关。理想情况下钱包有一个上锁状态(加密)和一个解锁(解密)状态且被一个强熵的密码保护。EOSIO/eos仓库又一个叫做eosc的命令行工具,钱包就是其中一部分的功能。

2. 账户

账户是一个保存在区块链上,具可读性的名字。通过permissions配置,账户可被一个体所拥有,也可为一群个体共同拥有。转账或者向区块链推送transaction都需要账户。

3. Authorities 和 Permissions

Authorities 决定特定message是否被正确授权。

每个账户都有两个原生具名的permissions

  • owner authority代表一个账户的所有权。只有少数transactions需要此authority,但任何需要改动owner authority的message都需要。总的来说,我们建议把owner冷储存起来,不要和任何人共享。owner可以用来恢复另一个可能已经被损害的(compromised)permission.
  • active authority可用来转账资金、给区块生产者投票及进行另一些高级的账户改动。

除了原生 permissions外, 账户可有自定义的具名permissions,以扩展对账户的管理功能。自定义permissions是非常灵活的,可以用于各种各样的场景。这很大程度上取决于开发者社区 Much of this is up to the developer community in how they are employed, and what conventions if any, are adopted.

任何authority的Permission都可以被分配给一个或多个公钥或一个有效的账户名

4. Putting it all Together

下面是上面所提到的概念的集合及一些如何在实际中使用他们的简单例子。

4.1 默认账户配置 (Single-Sig)

这是某账户创建后如何配置的例子。该账户的owneractive permissions都各自有一个key, 两个keys的权重都是1且阈值也是1。默认配置需要一个签名来授权对于原生permissions的message。

@bob account authorities

Permission Account Weight Threshold
owner 1
EOS5EzTZZQQxdrDaJAPD9pDzGJZ5bj34HaAb8yuvjFHGWzqV25Dch 1
active 1
EOS61chK8GbH4ukWcbom8HgK95AeUfP8MBPn7XRq8FeMBYYTgwmcX 1

@bob账户这个例子中,依表格所示,@bob's的owner key的权重是1,在该authority下推送一个transaction所需要的阈值也是1。

如果需要在owner的authority下推送一个transaction,只需要@bob用它的owner key签名一个transaction,此transaction即可被认为有效。这个key将被储存在一个wallet中,并用eosc来管理。

4.2 Multi-sig 账户及自定义Permissions

下面的例子是一个虚构的名叫@multisig的账户。在此场景下,两个用户被授予owneractive permissions,而有三个用户加权不同地被授予自定义的publish permission。

@multisig account authorities

Permission Account Weight Threshold
owner 2
@bob 1
@stacy 1
active 1
@bob 1
@stacy 1
publish 2
@bob 2
@stacy 2
EOS7Hnv4iBWo1pcEpP8JyFYCJLRUzYcXSqtQBcEnysYDFTEbUpi6y 1

在此场景下,要修改owner permission的加权阈值为2,也就是说因为每方本身加权都是1, 所有用户需要都签名该transaction它才能被完全授权。

而要发送一个需要active authority的transaction,加权阈值是1。这意味着只需要一个具有active authority的账户签名即可授权该message。

还有一个叫publish自定名称permission。比如这个publish permission是用来通过一个理论上的博客App向@multisig的博客发布文章的。这个publish permission的加权阈值是2,而@bob@* 和 @stacy的加权都是2public key的加权是1。这样的话@bob@stacy都不需要额外签名就可以发布,但public key 则需要一个额外签名才能使一个在public permission下的message通过授权。

上面的permissions表展现了@bob@stacy作为账户的拥有者,具有类似于主席或者编辑的特权。尽管这个简单的例子也有局限性(尤其是可扩展性上),并不是一个好的设计,但它却充分展现了EOS权限系统的灵活性。

注意上面的表格中,permissions可以使用account name也可以使用一个key。乍看之下这可能不重要,但是这确实增加了灵活性。

备注

  • @bob 和 @stacy可同时被显式地设置成用户的拥有者。
  • @bob 和 @stacy 都有对于 publish权限的特权。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269