Skip to content
This repository was archived by the owner on Oct 28, 2018. It is now read-only.

Commit 3dd1eda

Browse files
URI normalization (rfcs#8)
Migrate PRs from: interledger/rfcs#147 interledger/rfcs#157 * Update draft number * Make commas reserved characters in URI
1 parent 8e8789a commit 3dd1eda

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/spec/crypto-conditions.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
coding: utf-8
33

44
title: Crypto-Conditions
5-
docname: draft-thomas-crypto-conditions-02
5+
docname: draft-thomas-crypto-conditions-03
66
category: std
77

88
pi: [toc, sortrefs, symrefs, comments]
@@ -50,6 +50,7 @@ author:
5050
uri: https://www.ripple.com
5151

5252
normative:
53+
RFC3986:
5354
RFC3280:
5455
RFC4055:
5556
RFC4648:
@@ -173,7 +174,7 @@ Each condition type uses one or more cryptographic primitives such as digest or
173174
To verify that a given implementation can verify a fulfillment for a given condition, implementations MUST ensure they are able to validate fulfillments of all types indicated in the subtypes field of a compound condition. If an implementation encounters an unknown type it MUST reject the condition as it will almost certainly be unable to validate the fulfillment.
174175

175176
## Multi-Signature
176-
Crypto-conditions can abstract away many of the details of multi-sign. When a party provides a condition, other parties can treat it opaquely and do not need to know about its internal structure. That allows parties to define arbitrary multi-signature setups without breaking compatibility. That said, it is important that implementations must inspect the ypes and subtypes of any crypto-conditions they encounter to ensure they do not pass on a condition they will not be able to verify at a later stage.
177+
Crypto-conditions can abstract away many of the details of multi-sign. When a party provides a condition, other parties can treat it opaquely and do not need to know about its internal structure. That allows parties to define arbitrary multi-signature setups without breaking compatibility. That said, it is important that implementations must inspect the types and subtypes of any crypto-conditions they encounter to ensure they do not pass on a condition they will not be able to verify at a later stage.
177178

178179
In many instances protocol designers can use crypto-conditions as a drop-in replacement for public key signature algorithms and add multi-signature support to their protocols without adding any additional complexity.
179180

@@ -866,7 +867,13 @@ The cost parameter is the cost of the condition that is represented by the URI.
866867

867868
### Parameter: Subtypes (subtypes)
868869

869-
The subtypes parameter indicates the types of conditions that are subtypes of the condition represented by the URI. The value MUST be a comma seperated list of names from the [Crypto-Condition Type Registry](#crypto-conditions-type-registry) and SHOULD not include the type of the root crypto-condition. i.e. The value of the fpt parameter should not appear in the list of types provided as the value of the subtypes parameter.
870+
The subtypes parameter indicates the types of conditions that are subtypes of the condition represented by the URI. The value MUST be a comma seperated list of names from the [Crypto-Condition Type Registry](#crypto-conditions-type-registry).
871+
872+
The list MUST exclude the type of the root crypto-condition. i.e. The value of the fpt parameter should not appear in the list of types provided as the value of the subtypes parameter.
873+
874+
The list MUST be ordered by the type id value of each type, in ascending order. i.e. preimage-sha-256 MUST appear before prefix-sha-256.
875+
876+
The commas in the list should be treated as reserved characters per [RFC3986](#RFC3986)and not be percent encoded when used as list delimiters in the subtypes parameter.
870877

871878
# Example Condition
872879

0 commit comments

Comments
 (0)