<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.24 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="o-*+"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc ipr="trust200902" docName="draft-song-satp-implementation-guide-01" category="info" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="SATP Implementation Guide">Secure Asset Transfer Protocol (SATP) Implementation Guide</title>

    <author initials="H." surname="Song" fullname="Hyojin Song">
      <organization>Seoul National Univ.</organization>
      <address>
        <email>fun@snu.ac.kr</email>
      </address>
    </author>
    <author initials="Y.-G." surname="Hong" fullname="Yong-Geun Hong">
      <organization>Daejeon Univ.</organization>
      <address>
        <email>yonggeun.hong@gmail.com</email>
      </address>
    </author>
    <author initials="T." surname="Hardjono" fullname="Thomas Hardjono">
      <organization>MIT</organization>
      <address>
        <email>hardjono@mit.edu</email>
      </address>
    </author>

    <date year="2025" month="July"/>

    <area>Applications and Real-Time</area>
    <workgroup>Secure Asset Transfer Protocol</workgroup>
    <keyword>Gateway</keyword> <keyword>Digital asset network</keyword> <keyword>Asset transfer</keyword>

    <abstract>


<?line 78?>

<t>This memo provides guidelines to developers of gateway systems, digital asset networks and client applications for the Secure Asset Transfer Protocol (SATP). Multiple gateways can represent the same digital asset network following the SATP standards, which necessitate basic implementation guidelines as outlined in this document. It also serves as an introduction to the SATP processing workflow for those new to the SATP standards.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://anawhj.github.io/draft-song-satp-implementation-guide/draft-song-satp-implementation-guide.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-song-satp-implementation-guide/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Asset Transfer Protocol  mailing list (<eref target="mailto:sat@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sat/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sat/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/anawhj/draft-song-satp-implementation-guide"/>.</t>
    </note>


  </front>

  <middle>


<?line 84?>

<section anchor="introduction"><name>Introduction</name>

<t anchor="introduction-doc">This document proposes implementation guidance from the perspective of developers of peer gateways and digital asset networks.</t>

<t>The Secure Asset Transfer Protocol (SATP) facilitates communication between peer gateways and other entities such as digital asset networks and client applications. A digital asset network can be connected to multiple peer gateways to enable asset transfers while ensuring interoperability. To ensure consistency across multiple peer gateways, appropriate guidelines are necessary.</t>

<t>Peer gateways must implement a secure asset transfer mechanism that meets essential requirements related to atomicity,
consistency, isolation, and durability (ACID). Security and privacy are also critical requirements. Therefore, this document involves several considerations beyond the SATP interface.</t>

<t>The existing SATP core documents (<xref target="SATcore"></xref>, <xref target="SATarch"></xref>) provides most of the key implementation guidelines, but this document offers a more elaborated description of each phase within peer gateways and digital asset networks.</t>

<figure><artwork><![CDATA[
          Originator                         Beneficiary
       (Origin network)                 (Destination network)
               |                                   |
  +------------------------+          +------------------------+
  |         Client         |          |         Client         |
  |       Application      |          |       Application      |
  |         (App1)         |          |         (App2)         |
  +------------------------+          +------------------------+
       |              |                    |              |
       V              V                    V              V
  +---------+    +---------+          +---------+    +---------+
  |         |    |         |          |         |    |         |
  |         |    |         |          |         |    |         |
  | Digital |    |         |          |         |    | Digital |
  |  Asset  |    | Gateway |          | Gateway |    |  Asset  |
  | Network |<-->|   GW1   | <------> |   GW2   |    | Network |
  |   NW1   |    |         |          |         |    |   NW2   |
  |         |    |         |          |         |    |         |
  |         |    |         |          |         |    |         |
  +---------+    +---------+          +---------+    +---------+

            Figure 1. Scope of the SATP implementation
]]></artwork></figure>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBA</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>There are no IANA considerations related to this document.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="SATcore" target="https://datatracker.ietf.org/doc/draft-ietf-satp-core/">
  <front>
    <title>Secure Asset Transfer Protocol (SATP) Core</title>
    <author initials="M." surname="Hargreaves">
      <organization></organization>
    </author>
    <author initials="T." surname="Hardjono">
      <organization></organization>
    </author>
    <author initials="R." surname="Belchior">
      <organization></organization>
    </author>
    <author initials="V." surname="Ramakrishna">
      <organization></organization>
    </author>
    <date year="2025" month="July"/>
  </front>
</reference>
<reference anchor="SATarch" target="https://datatracker.ietf.org/doc/draft-ietf-satp-architecture/">
  <front>
    <title>Secure Asset Transfer (SAT) Interoperability Architecture</title>
    <author initials="T." surname="Hardjono">
      <organization></organization>
    </author>
    <author initials="M." surname="Hargreaves">
      <organization></organization>
    </author>
    <author initials="N." surname="Smith">
      <organization></organization>
    </author>
    <author initials="V." surname="Ramakrishna">
      <organization></organization>
    </author>
    <date year="2024" month="June"/>
  </front>
</reference>


    </references>

</references>


<?line 153?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>TBA</t>

</section>


  </back>

<!-- ##markdown-source:
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
pu8Ykf+94/9x1/kcPPkvKjGXihAWAAA=

-->

</rfc>

