7,035 research outputs found
Foundations, Properties, and Security Applications of Puzzles: A Survey
Cryptographic algorithms have been used not only to create robust ciphertexts
but also to generate cryptograms that, contrary to the classic goal of
cryptography, are meant to be broken. These cryptograms, generally called
puzzles, require the use of a certain amount of resources to be solved, hence
introducing a cost that is often regarded as a time delay---though it could
involve other metrics as well, such as bandwidth. These powerful features have
made puzzles the core of many security protocols, acquiring increasing
importance in the IT security landscape. The concept of a puzzle has
subsequently been extended to other types of schemes that do not use
cryptographic functions, such as CAPTCHAs, which are used to discriminate
humans from machines. Overall, puzzles have experienced a renewed interest with
the advent of Bitcoin, which uses a CPU-intensive puzzle as proof of work. In
this paper, we provide a comprehensive study of the most important puzzle
construction schemes available in the literature, categorizing them according
to several attributes, such as resource type, verification type, and
applications. We have redefined the term puzzle by collecting and integrating
the scattered notions used in different works, to cover all the existing
applications. Moreover, we provide an overview of the possible applications,
identifying key requirements and different design approaches. Finally, we
highlight the features and limitations of each approach, providing a useful
guide for the future development of new puzzle schemes.Comment: This article has been accepted for publication in ACM Computing
Survey
Tree-Chain: A Fast Lightweight Consensus Algorithm for IoT Applications
Blockchain has received tremendous attention in non-monetary applications
including the Internet of Things (IoT) due to its salient features including
decentralization, security, auditability, and anonymity. Most conventional
blockchains rely on computationally expensive consensus algorithms, have
limited throughput, and high transaction delays. In this paper, we propose
tree-chain a scalable fast blockchain instantiation that introduces two levels
of randomization among the validators: i) transaction level where the validator
of each transaction is selected randomly based on the most significant
characters of the hash function output (known as consensus code), and ii)
blockchain level where validator is randomly allocated to a particular
consensus code based on the hash of their public key. Tree-chain introduces
parallel chain branches where each validator commits the corresponding
transactions in a unique ledger. Implementation results show that tree-chain is
runnable on low resource devices and incurs low processing overhead, achieving
near real-time transaction settlement
- …