1 of 84

A financially accountable

watching network

Patrick McCorry

PisaResearch

paddypisa

2 of 84

WHY IS OFF-CHAIN EXCITING?

10k+ tx

authorised off-chain

1 tx to join off-chain protocol

1 tx to leave off-chain protocol

Bypass all blockchain latency and fees

While still retaining non-custodial security guarantees.

Only scaling solution that will exceed 10k tps

99% of transactions are LOCAL and

never reach the global network.

3 of 84

But what does an “off-chain network” look like?

4 of 84

P2P Routing Network

5 of 84

Non-Custodial Hubs

P2P Routing Network

6 of 84

Non-Custodial Hubs

P2P Routing Network

Watching Network

7 of 84

Non-Custodial Hubs

P2P Routing Network

Watching Network

Settlement System and

Root of Trust of all Layer 2

8 of 84

Settlement System and

Root of Trust of all Layer 2

Non-Custodial Hubs

P2P Routing Network

Watching Network

Open-source, global, permissionless and non-custodial financial system.

It is coming…

9 of 84

Settlement System and

Root of Trust of all Layer 2

Plasma Group

10 of 84

Plenty of talks about channels + plasma.

We’ll “briefly” talk about how replace-by-revocation works before deep-diving into the watching network

Watching Network

11 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1A

State 1B

Alice and Bob always have a transaction (“state”) that only they can broadcast to trigger a dispute.

12 of 84

What does a lightning channel look like? (replace-by-revocation)

Authorising a payment is a two-step process

State 1A

State 1B

13 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1A

State 1B

State 2B

σA

  1. Both parties authorise a new state �(a transaction only the counterparty can broadcast)

State 2A

σB

14 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1A

State 1B

Either State 1 or State 2 can be broadcast…

Second step revokes old balance and confirms the new one.

State 2A

State 2B

15 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1A

State 1B

State 1A

2. Both parties will “revoke” the old state �(i.e. share pre-image of hash)

State 1B

State 2A

State 2B

16 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1A

State 1B

Complete!

Both parties can always broadcast the latest state.

State 2A

State 2B

17 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

… and a growing list of revoked states… as we will see,

this will be problematic...

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

18 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

What if Alice stops co-operating (she is offline)?

Bob can try to close the channel based on a

“revoked” state that repays him back his coins.

19 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

20 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

21 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

22 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

On-chain dispute process...

If there is no response by Alice by block 100,

then Bob will get all his coins back based on the revoked state.

23 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

Blocks are getting minted...

24 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

Yet no response from Alice…

But … if Alice were online… what exactly would she respond with?

25 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

JUSTICE TRANSACTION

Alice can steal all coins in the channel (i.e. spend the outputs) by signing a justice transaction

26 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

27 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

28 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

29 of 84

What does a lightning channel look like? (replace-by-revocation)

State 1

State N(B)

State ...

State N-1

State 1

State ...

State N-1

State N(A)

...

Block 10

Block 11

...

...

Block 100

Alice wins!

Her JUSTICE TRANSACTION was accepted into the blockchain before the dispute process expired!

She punished Bob for trying to cheat by taking all coins in the channel.

30 of 84

FAQ: Can Alice just keep a pre-signed justice tx around?

31 of 84

FAQ: Can Alice just keep a pre-signed justice tx around?

State 1

State 2

State ...

State N

Why?

Bob has a LIST of REVOKED transactions that only HE can broadcast….

She must be ready to prove any of them are invalid…

Remember, UTXO!

32 of 84

FAQ: Under the hood - what does it look like (roughly speaking)

1 BTC, A & B

Funding Transaction

33 of 84

FAQ: Under the hood - what does it look like (roughly speaking)

1 BTC, A & B

Funding Transaction

0.5 BTC,

B, t

A, H(S)

σA

Bob’s Tx (State N)

0.5 BTC,

A

Alice’s Tx (State N)

Symmetric to Bob’s tx

We omit it for space

Every state compromises of TWO transactions

1 transaction only Alice can broadcast

1 transaction only Bob can broadcast

34 of 84

FAQ: Under the hood - what does it look like (roughly speaking)

1 BTC, A & B

Funding Transaction

0.5 BTC,

B, t

A, H(S)

