Aleo的PoSW共识
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aleo的PoSW共识相关的知识,希望对你有一定的参考价值。
1. 引言
Aleo系列,前序博客有:
- 欢迎关注Aleo
- 使用Zexe构建Aleo隐私应用——How Zero Knowledge is Rebalancing the Scales of the Internet
- Aleo系列博客——透明的代价
- Aleo系列博客——零知识密码学技术的未来
- Aleo 提供的zero knowledge primitives
Aleo采用Proof of Succinct Work共识。
Proof of Succinct Work为SNARK-based Proof of Work算法,旨在激励对SNARKs的硬件加速。
具体为:
Miner将pending交易打包,并计算a valid nonce来解决a Proof of Succinct Work puzzle。
puzzle的difficulty rate会动态调整,以反映Aleo上的miners在每秒贡献的proof数量。
- block time:是指网络生成有效区块所用的时间。基于网络的hashrate会变化。但是由blcok difficulty控制。
- block difficulty:根据最近的block times来调整,以维护整个网络的平均block time的稳定性。
解决该puzzle的miner address将的激励为:base block reward + 该区块所包含的交易的手续费。
2. Aleo中所用的曲线
Aleo中使用pairing-friendly 曲线来生成和验证proof:
* | Edwards BLS12 | BLS12-377 | Edwards BW6 | BW6-761 |
---|---|---|---|---|
Curve Type | Twisted Edwards | Barreto-Lynn-Scott | Twisted Edwards | Brezing–Weng |
Scalar Field Size | 251 bits | 253 bits | 374 bits | 377 bits |
Base Field Size | 253 bits | 377 bits | 377 bits | 761 bits |
G1 Compressed Size* | 32 bytes | 48 bytes | 48 bytes | 96 bytes |
G2 Compressed Size* | N/A | 96 bytes | N/A | 96 bytes |
相关参数为:
-
Edwards BLS12:
- scalar field: 0 x 04 a a d 957 a 68 b 2955982 d 1347970 d e c 005293 a 3 a f c 43 c 8 a f e b 95 a e e 9 a c 33 f d 9 f f 0x04aad957a68b2955982d1347970dec005293a3afc43c8afeb95aee9ac33fd9ff 0x04aad957a68b2955982d1347970dec005293a3afc43c8afeb95aee9ac33fd9ff
- scalar field root of unity: 0 x 00 b 4 b 1 d 4 c 7 e 5 e 163 b 1 a f 246173 f d b 411 b d b 82 a c 32901 d c b 9 d 289433 f f 2 b 7 d 5 c 9 0x00b4b1d4c7e5e163b1af246173fdb411bdb82ac32901dcb9d289433ff2b7d5c9 0x00b4b1d4c7e5e163b1af246173fdb411bdb82ac32901dcb9d289433ff2b7d5c9
- base field: 0 x 12 a b 655 e 9 a 2 c a 55660 b 44 d 1 e 5 c 37 b 00159 a a 76 f e d 00000010 a 11800000000001 0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001 0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001
- base field root of unity: 0 x 0 d 1 b a 211 c 5 c c 349 c d 7 a a c c 7 c 597248269 a 14 c d a 3 e c 99772 b 3 c 3 d 3 c a 739381 f b 2 0x0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2 0x0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2
-
BLS12-377:
- scalar field: 0 x 12 a b 655 e 9 a 2 c a 55660 b 44 d 1 e 5 c 37 b 00159 a a 76 f e d 00000010 a 11800000000001 0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001 0x12ab655e9a2ca55660b44d1e5c37b00159aa76fed00000010a11800000000001
- scalar field root of unity: 0 x 0 d 1 b a 211 c 5 c c 349 c d 7 a a c c 7 c 597248269 a 14 c d a 3 e c 99772 b 3 c 3 d 3 c a 739381 f b 2 0x0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2 0x0d1ba211c5cc349cd7aacc7c597248269a14cda3ec99772b3c3d3ca739381fb2
- base field: 0 x 01 a e 3 a 4617 c 510 e a c 63 b 05 c 06 c a 1493 b 1 a 22 d 9 f 300 f 5138 f 1 e f 3622 f b a 094800170 b 5 d 44300000008508 c 00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
- base field root of unity: 0 x 00 f 3 c 1414 e f 58 c 54 f 95564 f 4 c b c 1 b 61 f e e 086 c 1 f e 367 c 33776 d a 78169 a 7 f 3950 f 1 b d 15 c 3898 d d 1 a f 1 c 104955744 e 6 e 0 f 0x00f3c1414ef58c54f95564f4cbc1b61fee086c1fe367c33776da78169a7f3950f1bd15c3898dd1af1c104955744e6e0f 0x00f3c1414ef58c54f95564f4cbc1b61fee086c1fe367c33776da78169a7f3950f1bd15c3898dd1af1c104955744e6e0f
-
Edwards BW6:
- scalar field: 0 x 0035 c 748 c 2 f 8 a 21 d 58 c 760 b 80 d 94292763445 b 3 e 601 e a 271 e 1 d 75 f e 7 d 6 e e b 84234066 d 10 f 5 d 893814103486497 d 95295 0x0035c748c2f8a21d58c760b80d94292763445b3e601ea271e1d75fe7d6eeb84234066d10f5d893814103486497d95295 0x0035c748c2f8a21d58c760b80d94292763445b3e601ea271e1d75fe7d6eeb84234066d10f5d893814103486497d95295
- scalar field root of unity: 0 x 0006 b a 8 c 867 e a c c f 5 f 7 e 46 b c d b 07 d 0 f 4 b 2595092 e e d f f 5 c 5603102866827125373710874 d 7416 d 75 a 832273177 b 0 e 245 0x0006ba8c867eaccf5f7e46bcdb07d0f4b2595092eedff5c5603102866827125373710874d7416d75a832273177b0e245 0x0006ba8c867eaccf5f7e46bcdb07d0f4b2595092eedff5c5603102866827125373710874d7416d75a832273177b0e245
- base field: 0 x 01 a e 3 a 4617 c 510 e a c 63 b 05 c 06 c a 1493 b 1 a 22 d 9 f 300 f 5138 f 1 e f 3622 f b a 094800170 b 5 d 44300000008508 c 00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
- base field root of unity: 0 x 00 f 3 c 1414 e f 58 c 54 f 95564 f 4 c b c 1 b 61 f e e 086 c 1 f e 367 c 33776 d a 78169 a 7 f 3950 f 1 b d 15 c 3898 d d 1 a f 1 c 104955744 e 6 e 0 f 0x00f3c1414ef58c54f95564f4cbc1b61fee086c1fe367c33776da78169a7f3950f1bd15c3898dd1af1c104955744e6e0f 0x00f3c1414ef58c54f95564f4cbc1b61fee086c1fe367c33776da78169a7f3950f1bd15c3898dd1af1c104955744e6e0f
-
BW6-761:
- scalar field: 0 x 01 a e 3 a 4617 c 510 e a c 63 b 05 c 06 c a 1493 b 1 a 22 d 9 f 300 f 5138 f 1 e f 3622 f b a 094800170 b 5 d 44300000008508 c 00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001 0x01ae3a4617c510eac63b05c06ca1493b1a22d9f300f5138f1ef3622fba094800170b5d44300000008508c00000000001
- scalar field root of unity:
0
x
00
f
3
c
1414
e
f
58
c
54
f
以上是关于Aleo的PoSW共识的主要内容,如果未能解决你的问题,请参考以下文章