Actor-like cP Systems Alec Henderson and Radu Nicolescu - - PowerPoint PPT Presentation

actor like cp systems
SMART_READER_LITE
LIVE PREVIEW

Actor-like cP Systems Alec Henderson and Radu Nicolescu - - PowerPoint PPT Presentation

Greet Motiv cP cP Byz Syb Rules Bonus Actor-like cP Systems Alec Henderson and Radu Nicolescu Application/Test : Byzantine Agreement Department of Computer Science University of Auckland, Auckland, New Zealand CMC Dresden,


slide-1
SLIDE 1

Greet Motiv cP cP Byz Syb Rules Bonus

Actor-like cP Systems

Alec Henderson and Radu Nicolescu – Application/Test : Byzantine Agreement –

Department of Computer Science University of Auckland, Auckland, New Zealand

CMC Dresden, Germany 4-7 September 2018

1 / 34

slide-2
SLIDE 2

Greet Motiv cP cP Byz Syb Rules Bonus

1 Greetings 2 Motivation 3 cP Local Evolution Samples 4 cP Communication 5 The Byzantine Agreement 6 Sybil-like Attacks 7 Ruleset 8 Unbounded non-determinism – fairness, beyond Turing?

2 / 34

slide-3
SLIDE 3

Greet Motiv cP cP Byz Syb Rules Bonus

Kia ora

  • Kia ora! G’day!
  • Good day!
  • Dobryj dyen’!
  • Guten Tag!
  • Bonjour!
  • Buon giorno!
  • Buenos d´

ıas!

  • Bun˘

a ziua!

3 / 34

slide-4
SLIDE 4

Greet Motiv cP cP Byz Syb Rules Bonus

Basic features shared by P and cP systems

  • Cellular organisation
  • Top cells organised in digraph networks – tissue P systems
  • Top cells contain nested sub-cells – cell-like P systems
  • Data given as multisets
  • Evolution by multiset rewriting rules – potential parallelism
  • Extended with states, weak priority, promoters, inhibitors, ...
  • ... and communication primitives between top-cells

4 / 34

slide-5
SLIDE 5

Greet Motiv cP cP Byz Syb Rules Bonus

Basic features shared by P and cP systems

  • Cellular organisation
  • Top cells organised in digraph networks – tissue P systems
  • Top cells contain nested sub-cells – cell-like P systems
  • Data given as multisets
  • Evolution by multiset rewriting rules – potential parallelism
  • Extended with states, weak priority, promoters, inhibitors, ...
  • ... and communication primitives between top-cells

4 / 34

slide-6
SLIDE 6

Greet Motiv cP cP Byz Syb Rules Bonus

Basic features shared by P and cP systems

  • Cellular organisation
  • Top cells organised in digraph networks – tissue P systems
  • Top cells contain nested sub-cells – cell-like P systems
  • Data given as multisets
  • Evolution by multiset rewriting rules – potential parallelism
  • Extended with states, weak priority, promoters, inhibitors, ...
  • ... and communication primitives between top-cells

4 / 34

slide-7
SLIDE 7

Greet Motiv cP cP Byz Syb Rules Bonus

Bird’s eye view – digraph of top level cells

  • Each top cell has
  • passive sub-cellular components (data only – no own rules!)
  • organelles, vesicles, ...
  • high-level rules (that can directly work on subcells’ contents)

rules

5 / 34

slide-8
SLIDE 8

Greet Motiv cP cP Byz Syb Rules Bonus

Inspiration

  • Logic programming
  • subcells (aka complex symbols) ≈ Prolog-like first-order terms,

recursively built from multisets of atoms and variables

  • Functional and generic programming
  • Actor model

6 / 34

slide-9
SLIDE 9

Greet Motiv cP cP Byz Syb Rules Bonus

Inspiration

  • Logic programming
  • subcells (aka complex symbols) ≈ Prolog-like first-order terms,

recursively built from multisets of atoms and variables

  • Functional and generic programming
  • Actor model

6 / 34

slide-10
SLIDE 10

Greet Motiv cP cP Byz Syb Rules Bonus

Inspiration

  • Logic programming
  • subcells (aka complex symbols) ≈ Prolog-like first-order terms,

recursively built from multisets of atoms and variables

  • Functional and generic programming
  • Actor model

6 / 34

slide-11
SLIDE 11

Greet Motiv cP cP Byz Syb Rules Bonus