Bob’s Tx (State N)

0.5 BTC,

A

Alice’s Tx (State N)

Bob’s balance

He can claim it after time t OR

Alice can claim it immediately if S is revealed

Alice’s balance

She can redeem it immediately

σA

35 of 84

FAQ: Under the hood - what does it look like (roughly speaking)

1 BTC, A & B

Funding Transaction

0.5 BTC,

B, t

A, H(S)

Bob’s Tx (State N)

0.5 BTC,

A

Alice’s Tx (State N)

σA,σB

Bob broadcasts it

He can just sign and broadcast it at any time… to trigger the dispute period (up to time t)

36 of 84

FAQ: Under the hood - what does it look like (roughly speaking)

1 BTC, A & B

Funding Transaction

0.5 BTC,

B, t

A, H(S)

Bob’s Tx (State N)

0.5 BTC,

A

Alice’s Tx (State N)

1 BTC, A

Alice’s JUSTICE TX

σA, S

σA

σA,σB

37 of 84

Now we know how Lightning Channels (replace-by-revocation) roughly works…

Let’s better understand this watching network

Watching Network

38 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

39 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

But what does she send to the watch tower?

40 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

0.5 BTC,

B, t

A, H(S)

Bob’s Tx (State N)

0.5 BTC,

A

1 BTC, A

Alice’s JUSTICE TX

σA, S

σA

σA,σB

41 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

TXID [32 bytes]

TxLocator = [16:0]

Encryption Key = [16:32]

Bob’s TX (State N)

Tx Locator

Let’s watching service find transaction when dispute is triggered�

Encryption Key

Used to encryption Justice Transaction, only discoverable when a dispute is triggered.

4410c8d14ff9f87ceeed1d65cb58e7c7b2422b2d7529afc675208ce2ce09ed7d

TxLocator

Encryption Key

42 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

TXID [32 bytes]

TxLocator = [16:0]

Encryption Key = [16:32]

Bob’s TX (State N)

Encrypted Justice Transaction

Alice encrypts the pre-signed justice transaction.

It can ONLY be decrypted by watchtower if there is a dispute

(or if bob leaks the key)

1 BTC, A

Encrypted Justice TX

σA, S

σA

43 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

Send to the Watching Service

TxLocator & Encrypted Justice Transaction

TxLocator & Encrypted Justice Transaction

44 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

...

Block 10

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

45 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

46 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

Watching Service - 5 Steps�

  1. Extract Transaction ID
  2. Compute TxLocator + Key
  3. Find “encrypted blob”
  4. Decrypt it!
  5. Broadcast to the network

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

47 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Compute TxLocator + Key
  • Find “encrypted blob”
  • Decrypt it!
  • Broadcast to the network

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

48 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Compute TxLocator + Key
  • Find “encrypted blob”
  • Decrypt it!
  • Broadcast to the network

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

Block 12

Let’s look at the good, bad and the ugly

49 of 84

Monitor - THE GOOD

Leaning

Watch Tower

Channel-Privacy

We don’t know anything about channel until dispute

(Can also send us junk)

Simple Protocol

Just store encrypted blob and watch blockchain to retrieve decryption key

Responder, not trigger

We CANNOT trigger any disputes! Only respond if the counterparty tries to cheat.

50 of 84

Monitor - THE GOOD, BAD

Leaning

Watch Tower

Channel-Privacy

We don’t know anything about channel until dispute

(Can also send us junk)

Simple Protocol

Just store encrypted blob and watch blockchain to retrieve decryption key

O(N) Storage

Watching service must store a justice transaction for EVERY new state update.

Congestion BIG problem

Watching service only has a pre-signed transaction and very very awkward to bump fees

Responder, not trigger

We CANNOT trigger any disputes! Only respond if the counterparty tries to cheat.

51 of 84

Monitor - THE GOOD, BAD, AND THE UGLY

Leaning

Watch Tower

Channel-Privacy

We don’t know anything about channel until dispute

(Can also send us junk)

Simple Protocol

Just store encrypted blob and watch blockchain to retrieve decryption key

O(N) Storage

Watching service must store a justice transaction for EVERY new state update.

Congestion BIG problem

Watching service only has a pre-signed transaction and very very awkward to bump fees

