forked from batysta/espers-website
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvelocity.html
More file actions
270 lines (249 loc) · 16.4 KB
/
velocity.html
File metadata and controls
270 lines (249 loc) · 16.4 KB
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
<!DOCTYPE HTML>
<!--
Espers
html5up.net | @ajlkn
espers.io | @CryptoCoderz
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Velocity - Espers </title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
</head>
<body class="no-sidebar is-preload">
<div id="page-wrapper">
<!-- Header -->
<section id="header" class="wrapper">
<!-- Logo -->
<div id="logo">
</div>
<!-- Nav -->
<nav id="nav">
<ul>
<li class="current"><a href="index.html">Home</a></li>
<li>
<a href="#">Resources</a>
<ul>
<li>
<a href="#">Getting Started</a>
<ul>
<li><a href="setup.html">Install a Client</a></li>
<li><a href="mining.html">Mining coins</a></li>
<li><a href="buying.html">Buying coins</a></li>
<li><a href="webwallet.html">Web Client</a></li>
<li><a href="https://explorer.espers.io/">Block Explorer 1</a></li>
<li><a href="https://explorer2.espers.io/">Block Explorer 2</a></li>
<li><a href="https://espers.io/download/nodes/node-list.txt">Node list</a></li>
<li><a href="https://espers.io/download/nodes/deminode-list.txt">Demi-Node list</a></li>
</ul>
</li>
<li><a href="https://github.com/cryptocoderz/espers">Official GitHub</a></li>
<li>
<a href="#">Exchanges</a>
<ul>
<li><a href="https://xeggex.com/market/ESP_DOGE">Xeggex (ESP/DOGE)</a></li>
<li><a href="https://xeggex.com/market/ESP_USDT">Xeggex (ESP/USDT)</a></li>
</ul>
</li>
<li>
<a href="#">Pitch-Deck</a>
<ul>
<li><a href="pdfs/Espers_Pitch_Deck_02182023.pdf">English</a></li>
<!-- <li><a href="https://espers.io/download/Espers-Whitepaper-Russian.pdf">Pусский</a></li>
<li><a href="https://espers.io/download/Espers-Whitepaper-Portugues.pdf">Português</a></li>
<li><a href="https://espers.io/download/Espers-Whitepaper-French.pdf">Français</a></li>
<li><a href="https://espers.io/download/Espers-Whitepaper-Hindi.pdf">हिन्दी</a></li> -->
</ul>
</li>
<li><a href="features.html">Features</a></li>
<li><a href="roadmap.html">Roadmap</a></li>
<li><a href="faq.html">FAQ</a></li>
</ul>
</li>
<li>
<a href="#">Community</a>
<ul>
<li><a href="https://twitter.com/EspersCoin">Twitter</a></li>
<li><a href="https://discord.gg/hhYP8yT">Discord</a></li>
<li><a href="https://www.facebook.com/EspersOfficial">Facebook</a></li>
<li><a href="https://bitcointalk.org/index.php?topic=1434700.0">Bitcointalk</a></li>
<li><a href="https://t.me/EspersCoin">Telegram</a></li>
<li><a href="https://www.reddit.com/r/esperscoin">Reddit</a></li>
<li><a href="https://www.youtube.com/channel/UCeeQhMjnCKXGQAaKSOJFjng">Youtube</a></li>
<li><a href="https://github.com/cryptocoderz/espers">Github</a></li>
</ul>
</li>
<!--<li><a href="left-sidebar.html">Left Sidebar</a></li> -->
<li><a href="news.html">News</a></li>
<li><a href="https://blog.espers.io/">Dev-Blog</a></li>
<li><a href="donations.html">Donations</a></li>
</ul>
</nav>
</section>
<!-- Main -->
<div id="main" class="wrapper style2">
<div class="title">Velocity</div>
<div class="container">
<!-- Content -->
<div id="content">
<article class="box post">
<header class="style1">
<h2>Velocity blockchain security<br class="mobile-hide" />
and intelligent parameter enforcement</h2>
<p>Scroll down for more information</p>
</header>
<a href="#" class="image featured">
<img src="images/pic01.png" alt="" />
</a>
<h3>Introduction</h3>
<p>Velocity is a tertiary blockchain constraint/consensus system designed to ensure stringent block checks and parameter enforcement. This system was designed as a modular/scalable framework and over the years of its use has been expanded to include other check types along with having been completely overhauled to include advanced block vetting found nowhere else. Showing its usefuleness now in several different blockchain implementations Velocity is looking to be a promising blockchain feature. Example implementations can be found in DigitalNote [XDN], Espers [ESP], INSaNe [INSN], Rubix [RBX], Nucleon [NEON], PupaCoin [PPCN], FrogCoin [FROG], Konjungate [KONJ], InfoCoin [INFO], BreadCoin [BREAD], ZalemCoin [ZLM] and Endox [EDX] as of the writing of this document.</p>
<h3>Importance</h3>
<p>The key importance of Velocity is to constrain the chain with the parameters already defined within the code as apposed to having aspects such as block spacing, detailed block data processing, and other properties be subverted simply if a user/developer is clever about how they organize the block data or how they malform it. This is very important in several ways as everything from sudden increase in hashrate, invalid network fees, possible invalid ballance issues while sending transactions and other attacks/exploits. These mentioned issues are still a vulnerability despite the best retarget systems out there being implemented to control block spacing and though many portions of Bitcoin and similar projects' blockchains are checked they are done so in a lackluster manner and are still suseptable to an attack wether it be temporary or a catastrophic generation of coins that causes users of the network grief and major loss. This is resolved by the Velocity system stepping in as a "tripple check". Even after a block during generation has seemingly met all requirements and is then produced it is now no longer immidiately accepted. Instead it is checked again for inconsistancies and possible other exploits and even compare against other peer's block data.</p>
<h3>Technical Aspects</h3>
<p>Most notably users will initially see rejected blocks during the mining or staking phase (or both depending on coin properties). Despite the tendency to assume that there is something wrong with the chain as it is rejecting blocks this is in fact a completely normal and a welcomed operation. Rapid block times, incorrect fees, insufficient ballance, faked/altered timestamps, altered inputs/outpus and other issues can be manipulated by a talented programmer with malicous intent. To guard from these kinds of situations Velocity first checks the generated block for proper spacing, if the block was generated too quickly it has then not met one of the main parameters for the chain and is promptly rejected, staving off possilbe attacks and any kind of sudden increase in hashrate. Additionally to verifying block spacing Velocity also checks both block timestamp and block transaction timestamps against previously indexed values in order to verify the legitimacy of the timestamp within a block. This is done at least a couple blocks or more deep to ensure timestamp attacks are negated. Next the system verifies that previously the client that sent a transaction (if it sent one in the previous block) was in fact a valid transaction by comparing previous ballance vs current ballance along with fees paid vs minimum fee required to pay. If any of these parameters are not met (mind you these are standard chain parameters that should always be stringently enforced) then the block is again rejected despite being generated successfully. Thus this system secures the chain, making it more stable, predictable, and overall reliable. With Velocity there's confidence that the blocks being accepted are indeed blocks that are proper.</p>
<h3>Limitations</h3>
<p>Currently the biggest shortcoming is that this feature is still a prototype system and as such doesn't intuitively integrate into every blockchain flawlessly. Some can experience issues such as minimum spaced blocks with either min-diff or near min-diff being used which is not an optimal operation of any sort. Hybrid blockchains require a more intuitive difficulty retarget approach to reduce rejected blocks and cause the system to properly generate blocks so that Velocity becomes not a life support system but merely a security check to a stable and properly operating chain. Users of a Velocity implemented chains may also note that several blockchains have now been implemented with this feature, however the potential issues will NOT be apparent in them because they are implemented with VRX difficulty retargeting which pairs with Velocity's constraints. This will not have the same issues listed above, in this case they will see only the benefits of Velocity running as a security check merely stabilizing the blockchain further and making it more robust.</p>
<h3>Improvements</h3>
<p>In July of 2021 several Bitcoin [BTC] based altcoins were attacked with what has now been nicknamed the "Monte Spoof Attack" as a nod to a typical method used by scammers known as a "Three Card Monte". The Monte Spoof Attack is a completely new method of exploit created that does not require the same sort of power as a 51% attack, timewarp, or other attack methods. Instead to carry out the exploit the attacker simply needs to be able to create the next block for the blockchain and submit it in time to have at least just one block accepted. In simpler terms someone with simply 10-20% of a chance of creating the next block in time for the chain to accept it, which can execute this attack. Once the attacker submits the block they exploit the fact that Bitcoin [BTC] assumes that a peer will only submit transaction data in the block it created by using transactions from the main network memory pool (what users have been sending to each other). Trusting a peer this way allowed for attackers create large amounts of coins by injecting custom formed transactions directly into the block they created without relaying it across the network, this completely bypasses the security that had been deemed unbreakable for the past many years. To combat this Velocity was immediately overhauled within the first week of the new exploit being found. Velocity now features extensive block input/output checks, blockchain supply checks and many more that ensure that nothing is ever overlooked during any part of the block acceptance phase regardless of what the networks sees or thinks would be there. Again in 2022 Velocity was integrated with a new feature built known as Demi-Nodes. This advanced networking system relies on Velocity as it streams blocks through the security checks when making decisions on peer validity and what blocks the network has compared to what a user has stored or created locally. Due to this block sync times are faster and overall network health is much stronger.</p>
<h3>Future</h3>
<p>This system can be expanded to eventually include more checks, more verification and a even more stringent implementation that may adapt to any kind of features that are added or removed. This makes the system very adaptable and less of a hassle to work with as it can grow with the needs of a blockchain project. As it becomes more refined and mature so will this new security feature called Velocity.</p>
</article>
</div>
</div>
</div>
<!-- Highlights -->
<section id="highlights" class="wrapper style3">
<div class="title">Recent News</div>
<div class="container">
<div class="row aln-center">
<div class="col-4 col-12-medium">
<section class="highlight">
<a href="#" class="image featured"><img src="images/pic02.png" alt="" /></a>
<h3><a href="#">In-wallet/client NFTs</a></h3>
<p>The first of its kind, true altcoin in-wallet/client NFTs with on-chain pixel data storage and instant from-chain rendering.</p>
<ul class="actions">
<li><a href="article1.html" class="button style1">Learn More</a></li>
</ul>
</section>
</div>
<div class="col-4 col-12-medium">
<section class="highlight">
<a href="#" class="image featured"><img src="images/pic03.png" alt="" /></a>
<h3><a href="#">Websites On-Chain</a></h3>
<p>Get ready for the future! Espers is excited to test upcoming website on-chain functionality with its community.</p>
<ul class="actions">
<li><a href="article2.html" class="button style1">Learn More</a></li>
</ul>
</section>
</div>
<div class="col-4 col-12-medium">
<section class="highlight">
<a href="#" class="image featured"><img src="images/pic04.png" alt="" /></a>
<h3><a href="#">In-wallet/client smart-contracts</a></h3>
<p>Go beyond NFTs and Websites, store any data or even build a dApp through unique side-chain smart-contracts.</p>
<ul class="actions">
<li><a href="article3.html" class="button style1">Learn More</a></li>
</ul>
</section>
</div>
</div>
</div>
</section>
<!-- Footer -->
<section id="footer" class="wrapper">
<div class="title">Contact Us</div>
<div class="container">
<header class="style1">
<h2>Have a question that wasn't answered?</h2>
<p>
Though we encourage everyone to join our Discord we understand that not everyone<br />
will, if so then send us a message using the form below or contact information.
</p>
</header>
<div class="row">
<div class="col-6 col-12-medium">
<!-- Contact Form -->
<section>
<form method="post" action="#">
<div class="row gtr-50">
<div class="col-6 col-12-small">
<input type="text" name="name" id="contact-name" placeholder="Name" />
</div>
<div class="col-6 col-12-small">
<input type="text" name="email" id="contact-email" placeholder="Email" />
</div>
<div class="col-12">
<textarea name="message" id="contact-message" placeholder="Message" rows="4"></textarea>
</div>
<div class="col-12">
<ul class="actions">
<li><input type="submit" class="style1" value="Send" /></li>
<li><input type="reset" class="style2" value="Reset" /></li>
</ul>
</div>
</div>
</form>
</section>
</div>
<div class="col-6 col-12-medium">
<!-- Contact -->
<section class="feature-list small">
<div class="row">
<div class="col-6 col-12-small">
<section>
<h3 class="icon solid fa-home">Mailing Address</h3>
<p>
The Espers Project<br />
444 S Cactus Junction<br />
Mojave, CA, 93501
</p>
</section>
</div>
<div class="col-6 col-12-small">
<section>
<h3 class="icon solid fa-comment">Social</h3>
<p>
<a href="https://twitter.com/EspersCoin">twitter - @EspersCoin</a><br />
<a href="https://www.facebook.com/EspersOfficial/">facebook - EspersOfficial</a>
</p>
</section>
</div>
<div class="col-6 col-12-small">
<section>
<h3 class="icon solid fa-envelope">Email</h3>
<p>
<a href="#">contact@espers.io</a>
</p>
</section>
</div>
<div class="col-6 col-12-small">
<section>
<h3 class="icon solid fa-phone">Phone</h3>
<p>
N/A
</p>
</section>
</div>
</div>
</section>
</div>
</div>
<div id="copyright">
<ul>
<li>© 2016-2026 The Espers Project</li>
</ul>
</div>
</div>
</section>
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.dropotron.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>