Previous work – P systems with complex objects, cP

  • image processing and computer vision
  • stereo-matching, skeletonisation, segmentation
  • graph theory
  • high-level P systems programming
  • numerical P systems
  • NP-complete problems
  • distributed algorithms
  • Byzantine agreement – continued here

7 / 34

slide-12
SLIDE 12

Greet Motiv cP cP Byz Syb Rules Bonus

cP Local Evolution Samples

  • Local evolution: one top cell and its subcells
  • No communication between top cells
  • Model for parallelism with shared memory

8 / 34

slide-13
SLIDE 13

Greet Motiv cP cP Byz Syb Rules Bonus

Natural numbers

Ad-hoc convention: 1 – unary digit

  • x = 0 ≡ x() ≡ x(λ)
  • x = 1 ≡ x(1)
  • x = 2 ≡ x(11)
  • x = n ≡ x(1n)
  • x ← y + z ≡
  • y(Y ) z(Z) → x(YZ) (destructive add)
  • → x(YZ) | y(Y ) z(Z) (preserving add)
  • x ≤ y ≡ | x(X) y(XY )
  • x < y ≡ | x(X) y(XY 1)

9 / 34

slide-14
SLIDE 14

Greet Motiv cP cP Byz Syb Rules Bonus

Natural numbers

Ad-hoc convention: 1 – unary digit

  • x = 0 ≡ x() ≡ x(λ)
  • x = 1 ≡ x(1)
  • x = 2 ≡ x(11)
  • x = n ≡ x(1n)
  • x ← y + z ≡
  • y(Y ) z(Z) → x(YZ) (destructive add)
  • → x(YZ) | y(Y ) z(Z) (preserving add)
  • x ≤ y ≡ | x(X) y(XY )
  • x < y ≡ | x(X) y(XY 1)

9 / 34

slide-15
SLIDE 15

Greet Motiv cP cP Byz Syb Rules Bonus

Natural numbers

Ad-hoc convention: 1 – unary digit

  • x = 0 ≡ x() ≡ x(λ)
  • x = 1 ≡ x(1)
  • x = 2 ≡ x(11)
  • x = n ≡ x(1n)
  • x ← y + z ≡
  • y(Y ) z(Z) → x(YZ) (destructive add)
  • → x(YZ) | y(Y ) z(Z) (preserving add)
  • x ≤ y ≡ | x(X) y(XY )
  • x < y ≡ | x(X) y(XY 1)

9 / 34

slide-16
SLIDE 16

Greet Motiv cP cP Byz Syb Rules Bonus

Natural numbers

Ad-hoc convention: 1 – unary digit

  • x = 0 ≡ x() ≡ x(λ)
  • x = 1 ≡ x(1)
  • x = 2 ≡ x(11)
  • x = n ≡ x(1n)
  • x ← y + z ≡
  • y(Y ) z(Z) → x(YZ) (destructive add)
  • → x(YZ) | y(Y ) z(Z) (preserving add)
  • x ≤ y ≡ | x(X) y(XY )
  • x < y ≡ | x(X) y(XY 1)

9 / 34

slide-17
SLIDE 17

Greet Motiv cP cP Byz Syb Rules Bonus

Efficient summary statistics

  • Consider a multiset of ‘a’ numbers, such as:

a(15) a(13) a(17) . . .

  • Min finding in two steps (regardless of the data cardinality)

1

S1 →+ S′

1 b(X) | a(X)

2

S′

1 b(XY 1) →+ S2 | a(X)

  • Rule (2): delete all b’s having values strictly higher than

anyone a

  • Result (non-destructive):

a(15) a(13) a(17) . . . b(13)

10 / 34

slide-18
SLIDE 18

Greet Motiv cP cP Byz Syb Rules Bonus

Efficient summary statistics

  • Consider a multiset of ‘a’ numbers, such as:

a(15) a(13) a(17) . . .

  • Min finding in two steps (regardless of the data cardinality)

1

S1 →+ S′

1 b(X) | a(X)

2

S′

1 b(XY 1) →+ S2 | a(X)

  • Rule (2): delete all b’s having values strictly higher than

anyone a

  • Result (non-destructive):

a(15) a(13) a(17) . . . b(13)

10 / 34

slide-19
SLIDE 19

Greet Motiv cP cP Byz Syb Rules Bonus

Efficient summary statistics

  • Consider a multiset of ‘a’ numbers, such as:

a(15) a(13) a(17) . . .

  • Min finding in two steps (regardless of the data cardinality)

1

S1 →+ S′