Responder, not trigger

We CANNOT trigger any disputes! Only respond if the counterparty tries to cheat.

HOPES FOR AVAILABILITY

Hire hundreds of watchers and only 1 is rewarded.

What if they don’t respond? Tough luck

52 of 84

View of how a “watching network” might work so far

Leaning

Watch Tower

Leaning

Watch Tower

Leaning

Watch Tower

Leaning

Watch Tower

Leaning

Watch Tower

Leaning

Watch Tower

Hire multiple watch towers

And hope one responds!

Goal for “Monitor” was CHANNEL Privacy.

Reward Policy?

Only the one watch tower who gets their respective justice tx in the blockchain will get rewarded.

53 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

σA, σB, i*

Signatures

State version

*The actual construction is slightly different, it commits to the “version, randomness” which is revealed, but this is easier to explain.

54 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

*The actual construction is slightly different, it commits to the “version, randomness” which is revealed, but this is way easier to explain.

TxLocator & σA, σB, i, $$

TxLocator:σA, σB, i

Realtime payments via Lightning

55 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator:σA, σB, i

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Look up the latest “i” received
  • Broadcast it!

56 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator:σA, σB, i

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Look up the latest “i” received
  • Broadcast it!

σA, σB, i

57 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator:σA, σB, i

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Look up the latest “i” received
  • Broadcast it!

σA, σB, i

58 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator:σA, σB, i

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Look up the latest “i” received
  • Broadcast it!

σA, σB, i

Block 12

59 of 84

WatchTower @ BPASE’18

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator:σA, σB, i

Watching Service - 5 Steps�

  • Extract Transaction ID
  • Look up the latest “i” received
  • Broadcast it!

σA, σB, i

Block 12

Let’s look at the good, bad and the ugly

60 of 84

Watch Tower - THE GOOD

Leaning

Watch Tower

Verifiable Job

No longer store junk. We know it is a useful job.

O(1) Storage

Only store the job with the largest version.

Separates TX + State �

We are broadcasting the “latest state” and not necessarily a bitcoin transaction. Cleaner solution.

61 of 84

Watch Tower - THE GOOD, BAD

Leaning

Watch Tower

Verifiable Job

No longer store junk. We know it is a useful job.

O(1) Storage

Only store the job with the largest version.

No financial deterrent

We need to rely on the reputation of a watching service (or hire multiple) since no skin-in-the-game

Separates TX + State �

We are broadcasting the “latest state” and not necessarily a bitcoin transaction. Cleaner solution.

Accountability? No

No evidence a watch tower was hired and if they don’t do their job, no way to prove it.

62 of 84

Watch Tower - THE GOOD, BAD, AND THE UGLY

Leaning

Watch Tower

Verifiable Job

No longer store junk. We know it is a useful job.

O(1) Storage

Only store the job with the largest version.

Accountability? No

No evidence a watch tower was hired and if they don’t do their job, no way to prove it.

No financial deterrent

We need to rely on the reputation of a watching service (or hire multiple) since no skin-in-the-game

Separates TX + State �

We are broadcasting the “latest state” and not necessarily a bitcoin transaction. Cleaner solution.

Consensus Upgrade

We need a new OP_CODE for eltoo to work, so we don’t get the benefits of watch tower.

63 of 84

PISA @ Scaling Bitcoin ‘19

Leaning

Watch Tower

Monitor-style Jobs

TxLocator + Encrypted TX

Eltoo-style Jobs

TxLocator & Authorised State Version

We don’t care too much about the underlying payment channel construction.

It can be replace-by-revocation (today) �or replace-by-version (eltoo).

Outpost-style Jobs

TxLocator + Decryption Key

(Find out later)

64 of 84

PISA @ Scaling Bitcoin ‘19

Leaning

Watch Tower

On-chain evidence

If PISA doesn’t respond, clear on-chain evidence.

Signed Receipt

An acknowledgement that PISA accepted a job

PISA Contract

with security deposit

Requires a new OPCODE to support SPV Proof, parsing receipt & covenants

65 of 84

PISA (Monitor) @ Scaling Bitcoin ‘19

Leaning

Watch Tower

TxLocator1 & ENCJustice

66 of 84

