forked from hashgraph/hedera-improvement-proposal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
about-hips.html
114 lines (98 loc) · 7.07 KB
/
about-hips.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
---
layout: home
title: HIPs Home
---
<p><img src="./assets/hedera_logo.png" alt="Hedera Hashgraph logo"></p>
<a href="https://discord.com/channels/373889138199494658/813488589773471774" target="_blank"><img
src="https://img.shields.io/discord/373889138199494658" alt="Discord Chat" style="margin-bottom: 20px;"></a>
<a href="https://github.com/hashgraph/hedera-improvement-proposal" target="_blank">
<img alt="GitHub forks"
src="https://img.shields.io/github/forks/hashgraph/hedera-improvement-proposal?color=bright&label=fork%20me"
style="margin-bottom: 20px;">
</a>
<h2 id="what-is-a-hip-">What is a HIP?</h2>
<p>HIP stands for "<i>Hedera Improvement Proposal</i>". These improvement proposals can range from core protocol
changes, to the applications, frameworks, and protocols built on top of the Hedera public network and used by the
community. The HIP author is responsible for building consensus within the community and documenting dissenting
opinions, as well as tracking their HIP through the process outlined below.</p>
<h2 id="what-is-hedera-hashgraph-">What is Hedera Hashgraph?</h2>
<p><a href="https://hedera.com">Hedera Hashgraph</a> is the only public network built on top of <a
href="http://www.leemon.com/">Dr. Leemon Baird</a>’s <a href="http://www.leemon.com/papers/2016b.pdf">Hashgraph
consensus algorithm</a>. Hedera goes beyond blockchain to provide the fast, fair, and secure environment needed to
enable enterprise adoption of distributed ledger technologies. You can learn more about Hedera by <a
href="https://hedera.com/whitepaper">reading the Hedera whitepaper</a>, and for a more detailed
understanding of the Hashgraph Consensus Algorithm you can check out the <a
href="http://www.leemon.com/papers/2016b.pdf">hashgraph algorithm whitepaper</a>.</p>
<h2 id="purpose">Purpose</h2>
<p>The goal of HIPs is to have a place to propose new features, to collect community thoughts and input on a particular
issue, and further to document all these subject matters in one place. It’s a great way to document these
discussions and proposals <a href="https://github.com/hashgraph/hedera-improvement-proposal">here on GitHub</a>,
because any <a href="https://github.com/hashgraph/hedera-improvement-proposal/commits/master">revisions made on
these text files will be recorded</a>.</p>
<h2 id="process">Process</h2>
<p>See <a href="HIP/hip-1.html">HIP-1</a> for details on the HIP process.</p>
<h2 id="qualifications">Qualifications</h2>
<p>Each HIP should only be one single key proposal and/or idea. The idea should be focused and only issue to one subject
matter to be successful. A HIP must meet certain minimum criteria: it must be clear and have a complete description
of the proposed enhancement, the enhancement must represent a net improvement, the proposed implementation, if
applicable, must be solid and must not complicate the protocol unduly.</p>
<h2>HIP Types</h2>
<p>There are three kinds of HIP:
<ol>
<li>A <b>Standards Track</b> HIP describes a new feature or implementation for Hedera. It may also describe an
interoperability standard that will be supported outside of the official Hedera node software stack. The
Standards Track HIP abstract should include which part of the Hedera ecosystem it addresses. Standards Track
HIPs require a specification and a reference implementation:
<ol class="ol-lower-latin">
<li><b>Core</b>: This includes proposals addressing the Hashgraph algorithm, peer-to-peer networking, etc.
These types of features are implemented on Hedera consensus nodes.
</li>
<li><b>Service</b>: Hedera services sit on top of the Core node software and provide the functionalities
that are accessed by users. These currently include the File Service, Consensus Service, Token Service,
and Smart Contract Service. This type of proposal should be used to add to or improve the service-layer
of Hedera. These types of features are implemented on Hedera consensus nodes.
</li>
<li><b>Mirror</b>: A mirror node runs software designed to retrieve all, or some of the records generated by
the Hedera consensus nodes and make those records available to users in a way that is meaningful,
reliable, and trustworthy.
</li>
<li><b>Application</b>: Application standards may be used to standardize software in the Hedera ecosystem
that aren't mirror or consensus nodes. This includes application network software, external contract
consensus nodes, multi-sig oracles, persistence mechanisms, enterprise software plugins, etc. An example of
an Application standard would be the Stablecoin Contract and Non-fungible Token Contract written in Java
as a layer-2 solution using the Hedera Consensus service to maintain trust.
</li>
</ol>
</li>
<li>An <b>Informational</b> HIP describes a Hedera design issue, or provides general guidelines or information to
the Hedera community, but does not propose a new feature. Informational HIPs do not necessarily represent a
Hedera community consensus or recommendation, so users and implementers are free to ignore Informational HIPs or
follow their direction.
</li>
<li>A <b>Process</b> HIP describes a process surrounding Hedera, or proposes a change to a process. Process HIPs are
like Standards Track HIPs but apply to areas other than the node and ecosystem software codebases. They may
propose an implementation, but not to Hedera's codebase; they often require community consensus; unlike
Informational HIPs, they are more than recommendations, and users are typically not free to ignore them.
Examples include procedures, guidelines, and changes to the decision-making process. Any meta-HIP is also
considered a Process HIP.
</li>
</ol>
<h2 id="before-submitting">Before Submitting</h2>
<ol>
<li><p>Evaluate your idea: consider why you’d like to request changes or improvements, and how it benefits the
Hedera Hashgraph community.</p>
</li>
<li><p>Thoroughly look through those proposals already submitted to ensure there are no duplicates.</p>
</li>
<li><p>Ask the Hedera Hashgraph community first if your idea is original, or has already been through the HIP
process.</p>
</li>
<li><p>Reevaluate your proposal to ensure sure the idea is applicable to the entire community and not just to one
particular author, application, project, or protocol.</p>
</li>
</ol>
<h5 id="note">Note</h5>
<p>An excellent place to discuss your proposal and get feedback is in the <a
href="https://github.com/hashgraph/hip/issues">issues section of this repository</a>, or on <a
href="https://hedera.com/discord">Hedera's Discord Server</a>; there you can start formalizing the language
around your HIP and ensuring it has broad community support.</p>