1 b(X) | a(X)

2

S′

1 b(XY 1) →+ S2 | a(X)

  • Rule (2): delete all b’s having values strictly higher than

anyone a

  • Result (non-destructive):

a(15) a(13) a(17) . . . b(13)

10 / 34

slide-20
SLIDE 20

Greet Motiv cP cP Byz Syb Rules Bonus

Efficient summary statistics

  • Consider a multiset of ‘a’ numbers, such as:

a(15) a(13) a(17) . . .

  • Min finding in two steps (regardless of the data cardinality)

1

S1 →+ S′

1 b(X) | a(X)

2

S′

1 b(XY 1) →+ S2 | a(X)

  • Rule (2): delete all b’s having values strictly higher than

anyone a

  • Result (non-destructive):

a(15) a(13) a(17) . . . b(13)

10 / 34

slide-21
SLIDE 21

Greet Motiv cP cP Byz Syb Rules Bonus

List x – with . as cons

u v w . . . .

  • x(.(u .(v .(w .())))) ≡
  • x[u, v, w] (sugared notation) ≡
  • x[u | [v, w]] (sugared notation)

11 / 34

slide-22
SLIDE 22

Greet Motiv cP cP Byz Syb Rules Bonus

List – basic ops

→1 y[ ] creating empty list y a y[Y ] →1 y[a | Y ] pushing atom a on list y a(X) y[Y ] →1 y[X | Y ] pushing contents of a on list y y[X | Y ] →1 b(X) y[Y ] popping the top of list y to contents of b

12 / 34

slide-23
SLIDE 23

Greet Motiv cP cP Byz Syb Rules Bonus

Associative arrays (mappings, dictionaries)

µ – mapping, κ – key, υ – value

13 µ κ c υ 17 µ κ g υ

  • 13 → c ≡
  • µ(κ(13) υ(c))
  • {13 → c, 17 → g} ≡
  • µ(κ(13) υ(c))

µ(κ(17) υ(g))

  • Similarly: finite functions, relations,

tables, trees, ...

13 / 34

slide-24
SLIDE 24

Greet Motiv cP cP Byz Syb Rules Bonus

Associative arrays (mappings, dictionaries)

µ – mapping, κ – key, υ – value

13 µ κ c υ 17 µ κ g υ

  • 13 → c ≡
  • µ(κ(13) υ(c))
  • {13 → c, 17 → g} ≡
  • µ(κ(13) υ(c))

µ(κ(17) υ(g))

  • Similarly: finite functions, relations,

tables, trees, ...

13 / 34

slide-25
SLIDE 25

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP messaging mechanism

  • Sender takes all decisions

a a → b!1 two a’s are deleted and one b is sent over arc 1

  • More emphatically: b!1 ≡ !1{b}
  • Problem: receiving cell has no control: time, filter,

consistency, ...

  • In particular, the system is prone to Sybil attacks – i.e. can be

subverted by forging identities

  • Name inspired by the book Sybil, a case study of a person

diagnosed with dissociative (multiple) identity disorder

  • More generally, the network part was subsumed by local

evolutions – modelling flaw

14 / 34

slide-26
SLIDE 26

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP messaging mechanism

  • Sender takes all decisions

a a → b!1 two a’s are deleted and one b is sent over arc 1

  • More emphatically: b!1 ≡ !1{b}
  • Problem: receiving cell has no control: time, filter,

consistency, ...

  • In particular, the system is prone to Sybil attacks – i.e. can be

subverted by forging identities

  • Name inspired by the book Sybil, a case study of a person

diagnosed with dissociative (multiple) identity disorder

  • More generally, the network part was subsumed by local

evolutions – modelling flaw

14 / 34

slide-27
SLIDE 27

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP messaging mechanism

  • Sender takes all decisions

a a → b!1 two a’s are deleted and one b is sent over arc 1

  • More emphatically: b!1 ≡ !1{b}
  • Problem: receiving cell has no control: time, filter,

consistency, ...

  • In particular, the system is prone to Sybil attacks – i.e. can be

subverted by forging identities

  • Name inspired by the book Sybil, a case study of a person

diagnosed with dissociative (multiple) identity disorder

  • More generally, the network part was subsumed by local

evolutions – modelling flaw

14 / 34

slide-28
SLIDE 28

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP messaging mechanism

  • Sender takes all decisions

a a → b!1 two a’s are deleted and one b is sent over arc 1

  • More emphatically: b!1 ≡ !1{b}
  • Problem: receiving cell has no control: time, filter,

