纠缠图解二

本系列文章,翻译自IOTA的官方博客

在前一篇的文章中,我们介绍了缠结这种数据结构。我们也学习了tips,以及一个好的tip选择策略的重要性。今天我们将学习交易速率网络延迟,以及他们在塑造缠结的形状的过程中,所扮演的作用。

在上次的仿真中,你可能已经注意到,交易不是按时间均匀分布的,在某些时间内交易量会比较大一点。这种随机性使得仿真模型更加真实,这个随机模型,是利用泊松过程来建立的。利用泊松过程的分析方法,非常有用,比如,可以用它来评估在一段内会有多少个顾客走进一个商店,或者,有多少个人会给呼叫中心打电话。从下面的例子中,我们也可以看到同样的情况。交易4,5和6几乎同时发生,在6之后有个很长时间的空白。

Screen Shot 2018-07-16 at 14.16.05.png

为了我们的目标,关于泊松过程我们只需要知道一件事即可,那就是:平均来看,进来的交易速率是恒定的,我们用一个字母\lambda来表示。例如,如果我们设置\lambda =2,并且总是的交易数量是100,那么总的模拟时间将会被划分为50个时间单元。你可以再试试这个仿真。

一个有意思的事情是,如果我们设置\lambda为一个非常小的数(比如0.1),我们就会得到一个"链表"。也就是说,所有的交易仅仅验证前面的一个交易,而不是两个。之所以会发生这种情况,是因为交易来的太慢了,以至于在一个给定的时间里只有一个tip需要被验证。另外一个极端的例子是,如果\lambda设置的过大,所有的交易来的太快,就会只看到一个tip需要被验证,那个tip就是创世交易

[图片上传中...(Screen Shot 2018-07-16 at 14.32.47.png-7cedbb-1531722798826-0)]

Screen Shot 2018-07-16 at 14.32.47.png

什么叫做一个交易看不到前面一个交易?在我们的模型中,当一个交易刚到来的时候,在一段时间内,我们把它设置成不可见的。我们把这个时间长度用h表示,它代表一个交易从准备好到在网络中广播的时间。在我们的仿真中,我们总是设置h=1。它指我们只能验证至少一个时间单位以前的交易。之所以设置这个时间段,不仅仅是为了模拟真实的情况,同时它也是缠结的一个基本属性,如果没有它,我们将会得到一个很无聊的链表。

最后,我们说说一个更加高级的tip选择算法无权重随机漫步。在这个算法中,我们把一个漫步者放置在创世交易位置,然后让它漫步tips。每一步,它都漫步到可以直接验证当前交易的一个交易的位置,能验证当前交易的交易可能有很多,我们按照相同的概率随机选择一个,这就是无权重的意思。为此,我们也做了一个仿真。你可以打开链接看一下。

你可以看到,漫步者行进的路线被标记成红色,每个结合处不同的可选路径标记成了蓝色。最近的交易,对于当前的随机漫步者是不可见的,所以显示为透明。

今天我们介绍了很多,所以请你花点时间回看下这篇文章,玩一玩这个仿真。

译者注:如果你有问题,请在币乎留言给我,我们一起学习。

你可能感兴趣的:(纠缠图解二)