PISA (Monitor) @ Scaling Bitcoin ‘19

Leaning

Watch Tower

TxLocator1 & ENCJustice

Signed Receipt

67 of 84

PISA (Monitor) @ Scaling Bitcoin ‘19

Leaning

Watch Tower

In-depth Signed Receipt

Encrypted Justice: ENCJustice

Transaction Locator: TxLocator1

Appointment Start: Block 10

Appointment Expiry: Block 500

Minimum Dispute Period: 50 blocks

Signature by PISA: σPISA

TxLocator1 & ENCJustice

Signed Receipt

68 of 84

PISA (Monitor) @ Scaling Bitcoin ‘19

Leaning

Watch Tower

In-depth Signed Receipt

Encrypted Justice: ENCJustice

Transaction Locator: TxLocator1

Appointment Start: Block 10

Appointment Expiry: Block 500

Minimum Dispute Period: 50 blocks

Signature by PISA: σPISA

TxLocator1 & ENCJustice

Signed Receipt

BONUS POINTS - Fair real-time payments

We can use a simple HTLC transfer to guarantee fair exchange of signed receipt + payment over the lightning network.

Just put H(R) in receipt and PISA reveals “R” to redeem HTLC payment.

69 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

...

...

Bob wins

Block 110

Scenario

Bob triggered a dispute,

PISA failed to respond,

Bob gets the coins.

How can Alice prove wrongdoing?

70 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

...

...

Bob wins

Block 110

In-depth Signed Receipt

Encrypted Justice: ENCJustice

Transaction Locator: TxLocator1

Appointment Start: Block 10

Appointment Expiry: Block 500

Minimum Dispute Period: 50 blocks

Signature by PISA: σPISA

Anyone can verify the “dispute details” via blockchain:

  • TxLocator1 FOUND
  • Dispute triggered between block 10 and 500
  • Assume for now dispute time is >50 blocks

71 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

...

...

Bob wins

Block 110

In-depth Signed Receipt

Encrypted Justice: ENCJustice

Transaction Locator: TxLocator1

Appointment Start: Block 10

Appointment Expiry: Block 500

Minimum Dispute Period: 50 blocks

Signature by PISA: σPISA

Anyone can decrypt ENCJustice and verify:

  • Valid justice transaction
  • Not included in the blockchain at all

72 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

...

...

Bob wins

Block 110

Reputational Accountability, not Financial

Publicly verifiable that PISA accepted the job and failed to do its duty by the customer.

With a consensus upgrade, the evidence of SPV proof for dispute + Bob’s spend transaction, could be used to slash/refund customer.

73 of 84

Monitor (Tadge) @ Scaling Bitcoin ‘16

Reputational Accountability, not Financial

Publicly verifiable that PISA accepted the job and failed to do its duty by the customer.

With a consensus upgrade, the evidence of SPV proof for dispute + Bob’s spend transaction, could be used to slash/refund customer.

Leaning

Watch Tower

State 1

...

Block 10

Block 11

TxLocator1:ENCJustice

TxLocator2:ENCJustice

TxLocator3:ENCJustice

TxLocator4:ENCJustice

TxLocator5:ENCJustice

TxLocator6:ENCJustice

TxLocator7:ENCJustice

...

...

Bob wins

Block 110

Let’s look at the good, bad and the ugly

74 of 84

PISA - THE GOOD

Leaning

Watch Tower

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

Simple Protocol

Adopting a signed receipt for different channel constructions is relatively straight-forward.

Accountability

We can prove to anyone that a PISA-tower cheated.

75 of 84

PISA - THE GOOD, BAD

Leaning

Watch Tower

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

Simple Protocol

Adopting a signed receipt for different channel constructions is relatively straight-forward.

O(1) OR O(N) Storage

Depends on the underlying channel construction (or if ENCJustice is stored on-chain via OUTPOST)

Security Deposit hard

While there is “skin in the game”, it may be under-collateralised. Provisions (2015) can help.

Accountability

We can prove to anyone that a PISA-tower cheated.

76 of 84

PISA - THE GOOD, BAD, AND THE UGLY

Leaning

Watch Tower

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

Simple Protocol

Adopting a signed receipt for different channel constructions is relatively straight-forward.