consistency, ...

  • In particular, the system is prone to Sybil attacks – i.e. can be

subverted by forging identities

  • Name inspired by the book Sybil, a case study of a person

diagnosed with dissociative (multiple) identity disorder

  • More generally, the network part was subsumed by local

evolutions – modelling flaw

14 / 34

slide-29
SLIDE 29

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP messaging mechanism

  • Sender takes all decisions

a a → b!1 two a’s are deleted and one b is sent over arc 1

  • More emphatically: b!1 ≡ !1{b}
  • Problem: receiving cell has no control: time, filter,

consistency, ...

  • In particular, the system is prone to Sybil attacks – i.e. can be

subverted by forging identities

  • Name inspired by the book Sybil, a case study of a person

diagnosed with dissociative (multiple) identity disorder

  • More generally, the network part was subsumed by local

evolutions – modelling flaw

14 / 34

slide-30
SLIDE 30

Greet Motiv cP cP Byz Syb Rules Bonus

Fallacies of distributed computing – L Peter Deutsch

  • Latency is zero
  • Transport cost is zero
  • Bandwidth is infinite
  • The network is reliable
  • The network is secure
  • Topology doesn’t change
  • The network is homogeneous
  • There is one administrator
  • ...

15 / 34

slide-31
SLIDE 31

Greet Motiv cP cP Byz Syb Rules Bonus

Actor model

  • The Actor model is a model of message-based concurrent

computation which treats “actors” as universal primitives

  • In response to a message that it receives, an actor can
  • make local decisions
  • create more actors
  • send more messages
  • (change state) determine how to respond to the next message

received

  • There is no assumed sequence to the above actions
  • In the (typical) asynchronous case, it could take an

unbounded time to receive a sent message

16 / 34

slide-32
SLIDE 32

Greet Motiv cP cP Byz Syb Rules Bonus

Actor model

  • The Actor model is a model of message-based concurrent

computation which treats “actors” as universal primitives

  • In response to a message that it receives, an actor can
  • make local decisions
  • create more actors
  • send more messages
  • (change state) determine how to respond to the next message

received

  • There is no assumed sequence to the above actions
  • In the (typical) asynchronous case, it could take an

unbounded time to receive a sent message

16 / 34

slide-33
SLIDE 33

Greet Motiv cP cP Byz Syb Rules Bonus

Actor model

  • The Actor model is a model of message-based concurrent

computation which treats “actors” as universal primitives

  • In response to a message that it receives, an actor can
  • make local decisions
  • create more actors
  • send more messages
  • (change state) determine how to respond to the next message

received

  • There is no assumed sequence to the above actions
  • In the (typical) asynchronous case, it could take an

unbounded time to receive a sent message

16 / 34

slide-34
SLIDE 34

Greet Motiv cP cP Byz Syb Rules Bonus

Typical Actor implementations use message “queues”

  • The actor encapsulates an “inbox” message “queue” that

supports multiple-writers and a single reader (the actor itself)

  • Writers can send one-way messages to the actor by using the

Post method and its variations

  • Actors can receive messages using the Receive method and its

variations (with optional timeouts)

  • Actors can also scan through all their available messages using

the Scan method and its variations

17 / 34

slide-35
SLIDE 35

Greet Motiv cP cP Byz Syb Rules Bonus

Typical Actor implementations use message “queues”

  • The actor encapsulates an “inbox” message “queue” that

supports multiple-writers and a single reader (the actor itself)

  • Writers can send one-way messages to the actor by using the

Post method and its variations

  • Actors can receive messages using the Receive method and its

variations (with optional timeouts)

  • Actors can also scan through all their available messages using

the Scan method and its variations

17 / 34

slide-36
SLIDE 36

Greet Motiv cP cP Byz Syb Rules Bonus

Typical Actor extensions

  • Multiple inboxes
  • Supervision hierarchy
  • Supervisors delegate tasks to subordinates...
  • ... then receive and treat subordinates’ failures
  • Monitoring relationships
  • Each actor may watch any other actor for termination

18 / 34

slide-37
SLIDE 37

Greet Motiv cP cP Byz Syb Rules Bonus

Typical Actor extensions

  • Multiple inboxes
  • Supervision hierarchy
  • Supervisors delegate tasks to subordinates...
  • ... then receive and treat subordinates’ failures
  • Monitoring relationships
  • Each actor may watch any other actor for termination

18 / 34

slide-38
SLIDE 38

