-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathccs.tex
468 lines (405 loc) · 18.8 KB
/
ccs.tex
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
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
\documentclass{cnle}
\usepackage[UTF8]{ctex}
\usepackage{tikz}
\usepackage{pgf-pie}
\title[Version Control, Blockchain, and CCS]
{融合版本控制和区块链:CCS}
\author[KnowsCount]
{KnowsCount Chen\\
github.com/knowscount}
\date{today}
\pagerange{\pageref{firstpage}--\pageref{lastpage}}
\pubyear{2020}
\newcommand\eg{{\it e.g.\ }}
\newcommand\etc{{\it etc}}
\begin{document}
\label{firstpage}
\maketitle
\begin{abstract}
本文将讨论 CCS({\em Collaborative Concurrent System,合作并行系统\/},一个为 Fissure 项目打造的以新方式实现内容版本存储和分发的松散透明、鼓励能者多劳的分布式修订版本控制系统;其主旨不在重建、保存过去的版本,而在为一个最终的产品提供多个版本,形成多个分叉。本文主要讨论 CCS 的一些目前和潜在应用;最后总结讨论一些值得进一步研究的开放性问题。
\end{abstract}
\section{绪论 | Introduction}
CCS 将为每一个变更、更新贴上大量的附加上下文信息的标签,从而让公众知道修改部分、修改时间、修改用户,等等。这样可以帮助用户对内容演进过程中的事件产生有价值的见解。大多数软件开发组织都采用了某种其他形式的 CCS,比如 git、SVN 等。因此,CCS 对很多软件项目都具有广泛的适用性。
\section{再度使用数据 | Reusing Data}
CCS 的一大特色是对数据的再度使用,以免造成任何意义上的浪费。根据 {\em Analysis of Ethereum Smart Contracts - A Security Perspective\/},字节码数据集、Solidity 数据集中的重复内容分别高达 94.6\% 以及 95.3\%。
\begin{tikzpicture} % Tikz environment
\centering
\pie
{5.4/Unique, 94.6/Duplicate}
\end{tikzpicture}
\section{最长原则}
故事的版本之间会有各种的冲突;为了解决这些冲突,我们决定参考区块链的最长链原则,当一个分支上接了六个新的片段后,我们将其设为默认分支,其他用户必须手动更换到其他分支。当然,可以合并在产生分裂问题的分支之后的内容到默认分支。
\subsection{Titles and authors' names}
In the NLE style, the title of the article and the author's name (or authors'
names) are used both at the beginning of the article for the main title and
throughout the article as running headlines at the top of every page.
The title is used on odd-numbered pages (rectos) and the author's name appears
on even-numbered pages (versos).
Although the main heading can run to several lines of text, the running head
line must be a single line.
Moreover, the main heading can also incorporate new line commands
(\eg \verb"\\") but these are not acceptable in a running headline.
To enable you to specify an alternative short title and author's name, the
standard \verb"\title" and \verb"\author" commands have been extended to take
an optional argument to be used as the running headline:
%
\begin{verbatim}
\title[A short title]{The full title which can be as long
as necessary}
\author[Author's name]{The full author's name, followed by\\
the affiliation if necessary}
\end{verbatim}
%
The following example is taken from Abadi et~al. (1991) and
shows several authors and their affiliations.
%
\begin{verbatim}
\title{Explicit substitutions}
\author[M. Abadi and others]
{M.\ns A\ls B\ls A\ls D\ls I,\ns
L.\ns C\ls A\ls R\ls D\ls E\ls L\ls L\ls I\\
Digital Equipment Corp., Systems Research Center,\\
130 Lytton Avenue, Palo Alto, California, USA 94301
\and
P.-L.\ns C\ls U\ls R\ls I\ls E\ls N\\
Laboratoire d'Informatique, Ecole Normale Sup'erieure,
45 Rue d'Ulm 75005, Paris, France
\and
and\ns J.-J.\ns L\ls \'E\ls V\ls Y\\
INRIA, Domaine de Voluceau, Roquencourt, B.P.105, 78153,
Le Chesnay, Cedex, France.}
\end{verbatim}
Notice the use of the predefined macros \verb"\ls" and \verb"\ns" to
letter-space the author's name. As you can see from this example, when
there are four or more authors, the short author name argument should
contain the first authors name followed by the text `and others'.
\subsection{Abstract}
The NLE style provides for an abstract which is produced by the following
commands
%
\begin{verbatim}
\begin{abstract}
...
\end{abstract}
\end{verbatim}
\subsection{Lists}
The NLE style provides the three standard list environments.
\begin{itemize}
\item Bulleted lists, created using the \verb"itemize" environment.
\item Numbered lists, created using the \verb"enumerate" environment.
\item Labelled lists, created using the \verb"description" environment.
\end{itemize}
\subsection{Footnotes}
The NLE journal style uses superior numbers for footnote
references.\footnote{This shows how a footnote is typeset.}
\section{Some guidelines for using standard facilities}
The following notes may help you achieve the best effects with the NLE style
file.
\subsection{Sections}
\LaTeX\ provides five levels of section headings and they are all
defined in the NLE style file:
\begin{itemize}
\item \verb"\section".
\item \verb"\subsection".
\item \verb"\subsubsection".
\item \verb"\paragraph".
\item \verb"\subparagraph".
\end{itemize}
Section numbers are given for sections, subsection and subsubsection headings.
\subsection{Running headlines}
As described above, the title of the article and the author's name (or authors'
names) are used as running headlines at the top of every page.
The title is used on odd-numbered pages (rectos) and the author's name appears
on even-numbered pages (versos).
The \verb"\pagestyle" and \verb"\thispagestyle" commands should {\em not\/} be
used.
Similarly, the commands \verb"\markright" and \verb"\markboth" should not be
necessary.
\subsection{Tables}
The {\tt figure} and {\tt table} environments are implemented as described in
the \LaTeX\ Manual to
provide consecutively numbered floating inserts for illustrations and tables
respectively.
The standard inserts and their captions are formatted centred.
Line breaks in captions can be inserted as required using \verb"\\".
The NLE style file will cope with most positioning of your tables
and you should not normally use the optional positional qualifiers on the
\verb"table" environment which would override these decisions.
Normal journal style sets the table caption first, followed by a double
rule, the table body and a double rule at the bottom. Single rules and
spanner rules (\verb"\cline") can be used to separate headings from the
columns. For example, Table~\ref{sample-table} is produced using the
following commands:\par
%
{\small
\begin{verbatim}
\begin{table}
\caption{Results of Overloading for 3 Experimental Setups}
\begin{minipage}{\textwidth}
\begin{tabular}{lcrrrrr}
\hline\hline
Program& Expt.&
CPU\footnote{Seconds of elapsed time on an unloaded Sun 3/50.}&
RelCPU\footnote{CPU Time relative to experiment (a).}&
GC& Mem\footnote{Bytes of heap used over the duration of the program.}&
RelMem\footnote{Memory usage relative to experient (a).}\\
\hline
8 Queens& (a)& 2\hpt 88& 1\hpt 00& 6& 1\hpt 7M& 1\hpt 00\\
& (b)& 32\hpt 51& 11\hpt 29& 193& 48\hpt 9M& 28\hpt 76\\
& (c)& 7\hpt 90& 2\hpt 74& 42& 11\hpt 3M& 6\hpt 65\\
\noalign{\vspace {.5cm}}
Primes& (a)& 4\hpt 89& 1\hpt 00& 19& 5\hpt 3M& 1\hpt 00\\
& (b)& 47\hpt 54& 9\hpt 72& 204& 54\hpt 5M& 10\hpt 28\\
& (c)& 10\hpt 08& 2\hpt 06& 47& 13\hpt 0M& 2\hpt 45\\
\noalign{\vspace {.5cm}}
Nfib& (a)& 21\hpt 65& 1\hpt 00& 161& 40\hpt 4M& 1\hpt 00\\
& (b)& 221\hpt 65& 10\hpt 24& 1382& 349\hpt 0M& 8\hpt 64\\
& (c)& 21\hpt 30& 0\hpt 98& 161& 42\hpt 0M& 1\hpt 03\\
\noalign{\vspace {.5cm}}
KWIC& (a)& 7\hpt 07& 1\hpt 00& 15& 6\hpt 3M& 1\hpt 00\\
& (b)& 34\hpt 55& 4\hpt 89& 109& 47\hpt 8M& 7\hpt 59\\
& (c)& 31\hpt 62& 4\hpt 47& 53& 45\hpt 0M& 7\hpt 14\\
\hline\hline
\end{tabular}
\vspace{-2\baselineskip}
\end{minipage}
\label{sample-table}
\end{table}
\end{verbatim}}
%
\noindent Notice the use of the \verb"\hpt" macro to obtain the centered
decimal points, inside the body of the table.
\begin{table}
\caption{Results of Overloading for 3 Experimental Setups}
\begin{minipage}{\textwidth}
\begin{tabular}{lcrrrrr}
\hline\hline
Program& Expt.&
CPU\footnote{Seconds of elapsed time on an unloaded Sun 3/50.}&
RelCPU\footnote{CPU Time relative to experiment (a).}&
GC& Mem\footnote{Bytes of heap used over the duration of the program.}&
RelMem\footnote{Memory usage relative to experient (a).}\\
\hline
8 Queens& (a)& 2\hpt 88& 1\hpt 00& 6& 1\hpt 7M& 1\hpt 00\\
& (b)& 32\hpt 51& 11\hpt 29& 193& 48\hpt 9M& 28\hpt 76\\
& (c)& 7\hpt 90& 2\hpt 74& 42& 11\hpt 3M& 6\hpt 65\\
\noalign{\vspace {.5cm}}
Primes& (a)& 4\hpt 89& 1\hpt 00& 19& 5\hpt 3M& 1\hpt 00\\
& (b)& 47\hpt 54& 9\hpt 72& 204& 54\hpt 5M& 10\hpt 28\\
& (c)& 10\hpt 08& 2\hpt 06& 47& 13\hpt 0M& 2\hpt 45\\
\noalign{\vspace {.5cm}}
Nfib& (a)& 21\hpt 65& 1\hpt 00& 161& 40\hpt 4M& 1\hpt 00\\
& (b)& 221\hpt 65& 10\hpt 24& 1382& 349\hpt 0M& 8\hpt 64\\
& (c)& 21\hpt 30& 0\hpt 98& 161& 42\hpt 0M& 1\hpt 03\\
\noalign{\vspace {.5cm}}
KWIC& (a)& 7\hpt 07& 1\hpt 00& 15& 6\hpt 3M& 1\hpt 00\\
& (b)& 34\hpt 55& 4\hpt 89& 109& 47\hpt 8M& 7\hpt 59\\
& (c)& 31\hpt 62& 4\hpt 47& 53& 45\hpt 0M& 7\hpt 14\\
\hline\hline
\end{tabular}
\vspace{-2\baselineskip}
\end{minipage}
\label{sample-table}
\end{table}
The \verb"tabular" environment should be used to produce ruled tables;
it has been modified for the NLE style in the following ways:
\begin{enumerate}
\item Additional vertical space is inserted above and below a horizontal rule
(produced by \verb"\hline");
\item Tables are centred, and span the full width of the page; that is,
they are similar to the tables that would be produced by
\verb"\begin{minipage}{\textwidth}".
\end{enumerate}
Because of this reformatting, vertical rules should not be used;
furthermore, commands to
redefine quantities such as \verb"\arraystretch" should be omitted. If
the old tabular facilities are needed, there is a new environment,
\verb"oldtabular", which has none of the reformatting; it should be used
in exactly the same way.
\subsection{Illustrations (or figures)}
The NLE style will cope with most positioning of your illustrations
and you should not normally use the optional positional qualifiers on
the \verb"figure" environment which would override these decisions.
Figure captions should be below the figure itself, therefore the \verb"\caption"
command should appear after the figure or space left for an illustration.
Figure~\ref{sample-figure} shows an example of space left above a
caption for artwork to be pasted in. This was produced with the
following commands:
%
\begin{verbatim}
\begin{figure}
\vspace{5cm} % the vertical depth of the artwork
\caption{An example figure with space for artwork.}
\label{sample-figure}
\end{figure}
\end{verbatim}
%
\begin{figure}
\vspace{5cm} % the vertical depth of the artwork
\caption{An example figure with space for artwork.}
\label{sample-figure}
\end{figure}
%
The vertical depth should correspond roughly to the artwork you will submit;
it will be adjusted to fit the final artwork exactly.
\subsection{Bibliography}
As with standard \LaTeX, there are two ways of producing a bibliography;
either by compiling a list of references by hand (using a
\verb"thebibliography" environment), or by using BibTeX with a suitable
bibliographic database. However, contributors are encouraged to format
their list of references in NLE style outlined in section~\ref{fullref}
below.
\subsubsection{References in the Text}
References in the text are given by author and date.
Whichever method is used to produce the bibliography, the references in
the text are done in the same way. Each bibliographical entry has a key,
which is assigned by the author and used to refer to that entry in the
text. There is one form of citation -- \verb"\cite{key}" -- to produce the
author and date, and another form -- \verb"\shortcite{key}" -- which
produces the date only. Thus,
Akmajian and Lehrer \shortcite{akm76} is produced by
%
\begin{verbatim}
Akmajian and Lehrer \shortcite{akm76}
\end{verbatim}
%
while \cite{sal90} is produced by
%
\begin{verbatim}
\cite{sal90}.
\end{verbatim}
\subsubsection{List of References}\label{fullref}
The following listing shows some references prepared in the style of the
journal.
%
\begin{verbatim}
\begin{thebibliography}{}
\bibitem[\protect\citename{Akmajian and Lehrer }1976]{akm76}
Akmajian, A. and Lehrer, A. (1976) NP-like quantifiers and the
problem of determining the head of an NP. {\it Linguistic
Analysis\/} {\bf 2}: 295--313.
\bibitem[\protect\citename{Huddleston }1984]{hud84}
Huddleston, Rodney. (1984) {\it Introduction to the Grammar of
English}. Cambridge: Cambridge University Press.
\bibitem[\protect\citename{McCord }1990]{mcc90}
McCord, Michael C. (1990) Slot grammar: a system for simpler
construction of practical natural language grammars. In R.
Studer (ed.), {\it Natural Language and Logic: International
Scientific Symposium}, pp.~118--45. Lecture Notes in Computer
Science. Berlin: Springer-Verlag.
\bibitem[\protect\citename{Salton {\it et al.}\ }1990]{sal90}
Salton, Gerald, Zhao, Zhongnan and Buckley, Chris. (1990)
A simple syntactic approach for the generation of indexing
phrases. Technical Report 90--1137, Department of Computer
Science, Cornell University.
\end{thebibliography}
\end{verbatim}
%
This list typesets as shown at the end of this guide.
Each entry takes the form
%
\begin{verbatim}
\bibitem[\protect\citename{Author(s), }Date]{tag}
Bibliography entry
\end{verbatim}
%
where \verb"Author(s)"\ should be the author names as they are cited in
the text, \verb"Date" is the date to be cited in the text, and \verb"tag"
is the tag that is to be used as an argument for the \verb"\cite{}" and
\verb"\shortcite{}" commands. \verb"Bibliography entry" should be the
material that is to appear in the bibliography, suitably formatted. This
rather unwieldy scheme makes up for the lack of an author-date system in
\LaTeX.
\appendix
\section{Special commands in {\tt nle.sty}}
The following is a summary of the new commands, optional
arguments and environments which have been added to the
standard \LaTeX\ user-interface in creating the NLE style file.
\vspace{6pt}
\noindent
\begin{tabular}{lp{8cm}}
{\em New commands} & \\
\ifprodtf
\verb"\cite" & the optional argument has changed it's use. This
allows author-date citations to be changed without
loosing the link to the bibliography entry.\\
\fi
\verb"\hpt" & to typeset a centered decimal point (\eg 1\hpt1).
These are normally used inside the body of tables.\\
\verb"\ls", \verb"\ns" & to letter space the author's name. \\
\verb"\proofbox" & used with \verb"\usebox" to place a proof-box
in the text. \\[6.5pt]
{\em New optional arguments} & \\
\verb"[<short title>]" & in the \verb"\title" command: to define a right running
headline that is different from the article title. \\
\verb"[<short author>]" & in the \verb"\author" command: to define a left running
headline with text that is different from the
authors' names as typeset at the article opening. \\[6.5pt]
{\em New environments} & \\
\verb"proof" & to typeset mathematical proofs. \\
\verb"proof*" & to typeset mathematical proofs without the
terminating proof-box.
\end{tabular}
\ifprodtf
%
\section{Notes for Editors}
This appendix contains additional information which may be useful to
those who are involved with the final production stages of an article.
Authors, who are generally not typesetting the final pages in the
journal's typeface (Monotype Times), do not need this information.
\subsection{Catchline and date commands}
To be placed in the preamble; for example:
\begin{itemize}
\item \verb"\pubyear{1998}"
\item \verb"\volume{{\bf 1} (1):}"
\item \verb"\pagerange{35--48}"
\item \verb"\received{1 April 1993; revised 30 October 1993}"
\end{itemize}
\subsection{Macros provided by {\tt NLEsym.sty}}
None at present.
\subsection{Editing citations (when the author has used the
{\tt cite} command)}
In the past when an automatic \verb"\cite" command produced text in the output
which needed to be changed, the argument (in [ ]) from the bibliography entry
was copied to the location of the \verb"\cite" command and then modified.
The \verb"\cite" command would then be removed as part of this process.
In the near future, we will probably have to supply \TeX\ output which will
need to contain `PDF marks' for interactive browsing. Clearly by removing
the automatic link to the bibliographic entry (referenced by the \verb"\cite"),
we are making extra work for ourselves later on.
To avoid this, the function of the \verb"\cite" command's optional argument
has been changed. For example, the \verb"\cite" command for the
`\verb"mcc90"' entry gives:
\[ \hbox{(McCord 1990)} \]
but you want the following to appear in the text:
\[ \hbox{(McCord 1990, see p.~119)} \]
you would then use:
\[ \hbox{\verb"\cite[(McCord 1990, see p.~119)]{mcc90}"} \]
to obtain the desired result. Notice that you have to supply
the round brackets as well in the optional argument.
This modification also works for the \verb"\shortcite" command.
%
\fi
\begin{thebibliography}{}
\bibitem[\protect\citename{Akmajian and Lehrer }1976]{akm76}
Akmajian, A. and Lehrer, A. (1976) NP-like quantifiers and the
problem of determining the head of an NP. {\it Linguistic
Analysis\/} {\bf 2}: 295--313.
\bibitem[\protect\citename{Huddleston }1984]{hud84}
Huddleston, Rodney. (1984) {\it Introduction to the Grammar of
English}. Cambridge: Cambridge University Press.
\bibitem[\protect\citename{McCord }1990]{mcc90}
McCord, Michael C. (1990) Slot grammar: a system for simpler
construction of practical natural language grammars. In R.
Studer (ed.), {\it Natural Language and Logic: International
Scientific Symposium}, pp.~118--45. Lecture Notes in Computer
Science. Berlin: Springer-Verlag.
\bibitem[\protect\citename{Salton {\it et al.}\ }1990]{sal90}
Salton, Gerald, Zhao, Zhongnan and Buckley, Chris. (1990)
A simple syntactic approach for the generation of indexing
phrases. Technical Report 90--1137, Department of Computer
Science, Cornell University.
\end{thebibliography}
\label{lastpage}
\end{document}