Coincheck Tech Blog
https://tech.coincheck.blog/
Coincheck Tech Blog
フィード
暗号資産交換所で脅威モデリングをしてみる
Coincheck Tech Blog
この記事はコインチェック株式会社(以下、コインチェック)のアドベントカレンダー23日目(シリーズ1)の記事です。 https://qiita.com/advent-calendar/2024/coincheck コインチェック セキュリティ部の喜屋武です。 本記事では、暗号資産交換所への脅威にどういったものがあるのか、脅威モデリングのフレームワークを用いて考えてみたいと思います。 なお、本記事中で実施する脅威モデリングは、筆者が本記事を執筆するにあたり試験的にシミュレートしたものであり、実業務の中で脅威モデリングを行った結果ではないことを注記しておきます。 1. 脅威モデリングとは脅威モデリン…
11日前
Squid Proxyを用いたドメインリスト制御はAWS Network Firewallで代替可能か?
Coincheck Tech Blog
はじめに この記事はコインチェック株式会社(以下、コインチェック)のアドベントカレンダー21日目(シリーズ1)の記事です。 https://qiita.com/advent-calendar/2024/coincheck アプリケーション基盤部 SRE Gのタカハシです。 弊社では、Coincheck サービスにおける暗号資産の送金や署名実行環境等の重要な処理を行うネットワークからインターネットへのアウトバウンド通信を厳密に管理するため、Squid Proxy等を用いてドメインリスト制限を実装してきました。以前、AWS Network Firewall(以下NFW)がドメインフィルタリングに対…
13日前
認定スクラムデベロッパー(CSD)になりました
Coincheck Tech Blog
">この記事はコインチェック株式会社(以下、コインチェック)のアドベントカレンダー19日目の記事です。 qiita.com "> はじめに 先日、認定スクラムデベロッパーを受講し無事認定をいただきました。 この記事ではどういった研修だったのか、何を学んだのかを備忘録として紹介していけたらと思います。 認定スクラムデベロッパーに興味のある方やこれから受講予定の方など、参考にしてもらえると嬉しいです。 受講した経緯 ウォーターフォールでの開発からスクラム開発に移行して1年ほど経ちました。 その中で、 本来のスクラムとはどうあるべきなのか 現状のスクラムを改善するとして、方向性はこれで良いのか など…
15日前
はじめてイチから社内ネットワークを構築してみた話
Coincheck Tech Blog
この記事はコインチェック株式会社のアドベントカレンダー17日目(シリーズ1)の記事です。 qiita.co 1. はじめに 社内システム部社内システムGの吉田です。普段は社内ネットワークの運用を行っています。一般的に情報システム部門、コーポレートIT部門などと呼ばれるところにあたります。 コインチェック本社は2024年7月に移転をしました。自分はそのプロジェクトにおいて、社内ネットワークの要件まとめから運用開始まですべて携わりました。今回の記事は、社内ネットワークの設計に関する前段階の準備や苦労したことなど記録として共有したいと思います。 2. ネットワーク機器発注前準備 旧本社の環境分析 新…
17日前
Pectra Upgrade解説(Ethereum)
Coincheck Tech Blog
はじめに みなさん、こんにちはこんばんは! コインチェックのクリプト入出金開発 Gでエンジニアをしているよーたです。 EthereumのPectra Upgradeが着々と近づいているので、今回はPectra Upgradeに含まれるEIPによる仕様変更について解説します。 この記事はコインチェック株式会社(以下、コインチェック)のアドベントカレンダー12日目(シリーズ1)の記事です。 コインチェック Advent Calendar 2024 概要 2025年~2026年にかけてEthereumにて実施予定のPectra Upgradeについて、個人的に注目しているEIPを解説します。 Pec…
22日前
Amazon Aurora I/O-OptimizedではI/O オペレーションの料金に目が行きがちだけど実はパフォーマンスも向上するかもしれない話
Coincheck Tech Blog
この記事はコインチェック株式会社のアドベントカレンダー9日目(シリーズ2)の記事です。 コインチェック株式会社のカレンダー | Advent Calendar 2024 - Qiita はじめに アプリケーション基盤部 SRE Gの萩原です。この記事では、Coincheckサービスの主要なデータベースとして利用するAurora MySQLにおいて、2023年5月頃にリリースされたAmazon Aurora I/O-Optimizedの機能についてお話しします。 Amazon Aurora I/O-Optimizedとは? Amazon Auroraで選択できる I/O-Optimizedとは、…
25日前
口座開設申請数が急激に増えた時に対応したこと
Coincheck Tech Blog
この記事はコインチェック株式会社(以下、コインチェック)のアドベントカレンダー5日目の記事です。 コインチェック Advent Calendar 2024 コインチェックの開発・人事本部カスタマーエクスペリエンス部というところに所属している衛藤です。 5日目の記事は、私が所属するカスタマーエクスペリエンス部の内容となります。 この記事では、カスタマーエクスペリエンス部のKYCグループ(口座開設を関する業務を行うグループ。KYCはKnow Your Customerの略となります。)の具体的な取り組みを紹介し、増加する口座開設申請に対する対応策を解説します。 ここ最近はビットコインなど暗号資産価…
1ヶ月前
Kaigi on Rails 2024に参加&登壇しました
Coincheck Tech Blog
この記事はコインチェック株式会社のアドベントカレンダー4日目(シリーズ1)の記事です。 qiita.com はじめに こんにちは。アプリケーション基盤グループでエンジニアをしている草間です。 2024年10月25日-26日に有明で開催された「Kaigi on Rails 2024」に、「サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話」というタイトルで登壇させて頂きましたので、参加&登壇レポートという形で記事を書こうと思います。 今回のプロポーザルを提出するきっかけや、私が所属するチームの紹介は別の記事で取り上げてもらっていますので、興味がある方はそちらも…
1ヶ月前
ビットコインの価格変動をアプリでお知らせする運用を楽にする開発をしました(後編)
Coincheck Tech Blog
この記事はコインチェック株式会社のアドベントカレンダー3日目(シリーズ2)の記事です。 コインチェック株式会社のカレンダー | Advent Calendar 2024 - Qiita はじめに 販売所事業部 バックエンドGの渡邊です。 この記事では昨日の前編に続いて、価格PUSH通知botの実装についてお話しします。 仕組みを考える 最初に価格変動のプッシュ通知運用の課題に対する解決案を考えた時、まず全自動化することを考えました。 やっていることはシンプルで、価格変動の検知とプッシュ通知がメインなので、これだけであればシステムによって自動化することができると思ったからです。 しかし、全自動化…
1ヶ月前
ビットコインの価格変動をアプリでお知らせする運用を楽にする開発をしました(前編)
Coincheck Tech Blog
この記事はコインチェック株式会社のアドベントカレンダー2日目(シリーズ2)の記事です。 コインチェック株式会社のカレンダー | Advent Calendar 2024 - Qiita はじめに 販売所事業部 バックエンドGの渡邊です。 今回、Coincheckの販売所で取り扱っているビットコインをはじめとした通貨に価格変動があったときにユーザーに向けてプッシュ通知するという作業の大部分を自動化したことと人的コストを削減した話について、前編と後編に分けてお話しします。 価格変動のプッシュ通知 Coincheckのアプリをインストールしているとこのようなプッシュ通知が届くことがあります。 ビット…
1ヶ月前
Gemini in BigQueryの精度を向上させるため、データの説明文をAIに生成させた話
Coincheck Tech Blog
1. 概要 2. 取り組んだ課題 3. ゴール設定 3.1 データの種類 3.2 2段階の目標 4. 実装内容 4.1 パターンマッチングによる特定箇所の抽出 4.2 Geminiによる説明文の生成 5. 苦労した点&工夫した点 5.1 生成AIによる表記ゆれ 5.2 テーブルデータとソースコードの紐付け 5.3 手動。ダメ。ゼッタイ。 6. 今後の展望 1. 概要 コインチェック株式会社(以下コインチェック)インターンの中許と申します。今回は、BigQueryの利便性を向上させるため、Gemini API (以下Gemini)を用いてテーブルデータの説明文を生成・付与した取り組みについてご紹…
1ヶ月前
Kaigi on Rails 2024 参加 レポート
Coincheck Tech Blog
">こんにちは!コインチェック株式会社(以下、コインチェック)の牟田です。 10/25~10/26の2日間開催された「Kaigi on Rails 2024」に参加するため有明セントラルタワー ホール&カンファレンスに行ってきました。 ということで、今回は「Kaigi on Rails 2024」の参加レポートをお届けします。 どのセッションも内容が濃く大変興味深かったのですが、個人的に印象的だったものをいくつかピックアップしてみます。 Day1 基調講演([Kaigi on Rails 2024] Rails Way, or the highway) speakerdeck.com ">「R…
2ヶ月前
HITCON Community 2024 参加記
Coincheck Tech Blog
HITCON Community 2024 参加記 セキュリティ部セキュリティGの小林です。 毎年、台湾で夏に開かれるセキュリティカンファレンスのHITCON Community 2024に参加しました。 国内でのセキュリティイベントには何度か参加しましたが、海外でのカンファレンスに一人で参加するのは初めての経験でした。台北で開催されたHITCON Community は世界中のハッカー、セキュリティ関係者が集まるイベントであり熱気に圧倒されました。 初めての海外 私はこれまで海外にいったことがなかったため、不安と期待を抱えながら台湾へ行きました。 8月の台湾はとても暑く北海道に住む私にとって…
2ヶ月前
ビジネスメタデータで Gemini in BigQuery の精度が大幅改善
Coincheck Tech Blog
概要 コインチェック株式会社(以下、コインチェック) データ基盤グループの吉田です。この記事では、Google Cloud の Gemini in BigQuery を利用したSQL作成のプロセスにおいて、データセットにビジネスメタデータを付与することで、どの程度精度が向上するのか検証した結果について紹介します。 背景 あらゆる業界において AI の利活用が進む中、データ分析の効率化はどの企業にとっても重要な課題です。弊社においても、データ基盤の利用促進にあたって生成 AI の利用を推進することは必要不可欠でした。 データ分析基盤としての BigQuery にデータセットを揃え、ユーザーライク…
3ヶ月前
わずか数名と数ヶ月で実現した、金融機関のデータ基盤リプレイスとデータドリブンな組織への貢献
Coincheck Tech Blog
コインチェック株式会社(以下、コインチェック) データ基盤グループの岩瀬です。今回は、暗号資産交換業者であるコインチェックで実施したデータ基盤のリプレイス事例と、そこから連続するデータ基盤拡充の取り組み、データドリブンな組織への貢献についてご紹介します。 TL; DR 暗号資産取引所を運営するコインチェックでは、運用されていたデータ基盤を、限られた技術リソースと短期限でモダンにリプレイスし、結果 インフラコスト90%削減 を実現しました。 Treasure Data で構築されていたデータ基盤の移行先として Google Cloud を選定し、3ヶ月で既存と同等のシステムを構築 して並列運用を…
4ヶ月前
Rubykaigi2024 参加レポート
Coincheck Tech Blog
みなさん、こんにちは。 Coincheckのクリプト入出金開発グループのよーたです。 Day2のRubykaigiの内容を中心にレポートしようと思います! セッション 2日目のセッションはruby committerである、Samuelさんのkey note: Leveraging Falcon and Rails for Real-Time Interactivity から開始となりました。 個人的に特に面白かったセッションを紹介します Leveraging Falcon and Rails for Real-Time Interactivity samuel さんの key note です…
8ヶ月前
Rubykaigi2024 参加レポート
Coincheck Tech Blog
こんにちは、Coincheckの牟田です。 5/15からの3日間、Rubykaigi2024で沖縄に来ています。この記事ではDay1レポートに続いてレポートしたいと思います! 会場の雰囲気 現地ではこんな感じで非常に賑わっています! 会場・ブース あじとやのカレー弁当 ajitoya.net おやつ オフィシャルパーティー 海沿いでのバーベキューでした。自分で焼いていくスタイルで他のRubyistと一緒に焼きながら色々とお話しました。 セッションについて 開幕冒頭のペンさんのセッションに始まり(Day1レポートをご覧ください)、 Ractorやパーサー、NameSpace、Falconなど興味…
8ヶ月前
RubyKaigi 2024 day1 レポート
Coincheck Tech Blog
こんにちは、Coincheck の日下です。 RubyKaigi 2024 に参加するため、沖縄に来ています! ということで、簡単に RubyKaigi Day1 をレポートします。 那覇空港にもポスター rubykaigi.org Day1、天候にも恵まれ、現地はとにかく熱気に包まれています。 @tompng さんの 「Writing Weird Code」 の Keynote で幕を開けましたが、とにかく 圧巻のセッションでした。 Weird Code として、いわゆる 奇妙なコード についてのセッションで、前半は短い 奇妙なコードの説明と、そこからの学び。後半は、 selftrick20…
8ヶ月前
AWSのコストを45%削減した話 その3 - CloudWatch編
Coincheck Tech Blog
こんにちは、SRE Gの渡邉です。Tech Blogは今回で4回目になります AWSのコストを45%削減した話 その3 色々なAWSサービスでの「節約系の積み上げ」、今回はCloudWatchについて書こうと思います。 その1を書いた頃に、30 MINUTES SISTERS を始めて、気づいたらアクリジョンが70色程度さらにU-35まで揃ってきてしまいました。 今回の対象 CloudWatch Metrics と CloudWatch Logs が対象です。 CloudWatch Metrics Metricsですがカスタムメトリクスはほとんど使っていないので取得系の費用が主な対象となります…
9ヶ月前
AWSのコストを45%削減した話 その2 - S3編
Coincheck Tech Blog
こんにちは、Datadogでメトリクスを眺めるのがとにかく大好きな SRE Gの渡邉です。Tech Blogは今回で3回目ですね 前回の AWSのコストを45%削減した話 の続きになります。 今回からは色々なAWSサービスでの「節約系の積み上げ」の詳細になります。で、今回はS3について書こうと思います。 何をどうするのか? S3のコストといえば、ユーザがアップロードするコンテンツや、ビッグデータ系のデータが定番ですが、Coincheckではサービスの性格上ユーザがアップロードするコンテンツはほとんどなく、またビッグデータ系も他のシステムを利用しているので、これらはほとんどありません。 その代わ…
10ヶ月前
XRP Ledger: Reservesと宛先タグの解説
Coincheck Tech Blog
1. はじめに こんにちは、セキュリティ部コールドウォレットグループと決算システム・リスティング部クリプト入出金開発グループを兼務している山崎です。昨年12月から新たにコールドウォレットグループの開発にも携わることになり、いわゆるブロックチェーンに関わる開発を色々とやらせていただいています。 過去にPolkadotのアドレス形式とリプレイプロテクションに関して記事を執筆しましたが、今回のテーマはXRP Ledger(以下、XRPL)です。XRPLはその独自性と、他のブロックチェーン技術との比較において興味深い特徴を持っています。この記事では、XRPLの基本的な概念から始め、特にPolkadot…
10ヶ月前
認可ロジックのパッケージ化 - モジュラーモノリスを採用してpackwerkを導入した話
Coincheck Tech Blog
はじめに こんにちは。アプリケーション基盤グループでエンジニアをしている草間です。 SECによるビットコイン現物ETF承認や、ビットコイン半減期の接近などの大きなテーマにより、暗号資産市場は盛り上がりを見せているように感じます。そんな中コインチェックでは、「新しい価値交換を、もっと身近に」のミッションに基づき、2024年に入ってからも実現損益チェッカーやCoincheckリワード、Coincheck OnRampなど、数々の新しいサービスをリリースしてきています。 コインチェックでは2014年に暗号資産取引サービスを開始して以来、様々なサービスが誕生してきました。多くのプロダクションコードが生…
10ヶ月前
AWSのコストを45%削減した話 その1
Coincheck Tech Blog
こんにちは、最近 30 MINUTES SISTERS にはまっている、SRE Gの渡邉です。今回で2回目になります。 昨今、AWSのコスト削減が流行っていたりするみたいですが、弊社も時流に遅れることなく?AWSのコスト削減を行ったので、その話を何回かにわけて書いていきたいと思います。 まずは成果から 絶対値はあれなので、数字はないですが、どん AWSのコストエクスプローラー、償却コスト、サービス別より 5月から12月で、およそ 45% の削減となっております。ってタイトルに既に書いていましたね。 なお、Reserved InstancesやSavings Plansで2、3月に期限が切れるも…
10ヶ月前
Ruby 3.2のYJITを有効化してみた
Coincheck Tech Blog
はじめに YJITとは YJITを有効化するための準備 YJITの有効化 パフォーマンスの確認 まとめ 終わりに はじめに こんにちは、NFT・メタバース事業部の牟田です。 この記事では、RubyKaigi2023でも発表(Optimizing YJIT’s Performance, from Inception to Production - RubyKaigi 2023)のあったYJITの有効化によるパフォーマンスの変化についてご紹介します。 Coincheck NFT(β版)のバックエンドではパフォーマンスにシビアな処理も多く、YJITの恩恵にあずかることを期待して試してみました。 結果…
1年前
2023年のコインチェックモバイルアプリのアーキテクチャー
Coincheck Tech Blog
MobileグループでiOSアプリの設計と実装を担当している山口と申します。 今回は2021年にリニューアルを行なったモバイルアプリのアーキテクチャーをリニューアルの過程を踏まえてご紹介したいと思います。 リニューアル前 リニューアル前の課題 2021年以前のCoincheckアプリは、MVVMライクなアーキテクチャーを採用していましたが、以下の点を課題として抱えていました。 各ViewModelごとに責務が異なっていて凝集度が低い API通信部分や複雑なロジックを持つ部分はManagerクラスに分けるなど大まかな責務の分離は整備されていたもののシステムアーキテクチャーは導入されていないため明…
1年前
RubyKaigi2023で紹介された gvl-tracing を Webサーバで試してみた
Coincheck Tech Blog
はじめに こんにちは、トレーディングシステム開発運用部の宮下です。今回初めて RubyKaigi2023 に参加しました。 このブログでは、個人的に一番おもしろかったセッション Understanding the Ruby Global VM Lock by observing it について実際にコードを動かして深掘っていこうと思います。 セッションについて 今回ご紹介するセッションは Datadog の Ivo Anjo さんのセッションとなります。 Ruby には 以下のような機能を提供するために Global VM Lock(以下 GVL) という機構が存在します。 Mutex Con…
2年前
【モバイルアプリ】テスタビリティ向上にむけ暗号資産購入画面を再設計しました
Coincheck Tech Blog
Mobileグループ 竹内と申します。主にモバイルアプリの設計とAndroidの実装を担当しています。 弊社販売所モバイルアプリ(以下、アプリ)の暗号資産購入画面(以下、購入画面)を、少し前にリファクタリングしました。本記事ではそのプロセスを、実装例とともにご紹介します1。 コードを本記事中に埋め込んでおります。量はやや多めですが、読み飛ばしていただいても本記事の趣旨は把握いただけると思います。 想定した読者像は「一般的なモバイルアプリのアーキテクチャ・設計・テスト手法について書籍などでひととおり学習したが、それらがどのように取り入れられているのか実例を知りたい方」になります。 アプリのアーキ…
2年前
iOS ネイティブでも Web3 Wallet アプリが作りたい!【後編】
Coincheck Tech Blog
こんにちは!モバイル グループで Coincheck iOS アプリを作っています高橋です。 前回に引き続き今回も Web3 Wallet の作成となります! まだ前回の記事を読んでいない方は、前編から読んでいただけるとこれ以降の内容もよりスムーズに理解できると思います! tech.coincheck.blog 実装前の注意! 今回の記事で利用している実装はあくまでも Web3 Wallet の仕組みや作り方を理解するための実装であり、製品として耐えうるようには設計されていません。 あくまでも参考としてご覧いただき、サンプルコードを製品としてそのまま組み込むことはご遠慮いただけますようお願いい…
2年前
iOS ネイティブでも Web3 Wallet アプリが作りたい!【前編】
Coincheck Tech Blog
こんにちは!Mobile グループで Coincheck iOS アプリを作っています高橋です。 今回は前々から興味を持って個人で勉強していた Web3 Wallet の作り方についてテックブログで出してみてはどうかとご提案をいただけたので稚拙ながら解説していこうと思います。 オープンソースのライブラリを利用しながら最低限の機能を持った Web3 Wallet を作成しようと思います! 実装前の注意! 今回の記事で利用している実装はあくまでも Web3 Wallet の仕組みや作り方を理解するための実装であり、製品として耐えうるようには設計されていません。 あくまでも参考としてご覧いただき、サ…
2年前
Fake Depositという脆弱性と取引所の対策
Coincheck Tech Blog
1. はじめに こんにちは、ウォレット開発運用部アプリケーション開発グループの山崎です。今回で5回目のテックブログ執筆となります。 今回はブロックチェーンの世界でたまに話題に上がるFake Depositという脆弱性と、それに対する取引所の対策手法について一例をあげて解説していきたいと思います。これを書くモチベーションとして英語では以下のDEPOSafeというFake Depositを検知するツールの論文など、Fake Depositについて解説している素晴らしい文献が存在するのですが、日本語では私が知る限りいい記事を見つけられなかったので、それなら自分で書いてしまおう!と思ったことにあります…
2年前