Greet Motiv cP cP Byz Syb Rules Bonus

Typical Actor extensions

  • Multiple inboxes
  • Supervision hierarchy
  • Supervisors delegate tasks to subordinates...
  • ... then receive and treat subordinates’ failures
  • Monitoring relationships
  • Each actor may watch any other actor for termination

18 / 34

slide-39
SLIDE 39

Greet Motiv cP cP Byz Syb Rules Bonus

Actor systems – hard practical problems

  • Exactly once message delivery
  • At most once
  • At least once
  • FIFO messaging
  • Distributed algorithms should not rely on this assumption

19 / 34

slide-40
SLIDE 40

Greet Motiv cP cP Byz Syb Rules Bonus

Actor systems – hard practical problems

  • Exactly once message delivery
  • At most once
  • At least once
  • FIFO messaging
  • Distributed algorithms should not rely on this assumption

19 / 34

slide-41
SLIDE 41

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – Actor inspired

1 2 3 1 2 3 3

  • Receiver has an active role
  • Receiving cell has one system provided message multiset for

each incoming arc

b?1 b → c can fire when one ‘b’ is in the message multiset 1

  • More emphatically: b?1 ≡ ?1{b}

20 / 34

slide-42
SLIDE 42

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – Actor inspired

1 2 3 1 2 3 3

  • Receiver has an active role
  • Receiving cell has one system provided message multiset for

each incoming arc

b?1 b → c can fire when one ‘b’ is in the message multiset 1

  • More emphatically: b?1 ≡ ?1{b}

20 / 34

slide-43
SLIDE 43

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – Actor inspired

1 2 3 1 2 3 3

  • Receiving cell has full control: time, filter, consistency, ...
  • In particular, if the communication arcs are secure and

reliable, then the system is resilient to Sybil attacks – i.e. cannot be subverted by forging identities

21 / 34

slide-44
SLIDE 44

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – Actor inspired

1 2 3 1 2 3 3

  • Receiving cell has full control: time, filter, consistency, ...
  • In particular, if the communication arcs are secure and

reliable, then the system is resilient to Sybil attacks – i.e. cannot be subverted by forging identities

21 / 34

slide-45
SLIDE 45

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – CML inspired

  • Message multisets can be implemented in a straightforward

way, by automatically encapsulating incoming messages and tagging these with the id of the in-arc, e.g. ?1(b)

  • The same syntax may have a CML (Concurrent Meta

Language) inspired semantics!

b?1 b → c can fire when a b arrives over in-arc 1

  • The sender could be blocked until the receiver “picks up” the

message

  • Work in progress – note some similarities with

symport/antiport systems

22 / 34

slide-46
SLIDE 46

Greet Motiv cP cP Byz Syb Rules Bonus

New cP messaging mechanism – CML inspired

  • Message multisets can be implemented in a straightforward

way, by automatically encapsulating incoming messages and tagging these with the id of the in-arc, e.g. ?1(b)

  • The same syntax may have a CML (Concurrent Meta

Language) inspired semantics!

b?1 b → c can fire when a b arrives over in-arc 1

  • The sender could be blocked until the receiver “picks up” the

message

  • Work in progress – note some similarities with

symport/antiport systems

22 / 34

slide-47
SLIDE 47

Greet Motiv cP cP Byz Syb Rules Bonus

Consensus problems

  • Consensus in the presence of faults
  • Node faults
  • Stopping failures
  • Byzantine failures
  • Communication faults
  • Models
  • Synchronous
  • Asynchronous

23 / 34

slide-48
SLIDE 48

Greet Motiv cP cP Byz Syb Rules Bonus

Consensus problems

  • Consensus in the presence of faults
  • Node faults
  • Stopping failures
  • Byzantine failures
  • Communication faults
  • Models
  • Synchronous
  • Asynchronous

23 / 34

slide-49
SLIDE 49

Greet Motiv cP cP Byz Syb Rules Bonus

Consensus problems

  • Consensus in the presence of faults
  • Node faults
  • Stopping failures
  • Byzantine failures
  • Communication faults
  • Models
  • Synchronous
  • Asynchronous

23 / 34

slide-50
SLIDE 50

Greet Motiv cP cP Byz Syb Rules Bonus

Consensus problems

  • Consensus in the presence of faults
  • Node faults
  • Stopping failures
  • Byzantine failures
  • Communication faults
  • Models
  • Synchronous
  • Asynchronous

23 / 34

slide-51
SLIDE 51

