unitimes.media
全球视角,独到见解
“关于当前分片技术开发目标的思路。”
考虑到分片1.1版本规范可能会有更多更改,并且开发人员也担心他们正在构建的程序可能会再次面临更改,所以我想提供一些关于当前开发目标的思路,这些思路也将成为实现最终协议的途径:
1. 任何人都可以随时调用 addHeader(period_id, shard_id, chunks_root)函数。在特定时期内,第一个包含指定分片的头文件会被加载进函数,而其它头文件将被拒绝。这个函数只是发出一个日志。
2. 在每个分片和周期构成的特定情境下,我们都会采样挑选出N分包者(现称为“公证者”)。他们负责下载与已经提交的任意头文件相对应的分包体(collation body)。他们可以调用一个函数submitVote(period_id, shard_id, chunks_root)。这个函数只是发出一个日志。
3. 客户端读取日志。如果客户端看到在一定时期,某分片内大部分交易已经被包含进分包,并且得到超过 2N / 3位公证者投票支持,那么它将接受这些数据作为权威链的一部分。
请注意,这个协议非常简单,并且没有“游戏中的公证者皮肤”(由于削减条件的存在,除非你下载当时的完整数据,否则给分包投票会有一定的风险),但在一定假设下,它会是一个完整的协议,并且提供了构建和测试基础架构的机会,其中包括:
具备拥有100个独立的分片p2p网络,以及在这些网络之间构建和发送分包的能力
能够读取由SMC发出的日志
能够发送调用SMC函数的交易
客户端能够维护数据库,该数据库包含客户端下载完整分包体所得的分包根
验证者能够(i) 开始工作,(ii) 检测到它被随机采样选出,并转换到正确的p2p网络执行任务,(iii) 注销
原创作者:Vitalik Buterin
翻译:喏呗尔
参考文章:《关于分片开销与最终化时间的总体框架及提议》
国际金融科技新媒体和社区平台
UNITIMES
网址 : unitimes.media
新浪微博:@Unitimes
领取专属 10元无门槛券
私享最新 技术干货