func (p *Peer) broadcast() error {
    envelopes := p.host.Envelopes()
    bundle := make([]*common.Envelope, 0, len(envelopes))
    for _, envelope := range envelopes {
        if !p.Marked(envelope) && envelope.PoW() >= p.powRequirement && p.topicOrBloomMatch(envelope) {