Greet Motiv cP cP Byz Syb Rules Bonus

Consensus problems

  • Consensus in the presence of faults
  • Node faults
  • Stopping failures
  • Byzantine failures
  • Communication faults
  • Models
  • Synchronous
  • Asynchronous

23 / 34

slide-52
SLIDE 52

Greet Motiv cP cP Byz Syb Rules Bonus

The Byzantine agreement

  • N = 4 Byzantine armies, physically separated
  • Generals start with their own initial decisions, 0 or 1
  • They can communicate via N(N − 1)/2 = 6 reliable channels
  • They must reach a common decision
  • Problem: among them there may be F Byzantine traitors
  • Deterministic agreement between loyal generals possible iff

N ≥ 3F + 1 and communications are reliable and synchronous

Pease, Shostak, Lamport 1980; Lamport, Shostak, Pease 1982; Fischer, Lynch, Paterson 1985 24 / 34

slide-53
SLIDE 53

Greet Motiv cP cP Byz Syb Rules Bonus

The Byzantine agreement

  • N = 4 Byzantine armies, physically separated
  • Generals start with their own initial decisions, 0 or 1
  • They can communicate via N(N − 1)/2 = 6 reliable channels
  • They must reach a common decision
  • Problem: among them there may be F Byzantine traitors
  • Deterministic agreement between loyal generals possible iff

N ≥ 3F + 1 and communications are reliable and synchronous

Pease, Shostak, Lamport 1980; Lamport, Shostak, Pease 1982; Fischer, Lynch, Paterson 1985 24 / 34

slide-54
SLIDE 54

Greet Motiv cP cP Byz Syb Rules Bonus

The Byzantine agreement

  • N = 4 Byzantine armies, physically separated
  • Generals start with their own initial decisions, 0 or 1
  • They can communicate via N(N − 1)/2 = 6 reliable channels
  • They must reach a common decision
  • Problem: among them there may be F Byzantine traitors
  • Deterministic agreement between loyal generals possible iff

N ≥ 3F + 1 and communications are reliable and synchronous

Pease, Shostak, Lamport 1980; Lamport, Shostak, Pease 1982; Fischer, Lynch, Paterson 1985 24 / 34

slide-55
SLIDE 55

Greet Motiv cP cP Byz Syb Rules Bonus

The Byzantine agreement

1 2 4 3

ι1 ι2 ι3 ι4 Faulty Round 1 messages Round 2 messages ... Final decision Initial choice 1 1 Yes No No No (1, x) (2, 0) (3, 1) (4, 1) (2.1, 0) (3.1, y) (1.2, 0) (3.2, 1) (1.3, 0) (4.3, 1) (1.4, 1) (3.4, 1) ? Process (2.3, 0) (2.4, 0) (4.1, 1) (4.2, 1)

Faulty process ι1 sends out conflicting messages:

  • x = 0, y = 1 to process ι2
  • x = 0, y = 0 to process ι3
  • x = 1, y = 1 to process ι4

Still, non-faulty processes do reach a common decision, 0 (v0 = 0)

25 / 34

slide-56
SLIDE 56

Greet Motiv cP cP Byz Syb Rules Bonus

The Byzantine agreement

1 2 4 3

ι1 ι2 ι3 ι4 Faulty Round 1 messages Round 2 messages ... Final decision Initial choice 1 1 Yes No No No (1, x) (2, 0) (3, 1) (4, 1) (2.1, 0) (3.1, y) (1.2, 0) (3.2, 1) (1.3, 0) (4.3, 1) (1.4, 1) (3.4, 1) ? Process (2.3, 0) (2.4, 0) (4.1, 1) (4.2, 1)

Faulty process ι1 sends out conflicting messages:

  • x = 0, y = 1 to process ι2
  • x = 0, y = 0 to process ι3
  • x = 1, y = 1 to process ι4

Still, non-faulty processes do reach a common decision, 0 (v0 = 0)

25 / 34

slide-57
SLIDE 57

Greet Motiv cP cP Byz Syb Rules Bonus

EIG trees for non-faulty processes

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (b) T 3

4,2

(c) T 4

4,2

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (a) T 2

4,2

ι1 ι2 ι3 ι4 Faulty Round 1 messages Round 2 messages ... Final decision Initial choice 1 1 Yes No No No (1, x) (2, 0) (3, 1) (4, 1) (2.1, 0) (3.1, y) (1.2, 0) (3.2, 1) (1.3, 0) (4.3, 1) (1.4, 1) (3.4, 1) ? Process (2.3, 0) (2.4, 0) (4.1, 1) (4.2, 1)

  • α by top-down messaging
  • L1: (initial) ι3

