468 research outputs found

    Artemis Accords and Resource Mining in Outer Space

    No full text
    This book explores the timely intersection of international law, space exploration, and global equity, focusing on the implications of the Artemis Accords. As humanity embarks on a new era of space exploration, driven by technological advancements and geopolitical competition, the Artemis Accords represent a pivotal milestone in shaping the legal frameworks for outer space activities. These non-binding agreements, established by NASA and the U.S. Department of State, facilitate international cooperation in civil exploration and the peaceful use of the Moon, Mars, and other celestial bodies. The Accords outline a structure for resource mining on the Moon while emphasizing peaceful exploration. However, they also raise questions about governance, ownership, and accountability, particularly regarding private enterprises and international competition. The book critically examines the potential for space resource mining to perpetuate global inequities, drawing parallels with historical patterns of colonialism. It emphasizes the need for more equitable frameworks that allow nations, including those from the Global South, to benefit from space exploration. The contributors, experts in space law and policy, provide diverse perspectives on the challenges and opportunities of resource mining in outer space, addressing ethical and environmental considerations to promote sustainability. Through case studies and analysis, the book offers innovative solutions for ensuring a just and inclusive future for space exploration, making it an essential resource for legal scholars, policymakers, and anyone interested in space law and global equity

    Artemis Accords as Evolutive Law-Making: Lunar Space Mining and the Rise of Space Militarisation

    No full text
    The new age of technological developments continues to bring humanity much closer to Moon surface mining. Tapping the lunar economy could provide humanity with the potential to expand its presence on the Moon, as well as further into the solar system. In this context, the Artemis Accords and the geopolitics around it are shaping new complexities of lunar resource extraction. While exploiting the lunar economy is the primary objective of the Artemis Accords, the non-binding principles apply to civil activities in outer space, and all activities that may take place on the Moon, Mars, comets, and asteroids, including their surfaces and subsurfaces, as well as in orbit of the Moon or Mars, in the Lagrangian points for the Earth-Moon system, and in transit between these celestial bodies and locations. The United States drafted the Accords is building consensus, and as of January 2025, the number of signatories has grown to 53. The Artemis Accords express a soft obligation to ‘reinforce and implement the Outer Space Treaty, the Registration Convention, the Agreement on the Rescue and Return of Astronauts’ and ‘other norms of behaviour that NASA and its partners have supported’. However, some of the principles raise concerns about its consistencies with the fundamentals of space law as it introduce concepts such as safety zones, resource extraction and use and interoperability. It creates new challenges that raise questions about sovereignty, commercial rights, sustainability in space and potential military use of the lunar environment, as nations may leverage lunar activities for strategic dominance. This chapter explores the Artemis Accords as a new form of evolutive lawmaking redesigning global space governance through unipolarism masquerading as multilateralism. The chapter primarily focuses on how the Accords can foster competitive dynamics among spacefaring nations, which may accelerate the development of dual-use technologies under the facade of peaceful exploration. By placing the Accords within the broader context of astropolitical diplomacy, this chapter explores the future of lunar space mining and how the Accords will shape the future norms of militarisation and commercial exploitation of the lunar environment

    Food for nought

    No full text
    The short story, "Food for nought", is written by the listed author above, Shashi Bhat. Now in its 48th year, Best Canadian Stories has long championed the short story form and highlighted the work of many of the writers, throughout their respective careers, who have gone on to shape the Canadian literary canon. Caroline Adderson, Margaret Atwood, Clark Blaise, Lynn Coady, Mavis Gallant, Zsuzsi Gartner, Douglas Glover, Steven Heighton, Isabel Huggan, Mark Anthony Jarman, Norman Levine, Rohinton Mistry, Alice Munro, Leon Rooke, Diane Schoemperlen, Russell Smith, Linda Svendsen, Kathleen Winter, and many others have appeared in its pages over the years and decades, making Best Canadian Stories the go-to source for what’s new in Canadian fiction writing for close to five decades. A continuation of not only a series, but a legacy in Canadian letters. --From publisher description.Published

    TWO NEW SPECIES OF POACEAE FROM INDIA

    No full text
    Two new species of Poaceae namely, Erayrostis santapaui K. G. Bhat & C. R. Nagendran and Chrysopogon pseitdozeylanicus K. G. Bhat & C. R. Nagendran have been described from materials collected by the senior author from Coorg- and South Kanara Districts of Karnataka State, India

    Evaluating Compliance with International Standards and Best Practices at the Mumbai Airport

    No full text
    Chhatrapati Shivaji Maharaj International Airport (CSMIA), ranked 28th in the world and 14th in Asia in the fiscal year 2022 in terms of passenger traffic is one of the busiest airports located in the financial capital of India. It is the second busiest airport in India after Delhi. With the privatisation of Mumbai’s CSMIA, the Indian airport industry saw a dramatic transformation in 2006. With the expansion of the new terminal, the economic value that the airport will hold in terms of trickling down economic benefits to the city and the financial growth opportunities will be immense. The International Civil Aviation Organisation (ICAO) has created a thorough set of Standards and Recommended Practices (SARPs) for airports in its Annex 14 to the Chicago Convention in order to guarantee the security, regularity, and effectiveness of international air navigation. The chapter attempts to provide an overview of ‘International Standards’ and ‘Best Practices’ at the CSMIA, specifically in the areas of ‘Security Regulations’, ‘Passenger Service’ and ‘Sustainability’. The chapter evaluates Mumbai Airport’s adherence to ICAO and IATA security protocols, including passenger screening, access controls, and threat detection. The second part of the chapter will focus on airport management along with global benchmarks for efficient processing, amenities, and overall traveller experience. The third part of the chapter delves into the initiatives to minimize environmental impact, optimize resource usage, and promote green operations. To achieve global net zero targets, the Mumbai airport will play a key role in accelerating renewable energy adoption, optimising resource consumption, and driving circular economy initiatives. The chapter is the outcome of an in-depth review of processes, and performance data against global benchmarks, feedback from airport management, airlines, regulatory authorities, and a first-hand assessment of operations, infrastructure, and passenger experience. The chapter also explores the issues associated with customs, human rights violations and the curious case of illegal wildlife trafficking that happens at the Mumbai Airport. The chapter provides a detailed understanding of Mumbai Airport’s performance and compliance with global best practices. The chapter will also guide the airport’s efforts to enhance security, passenger services, and sustainability and suggest mechanisms to promote coordination with regulatory authorities for the successful implementation of the improvement initiatives

    Fish distribution dynamics in the Aghanashini estuary of Uttara Kannada, west coast of India

    No full text
    Fish diversity (77 species) in the Aghanashini River estuary of the Indian west coast is linked to variable salinity conditions and zones I, II and III for high, medium and low salinity respectively. Zone I, the junction between Arabian Sea and the estuary, had all species in yearly succession due to freshwater conditions in monsoon to high salinity in pre-monsoon. The medium (zone II) and low (zone III) salinity mid and upstream portions had maximum of 67 and 39 fish species respectively. Maintenance of natural salinity regimes in estuary, among other ecological factors, is critical for its fish diversity

    Delphi: Efficient Asynchronous Approximate Agreement for Distributed Oracles

    No full text
    &lt;h1&gt;Delphi: Asynchronous Approximate Agreement for Distributed Oracles&lt;/h1&gt; &lt;div&gt;This repository contains a Rust implementation of the following distributed oracle agreement protocols.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;1. Delphi AAA protocol&lt;/div&gt; &lt;div&gt;2. FIN ACS protocol [1]&lt;/div&gt; &lt;div&gt;3. Abraham et al. AAA protocol [2]&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;The repository uses the libchatter networking library available [here](https://github.com/libdist-rs/libchatter-rs). This code has been written as a research prototype and has not been vetted for security. Therefore, this repository can contain serious security vulnerabilities. Please use at your own risk.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;Please consider citing our paper if you use this artifact.&lt;/div&gt; &lt;blockquote&gt; &lt;div&gt;Delphi: Efficient Asynchronous Approximate Agreement for Distributed Oracles&lt;/div&gt; &lt;div&gt;Akhil Bandarupalli, Adithya Bhat, Saurabh Bagchi, Aniket Kate, Chen-Da Liu-Zhang, and Michael K. Reiter&lt;/div&gt; &lt;div&gt;To appear at 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2024.&lt;/div&gt; &lt;/blockquote&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;h2&gt;Dataset&lt;/h2&gt; &lt;div&gt;The repository also contains a dataset containing values of prominent cryptocurrencies polled from 12 cryptocurrency exchanges. Details are available in the `dataset` folder.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;h1&gt;Quick Start&lt;/h1&gt; &lt;div&gt;We describe the steps to run this artifact.&lt;/div&gt; &lt;h2&gt;Hardware and OS setup&lt;/h2&gt; &lt;div&gt;1. This artifact has been run and tested on `x86_64` and `x64` architectures. However, we are unaware of any issues that would prevent this artifact from running on `x86` architectures.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;2. This artifact has been run and tested on Ubuntu `20.04.5 LTS` OS and Raspbian Linux version released on `2023-02-21`, both of which follow the Debian distro. However, we are unaware of any issues that would prevent this artifact from running on Fedora distros like CentOS and Red Hat Linux.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h2&gt;Rust installation and Cargo setup&lt;/h2&gt; &lt;div&gt;The repository uses the `Cargo` build tool. The compatibility between dependencies has been tested for Rust version `1.63`.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;3. Run the set of following commands to install the toolchain required to compile code written in Rust and create binary executable files.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get update</code></div> <div><code> sudo apt-get -y upgrade&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get -y autoremove</code></div> <div><code> sudo apt-get -y install build-essential&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get -y install cmake</code></div> <div><code> sudo apt-get -y install curl&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt;# Install rust (non-interactive)&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y</code></div> <div><code> source HOME/.cargo/env</code></div> <div><code> rustup install 1.63.0&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; rustup override set 1.63.0</code></div> <div> </div> <div>4. Build the repository using the following command. The command should be run in the directory containing the `Cargo.toml` file.</div> <div> </div> <div><code> cargo build --release&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; mkdir logs</code></div> <div> </div> <p> </p> <div>5. Next, generate configuration files for nodes in the system using the following command. Make sure to create the directory (in this example, `testdata/hyb_4/`) before running this command.</div> <div> </div> <div><code> ./target/release/genconfig --base_port 8500 --client_base_port 7000 --client_run_port 9000 --NumNodes 4 --blocksize 100 --delay 100 --target testdata/hyb_4/ --local true&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;6. After generating the configuration files, run the script `appxcon-test.sh` in the scripts folder with the following command line arguments. This command starts Delphi with four nodes.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/appxcon-test.sh {epsilon} {rho} {Delta} testdata/hyb_4/syncer</code></div> <div> </div> <div>7. Substitute desired values of \epsilon,\rho_0,\Delta.Examplevaluesinclude. Example values include \epsilon=1,\rho_0=10,\Delta=100000.Thescriptrandomlyassignsinputvalues. The script randomly assigns input values v_i to each node. This logic can be changed to make nodes start with custom input values.</div> <div> </div> <div>8. The outputs are logged into the `syncer.log` file in logs directory. The outputs of each node are printed in a JSON format, along with the amount of time the node took to terminate the protocol.</div> <div> </div> <div>9. Running the FIN ACS protocol requires additional configuration. FIN uses BLS threshold signatures to generate common coins necessary for proposal election and Binary Byzantine Agreement. This setup includes a master public key in the `pub` file, npartialsecretkeys(oneforeachnode)assec0,...,sec3files,andthe partial secret keys (one for each node) as `sec0,...,sec3` files, and the npartialpublickeysaspub0,...,pub3files.Weutilizedthecryptoblstrslibraryinthe[apss](https://github.com/ISTASPiDerS/apss)repositorytogeneratethesekeys.Wepregeneratedthesefilesfor partial public keys as `pub0,...,pub3` files. We utilized the `crypto_blstrs` library in the [apss](https://github.com/ISTA-SPiDerS/apss) repository to generate these keys. We pregenerated these files for n=16,64,112,160 in the benchmark folder, in zip files `tkeys-{n}.tar.gz`. After generating these files, place them in the configuration directory (`testdata/hyb_4` in this example) and run the following command (We already performed this step and have these files ready in `testdata/hyb_4` folder).</div> <div> </div> <div><code># Kill previous processes running on these ports</code></div> <div><code> sudo lsof -ti:7000-7015 | xargs kill -9&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/fin-test.sh testdata/hyb_4/syncer</code></div> <div> </div> <p> </p> <div>10. Similarly, Abraham et al.'s Approximate Agreement protocol can be run using the following command.</div> <div> </div> <div><code># Kill previous processes running on these ports</code></div> <div><code> sudo lsof -ti:7000-7015 | xargs kill -9&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/abraham-test.sh {epsilon} {delta} {Delta} testdata/hyb_4/syncer</code></div> <div> </div> <div>The parameters {epsilon} and {delta} must be equal in this context to yield Abraham et al.'s protocol. {Delta} must be set to be equal to the difference between honest inputs `M-m`. Example configuration run includes the following command.</div> <div> </div> <div><code> ./scripts/abraham-test.sh 2 2 20 testdata/hyb_4/syncer&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h2&gt;Running in AWS&lt;/h2&gt; &lt;div&gt;We utilize the code in the [Narwhal](https://github.com/MystenLabs/sui/tree/main/narwhal/benchmark) repository to execute code in AWS. This repository uses `fabric` to spawn AWS instances, install Rust, and build the repository on individual machines. Please refer to the `benchmark` directory for more instructions.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;System architecture&lt;/h1&gt; &lt;div&gt;Each node runs as an independent process, which communicates with other nodes through sockets. Apart from the nn nodes running the protocol, the system also spawns a process called `syncer`. The `syncer` is responsible for measuring latency of completion. It reliably measures the system's latency by issuing `START` and `STOP` commands to all nodes. The nodes begin executing the protocol only after the `syncer` verifies that all nodes are online, and issues the `START` command by sending a message to all nodes. Further, the nodes send a `TERMINATED` message to the `syncer` once they terminate the protocol. The `syncer` records both start and termination times of all processes, which allows it to accurately measure the latency of each protocol.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;Dependencies&lt;/h1&gt; &lt;div&gt;The artifact uses multiple Rust libraries for various functionalities. We give a list of all dependencies used by the artifact in the `Cargo.lock` file. `Cargo` automatically manages these dependencies and fetches the specified versions from the `crates.io` repository manager.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;Code Organization&lt;/h1&gt; &lt;div&gt;The artifact is organized into the following modules of code.&lt;/div&gt; &lt;div&gt;1. The `config` directory contains code pertaining to configuring each node in the distributed system. Each node requires information about port to use, network addresses of other nodes, symmetric keys to establish pairwise authenticated channels between nodes, and protocol specific configuration parameters like values of ϵ,Δ,ρ\epsilon,\Delta,\rho. Code related to managing and parsing these parameters is in the `config` directory. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;2. The `crypto` directory contains code that manages the pairwise authenticated channels between nodes. Mainly, nodes use Message Authentication Codes (MACs) for message authentication. This repo manages the required secret keys and mechanisms for generating MACs. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;3. The `crypto_blstrs` directory contains code that enables nodes to toss common coins from BLS threshold signatures. This library has been borrowed from the `apss` (https://github.com/ISTA-SPiDerS/apss) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;4. The `types` directory governs the message serialization and deserialization. Each message sent between nodes is serialized into bytecode to be sent over the network. Upon receiving a message, each node deserializes the received bytecode into the required message type after receiving. This library has been written on top of the library from `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;5. *Networking*: This repository uses the `libnet-rs` (https://github.com/libdist-rs/libnet-rs) networking library. Similar libraries include networking library from the `narwhal` (https://github.com/MystenLabs/sui/tree/main/narwhal/) repository. The nodes use the `tcp` protocol to send messages to each other.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;6. The `tools` directory consists of code that generates configuration files for nodes. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;7. The `consensus` directory contains the implementations of various protocols. Primarily, it contains implementations of Abraham et al.'s approximate agreement protocol in the `hyb_appxcon` subdirectory, `delphi` protocol in the `delphi` subdirectory, and FIN protocol in `fin` subdirectory. Each protocol contains a `context.rs` file, which contains a function named `spawn` from where the protocol's execution starts. This function is called by the `node` library in the `node` folder. This library contains a `main.rs` file, which spawns an instance of a node running the respective protocol by invoking the `spawn` function.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;References&lt;/h1&gt; &lt;blockquote&gt; &lt;div&gt;[1] Duan, Sisi, Xin Wang, and Haibin Zhang. "Fin: Practical signature-free asynchronous common subset in constant time." In Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security, pp. 815-829. 2023.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;[2] Abraham, Ittai, Yonatan Amit, and Danny Dolev. "Optimal resilience asynchronous approximate agreement." In Principles of Distributed Systems: 8th International Conference, OPODIS 2004, Grenoble, France, December 15-17, 2004, Revised Selected Papers 8, pp. 229-239. Springer Berlin Heidelberg, 2005.&lt;/div&gt; &lt;/blockquote&gt

    Delphi: Efficient Asynchronous Approximate Agreement for Distributed Oracles

    No full text
    &lt;h1&gt;Delphi: Asynchronous Approximate Agreement for Distributed Oracles&lt;/h1&gt; &lt;div&gt;This repository contains a Rust implementation of the following distributed oracle agreement protocols.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;1. Delphi AAA protocol&lt;/div&gt; &lt;div&gt;2. FIN ACS protocol [1]&lt;/div&gt; &lt;div&gt;3. Abraham et al. AAA protocol [2]&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;The repository uses the libchatter networking library available [here](https://github.com/libdist-rs/libchatter-rs). This code has been written as a research prototype and has not been vetted for security. Therefore, this repository can contain serious security vulnerabilities. Please use at your own risk.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;Please consider citing our paper if you use this artifact.&lt;/div&gt; &lt;blockquote&gt; &lt;div&gt;Delphi: Efficient Asynchronous Approximate Agreement for Distributed Oracles&lt;/div&gt; &lt;div&gt;Akhil Bandarupalli, Adithya Bhat, Saurabh Bagchi, Aniket Kate, Chen-Da Liu-Zhang, and Michael K. Reiter&lt;/div&gt; &lt;div&gt;To appear at 54th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2024.&lt;/div&gt; &lt;/blockquote&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;h2&gt;Dataset&lt;/h2&gt; &lt;div&gt;The repository also contains a dataset containing values of prominent cryptocurrencies polled from 12 cryptocurrency exchanges. Details are available in the `dataset` folder.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;h1&gt;Quick Start&lt;/h1&gt; &lt;div&gt;We describe the steps to run this artifact.&lt;/div&gt; &lt;h2&gt;Hardware and OS setup&lt;/h2&gt; &lt;div&gt;1. This artifact has been run and tested on `x86_64` and `x64` architectures. However, we are unaware of any issues that would prevent this artifact from running on `x86` architectures.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;2. This artifact has been run and tested on Ubuntu `20.04.5 LTS` OS and Raspbian Linux version released on `2023-02-21`, both of which follow the Debian distro. However, we are unaware of any issues that would prevent this artifact from running on Fedora distros like CentOS and Red Hat Linux.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h2&gt;Rust installation and Cargo setup&lt;/h2&gt; &lt;div&gt;The repository uses the `Cargo` build tool. The compatibility between dependencies has been tested for Rust version `1.63`.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;3. Run the set of following commands to install the toolchain required to compile code written in Rust and create binary executable files.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get update</code></div> <div><code> sudo apt-get -y upgrade&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get -y autoremove</code></div> <div><code> sudo apt-get -y install build-essential&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; sudo apt-get -y install cmake</code></div> <div><code> sudo apt-get -y install curl&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt;# Install rust (non-interactive)&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y</code></div> <div><code> source HOME/.cargo/env</code></div> <div><code> rustup install 1.63.0&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; rustup override set 1.63.0</code></div> <div> </div> <div>4. Build the repository using the following command. The command should be run in the directory containing the `Cargo.toml` file.</div> <div> </div> <div><code> cargo build --release&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; mkdir logs</code></div> <div> </div> <p> </p> <div>5. Next, generate configuration files for nodes in the system using the following command. Make sure to create the directory (in this example, `testdata/hyb_4/`) before running this command.</div> <div> </div> <div><code> ./target/release/genconfig --base_port 8500 --client_base_port 7000 --client_run_port 9000 --NumNodes 4 --blocksize 100 --delay 100 --target testdata/hyb_4/ --local true&lt;/code&gt;&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;6. After generating the configuration files, run the script `appxcon-test.sh` in the scripts folder with the following command line arguments. This command starts Delphi with four nodes.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/appxcon-test.sh {epsilon} {rho} {Delta} testdata/hyb_4/syncer</code></div> <div> </div> <div>7. Substitute desired values of \epsilon,\rho_0,\Delta.Examplevaluesinclude. Example values include \epsilon=1,\rho_0=10,\Delta=100000.Thescriptrandomlyassignsinputvalues. The script randomly assigns input values v_i to each node. This logic can be changed to make nodes start with custom input values.</div> <div> </div> <div>8. The outputs are logged into the `syncer.log` file in logs directory. The outputs of each node are printed in a JSON format, along with the amount of time the node took to terminate the protocol.</div> <div> </div> <div>9. Running the FIN ACS protocol requires additional configuration. FIN uses BLS threshold signatures to generate common coins necessary for proposal election and Binary Byzantine Agreement. This setup includes a master public key in the `pub` file, npartialsecretkeys(oneforeachnode)assec0,...,sec3files,andthe partial secret keys (one for each node) as `sec0,...,sec3` files, and the npartialpublickeysaspub0,...,pub3files.Weutilizedthecryptoblstrslibraryinthe[apss](https://github.com/ISTASPiDerS/apss)repositorytogeneratethesekeys.Wepregeneratedthesefilesfor partial public keys as `pub0,...,pub3` files. We utilized the `crypto_blstrs` library in the [apss](https://github.com/ISTA-SPiDerS/apss) repository to generate these keys. We pregenerated these files for n=16,64,112,160 in the benchmark folder, in zip files `tkeys-{n}.tar.gz`. After generating these files, place them in the configuration directory (`testdata/hyb_4` in this example) and run the following command (We already performed this step and have these files ready in `testdata/hyb_4` folder).</div> <div> </div> <div><code># Kill previous processes running on these ports</code></div> <div><code> sudo lsof -ti:7000-7015 | xargs kill -9&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/fin-test.sh testdata/hyb_4/syncer</code></div> <div> </div> <p> </p> <div>10. Similarly, Abraham et al.'s Approximate Agreement protocol can be run using the following command.</div> <div> </div> <div><code># Kill previous processes running on these ports</code></div> <div><code> sudo lsof -ti:7000-7015 | xargs kill -9&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&lt;code&gt; ./scripts/abraham-test.sh {epsilon} {delta} {Delta} testdata/hyb_4/syncer</code></div> <div> </div> <div>The parameters {epsilon} and {delta} must be equal in this context to yield Abraham et al.'s protocol. {Delta} must be set to be equal to the difference between honest inputs `M-m`. Example configuration run includes the following command.</div> <div> </div> <div><code> ./scripts/abraham-test.sh 2 2 20 testdata/hyb_4/syncer&lt;/code&gt;&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt; &lt;h2&gt;Running in AWS&lt;/h2&gt; &lt;div&gt;We utilize the code in the [Narwhal](https://github.com/MystenLabs/sui/tree/main/narwhal/benchmark) repository to execute code in AWS. This repository uses `fabric` to spawn AWS instances, install Rust, and build the repository on individual machines. Please refer to the `benchmark` directory for more instructions about reproducing the results in the paper.&lt;/div&gt; &lt;br&gt; &lt;h2&gt;Running in Raspberry-Pi testbed&lt;/h2&gt; &lt;div&gt;We described detailed instructions to reproduce the results in the paper in the Raspberry-Pi device testbed in the `benchmark/raspberry-pi` directory.&lt;/div&gt; &lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;System architecture&lt;/h1&gt; &lt;div&gt;Each node runs as an independent process, which communicates with other nodes through sockets. Apart from the nn nodes running the protocol, the system also spawns a process called `syncer`. The `syncer` is responsible for measuring latency of completion. It reliably measures the system's latency by issuing `START` and `STOP` commands to all nodes. The nodes begin executing the protocol only after the `syncer` verifies that all nodes are online, and issues the `START` command by sending a message to all nodes. Further, the nodes send a `TERMINATED` message to the `syncer` once they terminate the protocol. The `syncer` records both start and termination times of all processes, which allows it to accurately measure the latency of each protocol.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;Dependencies&lt;/h1&gt; &lt;div&gt;The artifact uses multiple Rust libraries for various functionalities. We give a list of all dependencies used by the artifact in the `Cargo.lock` file. `Cargo` automatically manages these dependencies and fetches the specified versions from the `crates.io` repository manager.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;Code Organization&lt;/h1&gt; &lt;div&gt;The artifact is organized into the following modules of code.&lt;/div&gt; &lt;div&gt;1. The `config` directory contains code pertaining to configuring each node in the distributed system. Each node requires information about port to use, network addresses of other nodes, symmetric keys to establish pairwise authenticated channels between nodes, and protocol specific configuration parameters like values of ϵ,Δ,ρ\epsilon,\Delta,\rho. Code related to managing and parsing these parameters is in the `config` directory. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;2. The `crypto` directory contains code that manages the pairwise authenticated channels between nodes. Mainly, nodes use Message Authentication Codes (MACs) for message authentication. This repo manages the required secret keys and mechanisms for generating MACs. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;3. The `crypto_blstrs` directory contains code that enables nodes to toss common coins from BLS threshold signatures. This library has been borrowed from the `apss` (https://github.com/ISTA-SPiDerS/apss) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;4. The `types` directory governs the message serialization and deserialization. Each message sent between nodes is serialized into bytecode to be sent over the network. Upon receiving a message, each node deserializes the received bytecode into the required message type after receiving. This library has been written on top of the library from `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;5. *Networking*: This repository uses the `libnet-rs` (https://github.com/libdist-rs/libnet-rs) networking library. Similar libraries include networking library from the `narwhal` (https://github.com/MystenLabs/sui/tree/main/narwhal/) repository. The nodes use the `tcp` protocol to send messages to each other.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;6. The `tools` directory consists of code that generates configuration files for nodes. This library has been borrowed from the `libchatter` (https://github.com/libdist-rs/libchatter-rs) repository.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;div&gt;7. The `consensus` directory contains the implementations of various protocols. Primarily, it contains implementations of Abraham et al.'s approximate agreement protocol in the `hyb_appxcon` subdirectory, `delphi` protocol in the `delphi` subdirectory, and FIN protocol in `fin` subdirectory. Each protocol contains a `context.rs` file, which contains a function named `spawn` from where the protocol's execution starts. This function is called by the `node` library in the `node` folder. This library contains a `main.rs` file, which spawns an instance of a node running the respective protocol by invoking the `spawn` function.&lt;/div&gt; &lt;p&gt;&nbsp;&lt;/p&gt; &lt;h1&gt;References&lt;/h1&gt; &lt;blockquote&gt; &lt;div&gt;[1] Duan, Sisi, Xin Wang, and Haibin Zhang. "Fin: Practical signature-free asynchronous common subset in constant time." In Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security, pp. 815-829. 2023.&lt;/div&gt; &lt;div&gt;&nbsp;&lt;/div&gt; &lt;div&gt;[2] Abraham, Ittai, Yonatan Amit, and Danny Dolev. "Optimal resilience asynchronous approximate agreement." In Principles of Distributed Systems: 8th International Conference, OPODIS 2004, Grenoble, France, December 15-17, 2004, Revised Selected Papers 8, pp. 229-239. Springer Berlin Heidelberg, 2005.&lt;/div&gt; &lt;/blockquote&gt

    The contribution of the United Nations to the development of international space law

    No full text
    The international legal framework for outer space activities has largely been developed through the consensus process within the Vienna-based United Nations Committee on the Peaceful Uses of Outer Space (UNCOPUOS), the primary multilateral fora dealing with the exploration and use of outer space for peaceful purposes. The UNCOPUOS has made a remarkable contribution to the development of the international regulatory framework for space through the adoption of five binding Treaties, five sets of United Nations General Assembly (UNGA) Principles, as well as an array of other ‘soft law’ instruments. This chapter examines the development of this international regulatory framework within the UNCOPUOS, and the major role it continues to play in promoting international cooperation in the field of space exploration. Lastly, it discusses the evolution of this framework within the security perspective of space activities addressed by the First Committee of the UNGA and in the Conference on Disarmament (CD)
    corecore