O(1) OR O(N) Storage

Depends on the underlying channel construction (or if ENCJustice is stored on-chain via OUTPOST)

Security Deposit hard

While there is “skin in the game”, it may be under-collateralised. Provisions (2015) can help.

Accountability

We can prove to anyone that a PISA-tower cheated.

Consensus Upgrade

We need a new OP_CODE for the slashing condition. Very likely, will not get into Bitcoin soon.

77 of 84

Watching Networks

for Bitcoin (no forks)

78 of 84

Watching Networks

for Bitcoin (no forks)

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

O(N) Storage/Updates

Depends in Monitor or Outpost. O(N) implies we need N-1 encrypted blobs, so it leaks number of transfers.

No financial deterrent

No way for the blockchain to self-enforce that via slashing.

Reputation Accountability via Signed Receipt

We can prove to anyone that a PISA-tower cheated.

79 of 84

Watching Networks

for Bitcoin (no forks)

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

O(N) Storage/Updates

Depends in Monitor or Outpost. O(N) implies we need N-1 encrypted blobs, so it leaks number of transfers.

No financial deterrent

No way for the blockchain to self-enforce that via slashing.

Reputation Accountability via Signed Receipt

We can prove to anyone that a PISA-tower cheated.

TX + State Intertwined

== bumping fee is HARD

PISA can’t sign state & broadcast it, must get a “pre-signed” justice tx.

Fair exchange payment + job via offchain tx

PISA can be hired via the lightning network. Not knowing which channel hired it.

80 of 84

Watching Networks

for Bitcoin (no forks)

Channel-Privacy

By re-using the Monitor protocol, PISA doesn’t know what channel is being watched!

Simple Protocol

Encrypting and decrypting blobs is straight forward, but reducing O(N) storage “constant” is ugly.

O(N) Storage/Updates

Depends in Monitor or Outpost. O(N) implies we need N-1 encrypted blobs, so it leaks number of transfers.

No financial deterrent

No way for the blockchain to self-enforce that via slashing.

Reputation Accountability via Signed Receipt

We can prove to anyone that a PISA-tower cheated.

TX + State Intertwined

== bumping fee is HARD

PISA can’t sign state & broadcast it, must get a “pre-signed” justice tx.

Fair exchange payment + job via offchain tx

PISA can be hired via the lightning network. Not knowing which channel hired it.

Responder, not trigger

We CANNOT trigger any disputes! Only respond if the counterparty tries to cheat.

Consensus upgrades required

A lot of problems can be fixed. We, as a community, must seriously consider them.

No Verifiable Jobs

(May store junk)

Important that PISA is paid up-front for storing “blobs” and not via bounties.

81 of 84

PISA - WHERE ARE WE NOW?

Signed Receipt BOLT

Coming soon to a wallet near you!

(after guinea pigs try out our demo!)

Encrypted Justice: ENCJustice

Transaction Locator: TxLocator1

Appointment Start: Block 10

Appointment Expiry: Block 500

Minimum Dispute Period: 50 blocks

Cipher + Hash Function: AES-ACM & SHA256

Signature by PISA: σPISA

PRIVATE TEST

Thanks to a heroic effort by Sergi Delgado (speaker yesterday), we have a working basic PISA implementation.

Do you want to try out our watch tower?

Please contact us!

82 of 84

PISA - Final word about “watchers” and their emerging role

Financial Liability & Insurance

Watchers take on the “financial liability” for users who go offline.

The “cost” of a watcher is some function of financial liability, number of updates & number of channels watched.

What can a watch tower do?

Protect hubs against crashes + dos attacks by responding to malicious customer closures

What can a watch tower NOT do?

Protect hubs against insider threats, theft of signing keys, etc.

Responder of LAST resort

83 of 84

PISA - Final word about “watchers” and their emerging role

Payment channel hubs

Customers generally trust hubs (we see this today), but for hubs, all their coins are “effectively” in a hot wallet and every customer is an adversary.

Routing Nodes

Peers will open channels with anyone to search out popular routes / best fees. They WON’T know or trust their counterparty.

84 of 84

Settlement System and

Root of Trust of all Layer 2

Plasma Group

PisaResearch

paddypisa

https://pisa.watch