(3,1)

→ ι2, ι3, ι4

  • L2: (relay) ι3

(4.3,1)

→ ι2, ι3, ι4

  • β by bottom-up local voting
  • common final decision, 0

26 / 34

slide-58
SLIDE 58

Greet Motiv cP cP Byz Syb Rules Bonus

EIG trees for non-faulty processes

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (b) T 3

4,2

(c) T 4

4,2

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (a) T 2

4,2

ι1 ι2 ι3 ι4 Faulty Round 1 messages Round 2 messages ... Final decision Initial choice 1 1 Yes No No No (1, x) (2, 0) (3, 1) (4, 1) (2.1, 0) (3.1, y) (1.2, 0) (3.2, 1) (1.3, 0) (4.3, 1) (1.4, 1) (3.4, 1) ? Process (2.3, 0) (2.4, 0) (4.1, 1) (4.2, 1)

  • α by top-down messaging
  • L1: (initial) ι3

(3,1)

→ ι2, ι3, ι4

  • L2: (relay) ι3

(4.3,1)

→ ι2, ι3, ι4

  • β by bottom-up local voting
  • common final decision, 0

26 / 34

slide-59
SLIDE 59

Greet Motiv cP cP Byz Syb Rules Bonus

EIG trees for non-faulty processes

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (b) T 3

4,2

(c) T 4

4,2

1 2 3 4 2 4 1 4 1 4 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 2 2 λ 1 1 1 1 (a) T 2

4,2

ι1 ι2 ι3 ι4 Faulty Round 1 messages Round 2 messages ... Final decision Initial choice 1 1 Yes No No No (1, x) (2, 0) (3, 1) (4, 1) (2.1, 0) (3.1, y) (1.2, 0) (3.2, 1) (1.3, 0) (4.3, 1) (1.4, 1) (3.4, 1) ? Process (2.3, 0) (2.4, 0) (4.1, 1) (4.2, 1)

  • α by top-down messaging
  • L1: (initial) ι3

(3,1)

→ ι2, ι3, ι4

  • L2: (relay) ι3

(4.3,1)

→ ι2, ι3, ι4

  • β by bottom-up local voting
  • common final decision, 0

26 / 34

slide-60
SLIDE 60

Greet Motiv cP cP Byz Syb Rules Bonus

Previous cP solution – without Actor features (2016)

µ2 µ1 µ3 µ4

ν14 ν12 ν11 ν13 ν33 ν22 ν44 ν32 ν34 ν31 ν23 ν21 ν24 ν41 ν42 ν43

µ µ ν

θ θ θ′ θ′′ θ′

µ µ ν ν

Firewall cells to protect:

  • Against very badly

formed messages

  • Against wrongly

timed messages

  • Against Sybil-like

attacks Note: firewalls slow down the evolution, 5 or 4 times

27 / 34

slide-61
SLIDE 61

Greet Motiv cP cP Byz Syb Rules Bonus

An earlier more traditional P solution (2010)

  • Just two nodes – even more firewall cells

ψ2

Γ21 Π2

Ψ2

Γ22 Γ23 Γ24

γ′

24

γ24 γ′

23

γ23 γ′

22

γ22 γ′

21

γ21 γ′′

24

γ′′

23

γ′′

22

γ′′

21

ψ3

Γ34 Π3

Ψ3

Γ33 Γ32 Γ31

γ′

31

γ31 γ′

32

γ32 γ′

33

γ33 γ′

34

γ34 γ′′

31

γ′′

32

γ′′

33

γ′′

34

γ′

12

γ′

13

γ′

22

γ′

42

γ′

23

γ′

33

γ′

43

γ′

32

28 / 34

slide-62
SLIDE 62

Greet Motiv cP cP Byz Syb Rules Bonus

Summary of complexity measures (where L = ⌊(N + 2)/3⌋)

Measure tP (2010) cP (2016) This model Cells per process 3N + 1 (2N + 1) N + 1 1 Atomic symbols O(N!) 18 14 States O(L) 14 5 Rules O(N!) 23 12 Ruleset size – Raw 2338 2218 1481 Ruleset size – Compressed 624 591 526 Raw/Compressed ratio 3.75 3.75 2.81 Steps per top-down level 5 4 2 Steps per bottom-up level 1 3 (1) 1 Note: cP systems have fixed-size alphabets and rulesets (no uniform families...)

29 / 34

slide-63
SLIDE 63

Greet Motiv cP cP Byz Syb Rules Bonus

Ruleset for sending messages (5 rules)

S0 →1 S1 ℓ(0) θ(ℓ(0) π[ ] ρ() α(V )) || ¯ α(V ) S1 →1 S3 || ¯ ℓ(L) || ℓ(L) S1 →+ S2 !∀{θ′(ℓ(L1) π[X|P] α(V ))} || ¯ µ(X) || ℓ(L) || θ(ℓ(L) π[P] α(V ) ρ(Z)) ¬ (Z = XQ′) S1 →+ S2 θ(ℓ(L1) π[X|P] α(V )) || ℓ(L) || ¯ π[X] || ¯ v0(V ) || θ(ℓ(L) π[P] α( ) ρ(Z)) ¬ (Z = XQ′) S1 ℓ(L) →1 S2 ℓ(L1)

30 / 34

slide-64
SLIDE 64

Greet Motiv cP cP Byz Syb Rules Bonus

Ruleset for receiving messages (2 rules)

S2 ?Y {θ′(ℓ(L1) π[Y |P] α(V ))} →+ S1 θ(ℓ(L1) π[Y |P] ρ(YQ) α(V )) θ(ℓ(L1) π[Y |P] α( )) || θ(ℓ(L) π[P] ρ(Q) α( )) || (Q = YQ′) || ¯ δ(V ) S2 θ(ℓ(L) π[X|P] α( )) →+ S1 θ(ℓ(L) π[X|P] α(V )) || ℓ(L1) || ¯ v0(V )

31 / 34

slide-65
SLIDE 65

Greet Motiv cP cP Byz Syb Rules Bonus

Ruleset for evaluating the EIG tree (5 rules)

S3 ℓ() θ(ℓ() π[ ] α(V )) →1 S4 ω(V ) S3 θ(ℓ(L1) π[ |P] α(1)) →+ S3 θ(ℓ(L1) π[ |P] α(0)) || ℓ(L1) S3 θ(ℓ(L1) π[ |P] α(X)) →+ S3 θ(ℓ(L) π[P] α(X)) θ(ℓ(L) π[P] α( )) || ℓ(L1) S3 θ(ℓ(L1) ) →+ S3 || ℓ(L1) S3 ℓ(L1) →1 S3 ℓ(L)

32 / 34

slide-66
SLIDE 66

Greet Motiv cP cP Byz Syb Rules Bonus

Thanks

  • Thank you for your attention!
  • Questions and feedback welcome!

33 / 34

slide-67
SLIDE 67

Greet Motiv cP cP Byz Syb Rules Bonus

Unbounded non-determinism – fairness beyond Turing?

  • A terminating asynchronous non-deterministic system that

can generate any number!

  • The counter actor cell

S0 →1 S0 !0{1} ι() ¬ ι(X) (0) S0 ?0{1} ι(X) →1 S0 !0{1} ι(X1) (1) S0 ?1{1} ι(X) →1 S1 !1{X} (2)

  • The main actor cell

S0 →1 S1 !1{1} (0) S1 ?1{X} →1 S2 ... (1)

34 / 34

slide-68
SLIDE 68

Greet Motiv cP cP Byz Syb Rules Bonus

Unbounded non-determinism – fairness beyond Turing?

  • A terminating asynchronous non-deterministic system that

can generate any number!

  • The counter actor cell

S0 →1 S0 !0{1} ι() ¬ ι(X) (0) S0 ?0{1} ι(X) →1 S0 !0{1} ι(X1) (1) S0 ?1{1} ι(X) →1 S1 !1{X} (2)

  • The main actor cell

S0 →1 S1 !1{1} (0) S1 ?1{X} →1 S2 ... (1)

34 / 34

slide-69
SLIDE 69

Greet Motiv cP cP Byz Syb Rules Bonus

Unbounded non-determinism – fairness beyond Turing?

  • A terminating asynchronous non-deterministic system that

can generate any number!

  • The counter actor cell

S0 →1 S0 !0{1} ι() ¬ ι(X) (0) S0 ?0{1} ι(X) →1 S0 !0{1} ι(X1) (1) S0 ?1{1} ι(X) →1 S1 !1{X} (2)

  • The main actor cell

S0 →1 S1 !1{1} (0) S1 ?1{X} →1 S2 ... (1)

34 / 34